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

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/pinctrl/actions,s900-pinctrl.txt

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 Actions Semi S900 Pin Controller
  2 
  3 This binding describes the pin controller found in the S900 SoC.
  4 
  5 Required Properties:
  6 
  7 - compatible:   Should be "actions,s900-pinctrl"
  8 - reg:          Should contain the register base address and size of
  9                 the pin controller.
 10 - clocks:       phandle of the clock feeding the pin controller
 11 - gpio-controller: Marks the device node as a GPIO controller.
 12 - gpio-ranges: Specifies the mapping between gpio controller and
 13                pin-controller pins.
 14 - #gpio-cells: Should be two. The first cell is the gpio pin number
 15                and the second cell is used for optional parameters.
 16 - interrupt-controller: Marks the device node as an interrupt controller.
 17 - #interrupt-cells: Specifies the number of cells needed to encode an
 18                     interrupt.  Shall be set to 2.  The first cell
 19                     defines the interrupt number, the second encodes
 20                     the trigger flags described in
 21                     bindings/interrupt-controller/interrupts.txt
 22 - interrupts: The interrupt outputs from the controller. There is one GPIO
 23               interrupt per GPIO bank. The number of interrupts listed depends
 24               on the number of GPIO banks on the SoC. The interrupts must be
 25               ordered by bank, starting with bank 0.
 26 
 27 Please refer to pinctrl-bindings.txt in this directory for details of the
 28 common pinctrl bindings used by client devices, including the meaning of the
 29 phrase "pin configuration node".
 30 
 31 The pin configuration nodes act as a container for an arbitrary number of
 32 subnodes. Each of these subnodes represents some desired configuration for a
 33 pin, a group, or a list of pins or groups. This configuration can include the
 34 mux function to select on those group(s), and various pin configuration
 35 parameters, such as pull-up, drive strength, etc.
 36 
 37 PIN CONFIGURATION NODES:
 38 
 39 The name of each subnode is not important; all subnodes should be enumerated
 40 and processed purely based on their content.
 41 
 42 Each subnode only affects those parameters that are explicitly listed. In
 43 other words, a subnode that lists a mux function but no pin configuration
 44 parameters implies no information about any pin configuration parameters.
 45 Similarly, a pin subnode that describes a pullup parameter implies no
 46 information about e.g. the mux function.
 47 
 48 Pinmux functions are available only for the pin groups while pinconf
 49 parameters are available for both pin groups and individual pins.
 50 
 51 The following generic properties as defined in pinctrl-bindings.txt are valid
 52 to specify in a pin configuration subnode:
 53 
 54 Required Properties:
 55 
 56 - pins:           An array of strings, each string containing the name of a pin.
 57                   These pins are used for selecting the pull control and schmitt
 58                   trigger parameters. The following are the list of pins
 59                   available:
 60 
 61                   eth_txd0, eth_txd1, eth_txen, eth_rxer, eth_crs_dv,
 62                   eth_rxd1, eth_rxd0, eth_ref_clk, eth_mdc, eth_mdio,
 63                   sirq0, sirq1, sirq2, i2s_d0, i2s_bclk0, i2s_lrclk0,
 64                   i2s_mclk0, i2s_d1, i2s_bclk1, i2s_lrclk1, i2s_mclk1,
 65                   pcm1_in, pcm1_clk, pcm1_sync, pcm1_out, eram_a5,
 66                   eram_a6, eram_a7, eram_a8, eram_a9, eram_a10, eram_a11,
 67                   lvds_oep, lvds_oen, lvds_odp, lvds_odn, lvds_ocp,
 68                   lvds_ocn, lvds_obp, lvds_obn, lvds_oap, lvds_oan,
 69                   lvds_eep, lvds_een, lvds_edp, lvds_edn, lvds_ecp,
 70                   lvds_ecn, lvds_ebp, lvds_ebn, lvds_eap, lvds_ean,
 71                   sd0_d0, sd0_d1, sd0_d2, sd0_d3, sd1_d0, sd1_d1,
 72                   sd1_d2, sd1_d3, sd0_cmd, sd0_clk, sd1_cmd, sd1_clk,
 73                   spi0_sclk, spi0_ss, spi0_miso, spi0_mosi, uart0_rx,
 74                   uart0_tx, uart2_rx, uart2_tx, uart2_rtsb, uart2_ctsb,
 75                   uart3_rx, uart3_tx, uart3_rtsb, uart3_ctsb, uart4_rx,
 76                   uart4_tx, i2c0_sclk, i2c0_sdata, i2c1_sclk, i2c1_sdata,
 77                   i2c2_sclk, i2c2_sdata, csi0_dn0, csi0_dp0, csi0_dn1,
 78                   csi0_dp1, csi0_cn, csi0_cp, csi0_dn2, csi0_dp2, csi0_dn3,
 79                   csi0_dp3, dsi_dp3, dsi_dn3, dsi_dp1, dsi_dn1, dsi_cp,
 80                   dsi_cn, dsi_dp0, dsi_dn0, dsi_dp2, dsi_dn2, sensor0_pclk,
 81                   csi1_dn0,csi1_dp0,csi1_dn1, csi1_dp1, csi1_cn, csi1_cp,
 82                   sensor0_ckout, nand0_d0, nand0_d1, nand0_d2, nand0_d3,
 83                   nand0_d4, nand0_d5, nand0_d6, nand0_d7, nand0_dqs,
 84                   nand0_dqsn, nand0_ale, nand0_cle, nand0_ceb0, nand0_ceb1,
 85                   nand0_ceb2, nand0_ceb3, nand1_d0, nand1_d1, nand1_d2,
 86                   nand1_d3, nand1_d4, nand1_d5, nand1_d6, nand1_d7, nand1_dqs,
 87                   nand1_dqsn, nand1_ale, nand1_cle, nand1_ceb0, nand1_ceb1,
 88                   nand1_ceb2, nand1_ceb3, sgpio0, sgpio1, sgpio2, sgpio3
 89 
 90 - groups:         An array of strings, each string containing the name of a pin
 91                   group. These pin groups are used for selecting the pinmux
 92                   functions.
 93 
 94                   lvds_oxx_uart4_mfp, rmii_mdc_mfp, rmii_mdio_mfp, sirq0_mfp,
 95                   sirq1_mfp, rmii_txd0_mfp, rmii_txd1_mfp, rmii_txen_mfp,
 96                   rmii_rxer_mfp, rmii_crs_dv_mfp, rmii_rxd1_mfp, rmii_rxd0_mfp,
 97                   rmii_ref_clk_mfp, i2s_d0_mfp, i2s_d1_mfp, i2s_lr_m_clk0_mfp,
 98                   i2s_bclk0_mfp, i2s_bclk1_mclk1_mfp, pcm1_in_out_mfp,
 99                   pcm1_clk_mfp, pcm1_sync_mfp, eram_a5_mfp, eram_a6_mfp,
