xref: /openbmc/linux/Documentation/devicetree/bindings/pinctrl/bitmain,bm1880-pinctrl.txt (revision 0898782247ae533d1f4e47a06bc5d4870931b284)
107b734fbSManivannan SadhasivamBitmain BM1880 Pin Controller
207b734fbSManivannan Sadhasivam
307b734fbSManivannan SadhasivamThis binding describes the pin controller found in the BM1880 SoC.
407b734fbSManivannan Sadhasivam
507b734fbSManivannan SadhasivamRequired Properties:
607b734fbSManivannan Sadhasivam
707b734fbSManivannan Sadhasivam- compatible:   Should be "bitmain,bm1880-pinctrl"
807b734fbSManivannan Sadhasivam- reg:          Offset and length of pinctrl space in SCTRL.
907b734fbSManivannan Sadhasivam
1007b734fbSManivannan SadhasivamPlease refer to pinctrl-bindings.txt in this directory for details of the
1107b734fbSManivannan Sadhasivamcommon pinctrl bindings used by client devices, including the meaning of the
1207b734fbSManivannan Sadhasivamphrase "pin configuration node".
1307b734fbSManivannan Sadhasivam
1407b734fbSManivannan SadhasivamThe pin configuration nodes act as a container for an arbitrary number of
1507b734fbSManivannan Sadhasivamsubnodes. Each of these subnodes represents some desired configuration for a
1607b734fbSManivannan Sadhasivampin, a group, or a list of pins or groups. This configuration for BM1880 SoC
17752a7403SManivannan Sadhasivamincludes pinmux and various pin configuration parameters, such as pull-up,
18752a7403SManivannan Sadhasivamslew rate etc...
1907b734fbSManivannan Sadhasivam
2007b734fbSManivannan SadhasivamEach configuration node can consist of multiple nodes describing the pinmux
2107b734fbSManivannan Sadhasivamoptions. The name of each subnode is not important; all subnodes should be
2207b734fbSManivannan Sadhasivamenumerated and processed purely based on their content.
2307b734fbSManivannan Sadhasivam
2407b734fbSManivannan SadhasivamThe following generic properties as defined in pinctrl-bindings.txt are valid
2507b734fbSManivannan Sadhasivamto specify in a pinmux subnode:
2607b734fbSManivannan Sadhasivam
2707b734fbSManivannan SadhasivamRequired Properties:
2807b734fbSManivannan Sadhasivam
2907b734fbSManivannan Sadhasivam- pins:           An array of strings, each string containing the name of a pin.
3007b734fbSManivannan Sadhasivam                  Valid values for pins are:
3107b734fbSManivannan Sadhasivam
3207b734fbSManivannan Sadhasivam                  MIO0 - MIO111
3307b734fbSManivannan Sadhasivam
3407b734fbSManivannan Sadhasivam- groups:         An array of strings, each string containing the name of a pin
3507b734fbSManivannan Sadhasivam                  group. Valid values for groups are:
3607b734fbSManivannan Sadhasivam
3707b734fbSManivannan Sadhasivam                  nand_grp, spi_grp, emmc_grp, sdio_grp, eth0_grp, pwm0_grp,
3807b734fbSManivannan Sadhasivam                  pwm1_grp, pwm2_grp, pwm3_grp, pwm4_grp, pwm5_grp, pwm6_grp,
3907b734fbSManivannan Sadhasivam                  pwm7_grp, pwm8_grp, pwm9_grp, pwm10_grp, pwm11_grp, pwm12_grp,
4007b734fbSManivannan Sadhasivam                  pwm13_grp, pwm14_grp, pwm15_grp, pwm16_grp, pwm17_grp,
4107b734fbSManivannan Sadhasivam                  pwm18_grp, pwm19_grp, pwm20_grp, pwm21_grp, pwm22_grp,
4207b734fbSManivannan Sadhasivam                  pwm23_grp, pwm24_grp, pwm25_grp, pwm26_grp, pwm27_grp,
4307b734fbSManivannan Sadhasivam                  pwm28_grp, pwm29_grp, pwm30_grp, pwm31_grp, pwm32_grp,
4407b734fbSManivannan Sadhasivam                  pwm33_grp, pwm34_grp, pwm35_grp, pwm36_grp, i2c0_grp,
4507b734fbSManivannan Sadhasivam                  i2c1_grp, i2c2_grp, i2c3_grp, i2c4_grp, uart0_grp, uart1_grp,
4607b734fbSManivannan Sadhasivam                  uart2_grp, uart3_grp, uart4_grp, uart5_grp, uart6_grp,
4707b734fbSManivannan Sadhasivam                  uart7_grp, uart8_grp, uart9_grp, uart10_grp, uart11_grp,
4807b734fbSManivannan Sadhasivam                  uart12_grp, uart13_grp, uart14_grp, uart15_grp, gpio0_grp,
4907b734fbSManivannan Sadhasivam                  gpio1_grp, gpio2_grp, gpio3_grp, gpio4_grp, gpio5_grp,
5007b734fbSManivannan Sadhasivam                  gpio6_grp, gpio7_grp, gpio8_grp, gpio9_grp, gpio10_grp,
5107b734fbSManivannan Sadhasivam                  gpio11_grp, gpio12_grp, gpio13_grp, gpio14_grp, gpio15_grp,
5207b734fbSManivannan Sadhasivam                  gpio16_grp, gpio17_grp, gpio18_grp, gpio19_grp, gpio20_grp,
5307b734fbSManivannan Sadhasivam                  gpio21_grp, gpio22_grp, gpio23_grp, gpio24_grp, gpio25_grp,
5407b734fbSManivannan Sadhasivam                  gpio26_grp, gpio27_grp, gpio28_grp, gpio29_grp, gpio30_grp,
5507b734fbSManivannan Sadhasivam                  gpio31_grp, gpio32_grp, gpio33_grp, gpio34_grp, gpio35_grp,
5607b734fbSManivannan Sadhasivam                  gpio36_grp, gpio37_grp, gpio38_grp, gpio39_grp, gpio40_grp,
5707b734fbSManivannan Sadhasivam                  gpio41_grp, gpio42_grp, gpio43_grp, gpio44_grp, gpio45_grp,
5807b734fbSManivannan Sadhasivam                  gpio46_grp, gpio47_grp, gpio48_grp, gpio49_grp, gpio50_grp,
5907b734fbSManivannan Sadhasivam                  gpio51_grp, gpio52_grp, gpio53_grp, gpio54_grp, gpio55_grp,
6007b734fbSManivannan Sadhasivam                  gpio56_grp, gpio57_grp, gpio58_grp, gpio59_grp, gpio60_grp,
6107b734fbSManivannan Sadhasivam                  gpio61_grp, gpio62_grp, gpio63_grp, gpio64_grp, gpio65_grp,
6207b734fbSManivannan Sadhasivam                  gpio66_grp, gpio67_grp, eth1_grp, i2s0_grp, i2s0_mclkin_grp,
6307b734fbSManivannan Sadhasivam                  i2s1_grp, i2s1_mclkin_grp, spi0_grp
6407b734fbSManivannan Sadhasivam
6507b734fbSManivannan Sadhasivam- function:       An array of strings, each string containing the name of the
6607b734fbSManivannan Sadhasivam                  pinmux functions. The following are the list of pinmux
6707b734fbSManivannan Sadhasivam                  functions available:
6807b734fbSManivannan Sadhasivam
6907b734fbSManivannan Sadhasivam                  nand, spi, emmc, sdio, eth0, pwm0, pwm1, pwm2, pwm3, pwm4,
7007b734fbSManivannan Sadhasivam                  pwm5, pwm6, pwm7, pwm8, pwm9, pwm10, pwm11, pwm12, pwm13,
7107b734fbSManivannan Sadhasivam                  pwm14, pwm15, pwm16, pwm17, pwm18, pwm19, pwm20, pwm21, pwm22,
7207b734fbSManivannan Sadhasivam                  pwm23, pwm24, pwm25, pwm26, pwm27, pwm28, pwm29, pwm30, pwm31,
7307b734fbSManivannan Sadhasivam                  pwm32, pwm33, pwm34, pwm35, pwm36, i2c0, i2c1, i2c2, i2c3,
7407b734fbSManivannan Sadhasivam                  i2c4, uart0, uart1, uart2, uart3, uart4, uart5, uart6, uart7,
7507b734fbSManivannan Sadhasivam                  uart8, uart9, uart10, uart11, uart12, uart13, uart14, uart15,
7607b734fbSManivannan Sadhasivam                  gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, gpio7, gpio8,
7707b734fbSManivannan Sadhasivam                  gpio9, gpio10, gpio11, gpio12, gpio13, gpio14, gpio15, gpio16,
7807b734fbSManivannan Sadhasivam                  gpio17, gpio18, gpio19, gpio20, gpio21, gpio22, gpio23,
7907b734fbSManivannan Sadhasivam                  gpio24, gpio25, gpio26, gpio27, gpio28, gpio29, gpio30,
8007b734fbSManivannan Sadhasivam                  gpio31, gpio32, gpio33, gpio34, gpio35, gpio36, gpio37,
8107b734fbSManivannan Sadhasivam                  gpio38, gpio39, gpio40, gpio41, gpio42, gpio43, gpio44,
8207b734fbSManivannan Sadhasivam                  gpio45, gpio46, gpio47, gpio48, gpio49, gpio50, gpio51,
8307b734fbSManivannan Sadhasivam                  gpio52, gpio53, gpio54, gpio55, gpio56, gpio57, gpio58,
8407b734fbSManivannan Sadhasivam                  gpio59, gpio60, gpio61, gpio62, gpio63, gpio64, gpio65,
8507b734fbSManivannan Sadhasivam                  gpio66, gpio67, eth1, i2s0, i2s0_mclkin, i2s1, i2s1_mclkin,
8607b734fbSManivannan Sadhasivam                  spi0
8707b734fbSManivannan Sadhasivam
88752a7403SManivannan SadhasivamOptional Properties:
89752a7403SManivannan Sadhasivam
90752a7403SManivannan Sadhasivam- bias-disable:  No arguments. Disable pin bias.
91752a7403SManivannan Sadhasivam- bias-pull-down: No arguments. The specified pins should be configured as
92752a7403SManivannan Sadhasivam                  pull down.
93752a7403SManivannan Sadhasivam- bias-pull-up:   No arguments. The specified pins should be configured as
94752a7403SManivannan Sadhasivam                  pull up.
95752a7403SManivannan Sadhasivam- input-schmitt-enable: No arguments: Enable schmitt trigger for the specified
96752a7403SManivannan Sadhasivam                  pins
97752a7403SManivannan Sadhasivam- input-schmitt-disable: No arguments: Disable schmitt trigger for the specified
98752a7403SManivannan Sadhasivam                  pins
99752a7403SManivannan Sadhasivam- slew-rate:      Integer. Sets slew rate for the specified pins.
100752a7403SManivannan Sadhasivam                  Valid values are:
101752a7403SManivannan Sadhasivam                  <0>  - Slow
102752a7403SManivannan Sadhasivam                  <1>  - Fast
103*7ea6a2edSManivannan Sadhasivam- drive-strength: Integer. Selects the drive strength for the specified
104*7ea6a2edSManivannan Sadhasivam                  pins in mA.
105*7ea6a2edSManivannan Sadhasivam                  Valid values are:
106*7ea6a2edSManivannan Sadhasivam                  <4>
107*7ea6a2edSManivannan Sadhasivam                  <8>
108*7ea6a2edSManivannan Sadhasivam                  <12>
109*7ea6a2edSManivannan Sadhasivam                  <16>
110*7ea6a2edSManivannan Sadhasivam                  <20>
111*7ea6a2edSManivannan Sadhasivam                  <24>
112*7ea6a2edSManivannan Sadhasivam                  <28>
113*7ea6a2edSManivannan Sadhasivam                  <32>
114752a7403SManivannan Sadhasivam
11507b734fbSManivannan SadhasivamExample:
11613531e5dSManivannan Sadhasivam        pinctrl: pinctrl@400 {
11707b734fbSManivannan Sadhasivam                compatible = "bitmain,bm1880-pinctrl";
11813531e5dSManivannan Sadhasivam                reg = <0x400 0x120>;
11907b734fbSManivannan Sadhasivam
12007b734fbSManivannan Sadhasivam                pinctrl_uart0_default: uart0-default {
12107b734fbSManivannan Sadhasivam                        pinmux {
12207b734fbSManivannan Sadhasivam                                groups = "uart0_grp";
12307b734fbSManivannan Sadhasivam                                function = "uart0";
12407b734fbSManivannan Sadhasivam                        };
12507b734fbSManivannan Sadhasivam                };
12607b734fbSManivannan Sadhasivam        };
127