~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/pinctrl/actions,s500-pinctrl.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/pinctrl/actions,s500-pinctrl.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Actions Semi S500 SoC pinmux & GPIO controller
  8 
  9 maintainers:
 10   - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
 11   - Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
 12 
 13 description: |
 14   Pinmux & GPIO controller manages pin multiplexing & configuration including
 15   GPIO function selection & GPIO attributes configuration. Please refer to
 16   pinctrl-bindings.txt in this directory for common binding part and usage.
 17 
 18 properties:
 19   compatible:
 20     const: actions,s500-pinctrl
 21 
 22   reg:
 23     items:
 24       - description: GPIO Output + GPIO Input + GPIO Data
 25       - description: Multiplexing Control
 26       - description: PAD Pull Control + PAD Schmitt Trigger Enable + PAD Control
 27       - description: PAD Drive Capacity Select
 28     minItems: 1
 29 
 30   clocks:
 31     maxItems: 1
 32 
 33   gpio-controller: true
 34 
 35   gpio-ranges:
 36     maxItems: 1
 37 
 38   '#gpio-cells':
 39     description:
 40       Specifies the pin number and flags, as defined in
 41       include/dt-bindings/gpio/gpio.h
 42     const: 2
 43 
 44   interrupt-controller: true
 45 
 46   '#interrupt-cells':
 47     description:
 48       Specifies the pin number and flags, as defined in
 49       include/dt-bindings/interrupt-controller/irq.h
 50     const: 2
 51 
 52   interrupts:
 53     description:
 54       One interrupt per each of the 5 GPIO ports supported by the controller,
 55       sorted by port number ascending order.
 56     minItems: 5
 57     maxItems: 5
 58 
 59 patternProperties:
 60   '-pins$':
 61     type: object
 62     patternProperties:
 63       '^(.*-)?pinmux$':
 64         type: object
 65         description:
 66           Pinctrl node's client devices specify pin muxes using subnodes,
 67           which in turn use the standard properties below.
 68         $ref: pinmux-node.yaml#
 69 
 70         properties:
 71           groups:
 72             description:
 73               List of gpio pin groups affected by the functions specified in
 74               this subnode.
 75             items:
 76               oneOf:
 77                 - enum: [lcd0_d18_mfp, rmii_crs_dv_mfp, rmii_txd0_mfp,
 78                          rmii_txd1_mfp, rmii_txen_mfp, rmii_rxen_mfp, rmii_rxd1_mfp,
 79                          rmii_rxd0_mfp, rmii_ref_clk_mfp, i2s_d0_mfp, i2s_pcm1_mfp,
 80                          i2s0_pcm0_mfp, i2s1_pcm0_mfp, i2s_d1_mfp, ks_in2_mfp,
 81                          ks_in1_mfp, ks_in0_mfp, ks_in3_mfp, ks_out0_mfp,
 82                          ks_out1_mfp, ks_out2_mfp, lvds_o_pn_mfp, dsi_dn0_mfp,
 83                          dsi_dp2_mfp, lcd0_d17_mfp, dsi_dp3_mfp, dsi_dn3_mfp,
 84                          dsi_dp0_mfp, lvds_ee_pn_mfp, spi0_i2c_pcm_mfp,
 85                          spi0_i2s_pcm_mfp, dsi_dnp1_cp_mfp, lvds_e_pn_mfp,
 86                          dsi_dn2_mfp, uart2_rtsb_mfp, uart2_ctsb_mfp, uart3_rtsb_mfp,
 87                          uart3_ctsb_mfp, sd0_d0_mfp, sd0_d1_mfp, sd0_d2_d3_mfp,
 88                          sd1_d0_d3_mfp, sd0_cmd_mfp, sd0_clk_mfp, sd1_cmd_mfp,
 89                          uart0_rx_mfp, clko_25m_mfp, csi_cn_cp_mfp, sens0_ckout_mfp,
 90                          uart0_tx_mfp, i2c0_mfp, csi_dn_dp_mfp, sen0_pclk_mfp,
 91                          pcm1_in_mfp, pcm1_clk_mfp, pcm1_sync_mfp, pcm1_out_mfp,
 92                          dnand_data_wr_mfp, dnand_acle_ce0_mfp, nand_ceb2_mfp,
 93                          nand_ceb3_mfp]
 94             minItems: 1
 95             maxItems: 32
 96 
 97           function:
 98             description:
 99               Specify the alternative function to be configured for the