100                   eram_a7_mfp, eram_a8_mfp, eram_a9_mfp, eram_a10_mfp,
101                   eram_a11_mfp, lvds_oep_odn_mfp, lvds_ocp_obn_mfp,
102                   lvds_oap_oan_mfp, lvds_e_mfp, spi0_sclk_mosi_mfp, spi0_ss_mfp,
103                   spi0_miso_mfp, uart2_rtsb_mfp, uart2_ctsb_mfp, uart3_rtsb_mfp,
104                   uart3_ctsb_mfp, sd0_d0_mfp, sd0_d1_mfp, sd0_d2_d3_mfp,
105                   sd1_d0_d3_mfp, sd0_cmd_mfp, sd0_clk_mfp, sd1_cmd_clk_mfp,
106                   uart0_rx_mfp, nand0_d0_ceb3_mfp, uart0_tx_mfp, i2c0_mfp,
107                   csi0_cn_cp_mfp, csi0_dn0_dp3_mfp, csi1_dn0_cp_mfp,
108                   dsi_dp3_dn1_mfp, dsi_cp_dn0_mfp, dsi_dp2_dn2_mfp,
109                   nand1_d0_ceb1_mfp, nand1_ceb3_mfp, nand1_ceb0_mfp,
110                   csi1_dn0_dp0_mfp, uart4_rx_tx_mfp
111 
112 
113                   These pin groups are used for selecting the drive strength
114                   parameters.
115 
116                   sgpio3_drv, sgpio2_drv, sgpio1_drv, sgpio0_drv,
117                   rmii_tx_d0_d1_drv, rmii_txen_rxer_drv, rmii_crs_dv_drv,
118                   rmii_rx_d1_d0_drv, rmii_ref_clk_drv, rmii_mdc_mdio_drv,
119                   sirq_0_1_drv, sirq2_drv, i2s_d0_d1_drv, i2s_lr_m_clk0_drv,
120                   i2s_blk1_mclk1_drv, pcm1_in_out_drv, lvds_oap_oan_drv,
121                   lvds_oep_odn_drv, lvds_ocp_obn_drv, lvds_e_drv, sd0_d3_d0_drv,
122                   sd1_d3_d0_drv, sd0_sd1_cmd_clk_drv, spi0_sclk_mosi_drv,
123                   spi0_ss_miso_drv, uart0_rx_tx_drv, uart4_rx_tx_drv, uart2_drv,
124                   uart3_drv, i2c0_drv, i2c1_drv, i2c2_drv, sensor0_drv
125 
126                   These pin groups are used for selecting the slew rate
127                   parameters.
128 
129                   sgpio3_sr, sgpio2_sr, sgpio1_sr, sgpio0_sr, rmii_tx_d0_d1_sr,
130                   rmii_txen_rxer_sr, rmii_crs_dv_sr, rmii_rx_d1_d0_sr,
131                   rmii_ref_clk_sr, rmii_mdc_mdio_sr, sirq_0_1_sr, sirq2_sr,
132                   i2s_do_d1_sr, i2s_lr_m_clk0_sr, i2s_bclk0_mclk1_sr,
133                   pcm1_in_out_sr, sd1_d3_d0_sr, sd0_sd1_clk_cmd_sr,
134                   spi0_sclk_mosi_sr, spi0_ss_miso_sr, uart0_rx_tx_sr,
135                   uart4_rx_tx_sr, uart2_sr, uart3_sr, i2c0_sr, i2c1_sr, i2c2_sr,
136                   sensor0_sr
137 
138 - function:       An array of strings, each string containing the name of the
139                   pinmux functions. These functions can only be selected by
140                   the corresponding pin groups. The following are the list of
141                   pinmux functions available:
142 
143                   eram, eth_rmii, eth_smii, spi0, spi1, spi2, spi3, sens0,
144                   uart0, uart1, uart2, uart3, uart4, uart5, uart6, i2s0, i2s1,
145                   pcm0, pcm1, jtag, pwm0, pwm1, pwm2, pwm3, pwm4, pwm5, sd0,
146                   sd1, sd2, sd3, i2c0, i2c1, i2c2, i2c3, i2c4, i2c5, lvds,
147                   usb30, usb20, gpu, mipi_csi0, mipi_csi1, mipi_dsi, nand0,
148                   nand1, spdif, sirq0, sirq1, sirq2
149 
150 Optional Properties:
151 
152 - bias-bus-hold:  No arguments. The specified pins should retain the previous
153                   state value.
154 - bias-high-impedance: No arguments. The specified pins should be configured
155                   as high impedance.
156 - bias-pull-down: No arguments. The specified pins should be configured as
157                   pull down.
158 - bias-pull-up:   No arguments. The specified pins should be configured as
159                   pull up.
160 - input-schmitt-enable: No arguments: Enable schmitt trigger for the specified
161                   pins
162 - input-schmitt-disable: No arguments: Disable schmitt trigger for the specified
163                   pins
164 - slew-rate:      Integer. Sets slew rate for the specified pins.
165                   Valid values are:
166                   <0>  - Slow
167                   <1>  - Fast
168 - drive-strength: Integer. Selects the drive strength for the specified
169                   pins in mA.
170                   Valid values are:
171                   <2>
172                   <4>
173                   <8>
174                   <12>
175 
176 Example:
177 
178           pinctrl: pinctrl@e01b0000 {
179                   compatible = "actions,s900-pinctrl";
180                   reg = <0x0 0xe01b0000 0x0 0x1000>;
181                   clocks = <&cmu CLK_GPIO>;
182                   gpio-controller;
183                   gpio-ranges = <&pinctrl 0 0 146>;
184                   #gpio-cells = <2>;
185                   interrupt-controller;
186                   #interrupt-cells = <2>;
187                   interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
188                                <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
189                                <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
190                                <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
191                                <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
192                                <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
193 
194                   uart2-default: uart2-default {
195                           pinmux {
196                                   groups = "lvds_oep_odn_mfp";
197                                   function = "uart2";
198                           };
199                           pinconf {
200                                   groups = "lvds_oep_odn_drv";
201                                   drive-strength = <12>;
202                           };
203                   };
204           };

~ [ 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