100               given gpio pin groups.
101             enum: [nor, eth_rmii, eth_smii, spi0, spi1, spi2, spi3, sens0,
102                    sens1, uart0, uart1, uart2, uart3, uart4, uart5, uart6, i2s0,
103                    i2s1, pcm1, pcm0, ks, jtag, pwm0, pwm1, pwm2, pwm3, pwm4, pwm5,
104                    p0, sd0, sd1, sd2, i2c0, i2c1, i2c3, dsi, lvds, usb30, clko_25m,
105                    mipi_csi, nand, spdif, ts, lcd0]
106 
107         required:
108           - groups
109           - function
110 
111         additionalProperties: false
112 
113       '^(.*-)?pinconf$':
114         type: object
115         description:
116           Pinctrl node's client devices specify pin configurations using
117           subnodes, which in turn use the standard properties below.
118         $ref: pincfg-node.yaml#
119 
120         properties:
121           groups:
122             description:
123               List of gpio pin groups affected by the drive-strength property
124               specified in this subnode.
125             items:
126               oneOf:
127                 - enum: [sirq_drv, rmii_txd01_txen_drv, rmii_rxer_drv,
128                          rmii_crs_drv, rmii_rxd10_drv, rmii_ref_clk_drv,
129                          smi_mdc_mdio_drv, i2s_d0_drv, i2s_bclk0_drv, i2s3_drv,
130                          i2s13_drv, pcm1_drv, ks_in_drv, ks_out_drv, lvds_all_drv,
131                          lcd_dsi_drv, dsi_drv, sd0_d0_d3_drv, sd1_d0_d3_drv,
132                          sd0_cmd_drv, sd0_clk_drv, sd1_cmd_drv, sd1_clk_drv,
133                          spi0_all_drv, uart0_rx_drv, uart0_tx_drv, uart2_all_drv,
134                          i2c0_all_drv, i2c12_all_drv, sens0_pclk_drv,
135                          sens0_ckout_drv, uart3_all_drv]
136             minItems: 1
137             maxItems: 32
138 
139           pins:
140             description:
141               List of gpio pins affected by the bias-pull-* and
142               input-schmitt-* properties specified in this subnode.
143             items:
144               oneOf:
145                 - enum: [dnand_dqs, dnand_dqsn, eth_txd0, eth_txd1, eth_txen,
146                          eth_rxer, eth_crs_dv, eth_rxd1, eth_rxd0, eth_ref_clk,
147                          eth_mdc, eth_mdio, sirq0, sirq1, sirq2, i2s_d0, i2s_bclk0,
148                          i2s_lrclk0, i2s_mclk0, i2s_d1, i2s_bclk1, i2s_lrclk1,
149                          i2s_mclk1, ks_in0, ks_in1, ks_in2, ks_in3, ks_out0, ks_out1,
150                          ks_out2, lvds_oep, lvds_oen, lvds_odp, lvds_odn, lvds_ocp,
151                          lvds_ocn, lvds_obp, lvds_obn, lvds_oap, lvds_oan, lvds_eep,
152                          lvds_een, lvds_edp, lvds_edn, lvds_ecp, lvds_ecn, lvds_ebp,
153                          lvds_ebn, lvds_eap, lvds_ean, lcd0_d18, lcd0_d17, dsi_dp3,
154                          dsi_dn3, dsi_dp1, dsi_dn1, dsi_cp, dsi_cn, dsi_dp0, dsi_dn0,
155                          dsi_dp2, dsi_dn2, sd0_d0, sd0_d1, sd0_d2, sd0_d3, sd1_d0,
156                          sd1_d1, sd1_d2, sd1_d3, sd0_cmd, sd0_clk, sd1_cmd, sd1_clk,
157                          spi0_sclk, spi0_ss, spi0_miso, spi0_mosi, uart0_rx,
158                          uart0_tx, i2c0_sclk, i2c0_sdata, sensor0_pclk,
159                          sensor0_ckout, dnand_ale, dnand_cle, dnand_ceb0, dnand_ceb1,
160                          dnand_ceb2, dnand_ceb3, uart2_rx, uart2_tx, uart2_rtsb,
161                          uart2_ctsb, uart3_rx, uart3_tx, uart3_rtsb, uart3_ctsb,
162                          pcm1_in, pcm1_clk, pcm1_sync, pcm1_out, i2c1_sclk,
163                          i2c1_sdata, i2c2_sclk, i2c2_sdata, csi_dn0, csi_dp0,
164                          csi_dn1, csi_dp1, csi_dn2, csi_dp2, csi_dn3, csi_dp3,
165                          csi_cn, csi_cp, dnand_d0, dnand_d1, dnand_d2, dnand_d3,
166                          dnand_d4, dnand_d5, dnand_d6, dnand_d7, dnand_rb, dnand_rdb,
167                          dnand_rdbn, dnand_wrb, porb, clko_25m, bsel, pkg0, pkg1,
168                          pkg2, pkg3]
169             minItems: 1
170             maxItems: 64
171 
172           bias-pull-up: true
173           bias-pull-down: true
174 
175           drive-strength:
176             description:
177               Selects the drive strength for the specified pins, in mA.
178             enum: [2, 4, 8, 12]
179 
180           input-schmitt-enable: true
181           input-schmitt-disable: true
182 
183         additionalProperties: false
184 
185     additionalProperties: false
186 
187 allOf:
188   - $ref: pinctrl.yaml#
189 
190 required:
191   - compatible
192   - reg
193   - clocks
194   - gpio-controller
195   - gpio-ranges
196   - '#gpio-cells'
197   - interrupt-controller
198   - '#interrupt-cells'
199   - interrupts
200 
201 additionalProperties: false
202 
203 examples:
204   - |
205     #include <dt-bindings/interrupt-controller/arm-gic.h>
206     pinctrl: pinctrl@b01b0000 {
207         compatible = "actions,s500-pinctrl";
208         reg = <0xb01b0000 0x40>, <0xb01b0040 0x10>,
209               <0xb01b0060 0x18>, <0xb01b0080 0xc>;
210         clocks = <&cmu 55>;
211         gpio-controller;
212         gpio-ranges = <&pinctrl 0 0 132>;
213         #gpio-cells = <2>;
214         interrupt-controller;
215         #interrupt-cells = <2>;
216         interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
217                      <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
218                      <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
219                      <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
220                      <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
221 
222         mmc0_pins: mmc0-pins {
223             pinmux {
224                 groups = "sd0_d0_mfp", "sd0_d1_mfp", "sd0_d2_d3_mfp",
225                          "sd0_cmd_mfp", "sd0_clk_mfp";
226                 function = "sd0";
227             };
228 
229             drv-pinconf {
230                 groups = "sd0_d0_d3_drv", "sd0_cmd_drv", "sd0_clk_drv";
231                 drive-strength = <8>;
232             };
233 
234             bias-pinconf {
235                 pins = "sd0_d0", "sd0_d1", "sd0_d2",
236                        "sd0_d3", "sd0_cmd";
237                 bias-pull-up;
238             };
239         };
240     };
241 
242 ...

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php