xref: /linux/Documentation/devicetree/bindings/pinctrl/bitmain,bm1880-pinctrl.yaml (revision a110f942672c8995dc1cacb5a44c6730856743aa)
1*a419bc0fSRob Herring (Arm)# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*a419bc0fSRob Herring (Arm)%YAML 1.2
3*a419bc0fSRob Herring (Arm)---
4*a419bc0fSRob Herring (Arm)$id: http://devicetree.org/schemas/pinctrl/bitmain,bm1880-pinctrl.yaml#
5*a419bc0fSRob Herring (Arm)$schema: http://devicetree.org/meta-schemas/core.yaml#
6*a419bc0fSRob Herring (Arm)
7*a419bc0fSRob Herring (Arm)title: Bitmain BM1880 Pin Controller
8*a419bc0fSRob Herring (Arm)
9*a419bc0fSRob Herring (Arm)maintainers:
10*a419bc0fSRob Herring (Arm)  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
11*a419bc0fSRob Herring (Arm)
12*a419bc0fSRob Herring (Arm)properties:
13*a419bc0fSRob Herring (Arm)  compatible:
14*a419bc0fSRob Herring (Arm)    const: bitmain,bm1880-pinctrl
15*a419bc0fSRob Herring (Arm)
16*a419bc0fSRob Herring (Arm)  reg:
17*a419bc0fSRob Herring (Arm)    maxItems: 1
18*a419bc0fSRob Herring (Arm)
19*a419bc0fSRob Herring (Arm)additionalProperties:
20*a419bc0fSRob Herring (Arm)  description: A pin configuration node.
21*a419bc0fSRob Herring (Arm)  type: object
22*a419bc0fSRob Herring (Arm)  additionalProperties: false
23*a419bc0fSRob Herring (Arm)
24*a419bc0fSRob Herring (Arm)  properties:
25*a419bc0fSRob Herring (Arm)    pinmux:
26*a419bc0fSRob Herring (Arm)      type: object
27*a419bc0fSRob Herring (Arm)      description: Pin multiplexing parameters.
28*a419bc0fSRob Herring (Arm)      allOf:
29*a419bc0fSRob Herring (Arm)        - $ref: /schemas/pinctrl/pincfg-node.yaml#
30*a419bc0fSRob Herring (Arm)        - $ref: /schemas/pinctrl/pinmux-node.yaml#
31*a419bc0fSRob Herring (Arm)      additionalProperties: false
32*a419bc0fSRob Herring (Arm)
33*a419bc0fSRob Herring (Arm)      properties:
34*a419bc0fSRob Herring (Arm)        pins:
35*a419bc0fSRob Herring (Arm)          items:
36*a419bc0fSRob Herring (Arm)            pattern: '^MIO[0-9]+$'
37*a419bc0fSRob Herring (Arm)
38*a419bc0fSRob Herring (Arm)        groups:
39*a419bc0fSRob Herring (Arm)          items:
40*a419bc0fSRob Herring (Arm)            enum: [
41*a419bc0fSRob Herring (Arm)              nand_grp, spi_grp, emmc_grp, sdio_grp, eth0_grp, pwm0_grp,
42*a419bc0fSRob Herring (Arm)              pwm1_grp, pwm2_grp, pwm3_grp, pwm4_grp, pwm5_grp, pwm6_grp,
43*a419bc0fSRob Herring (Arm)              pwm7_grp, pwm8_grp, pwm9_grp, pwm10_grp, pwm11_grp, pwm12_grp,
44*a419bc0fSRob Herring (Arm)              pwm13_grp, pwm14_grp, pwm15_grp, pwm16_grp, pwm17_grp,
45*a419bc0fSRob Herring (Arm)              pwm18_grp, pwm19_grp, pwm20_grp, pwm21_grp, pwm22_grp,
46*a419bc0fSRob Herring (Arm)              pwm23_grp, pwm24_grp, pwm25_grp, pwm26_grp, pwm27_grp,
47*a419bc0fSRob Herring (Arm)              pwm28_grp, pwm29_grp, pwm30_grp, pwm31_grp, pwm32_grp,
48*a419bc0fSRob Herring (Arm)              pwm33_grp, pwm34_grp, pwm35_grp, pwm36_grp, i2c0_grp,
49*a419bc0fSRob Herring (Arm)              i2c1_grp, i2c2_grp, i2c3_grp, i2c4_grp, uart0_grp, uart1_grp,
50*a419bc0fSRob Herring (Arm)              uart2_grp, uart3_grp, uart4_grp, uart5_grp, uart6_grp,
51*a419bc0fSRob Herring (Arm)              uart7_grp, uart8_grp, uart9_grp, uart10_grp, uart11_grp,
52*a419bc0fSRob Herring (Arm)              uart12_grp, uart13_grp, uart14_grp, uart15_grp, gpio0_grp,
53*a419bc0fSRob Herring (Arm)              gpio1_grp, gpio2_grp, gpio3_grp, gpio4_grp, gpio5_grp,
54*a419bc0fSRob Herring (Arm)              gpio6_grp, gpio7_grp, gpio8_grp, gpio9_grp, gpio10_grp,
55*a419bc0fSRob Herring (Arm)              gpio11_grp, gpio12_grp, gpio13_grp, gpio14_grp, gpio15_grp,
56*a419bc0fSRob Herring (Arm)              gpio16_grp, gpio17_grp, gpio18_grp, gpio19_grp, gpio20_grp,
57*a419bc0fSRob Herring (Arm)              gpio21_grp, gpio22_grp, gpio23_grp, gpio24_grp, gpio25_grp,
58*a419bc0fSRob Herring (Arm)              gpio26_grp, gpio27_grp, gpio28_grp, gpio29_grp, gpio30_grp,
59*a419bc0fSRob Herring (Arm)              gpio31_grp, gpio32_grp, gpio33_grp, gpio34_grp, gpio35_grp,
60*a419bc0fSRob Herring (Arm)              gpio36_grp, gpio37_grp, gpio38_grp, gpio39_grp, gpio40_grp,
61*a419bc0fSRob Herring (Arm)              gpio41_grp, gpio42_grp, gpio43_grp, gpio44_grp, gpio45_grp,
62*a419bc0fSRob Herring (Arm)              gpio46_grp, gpio47_grp, gpio48_grp, gpio49_grp, gpio50_grp,
63*a419bc0fSRob Herring (Arm)              gpio51_grp, gpio52_grp, gpio53_grp, gpio54_grp, gpio55_grp,
64*a419bc0fSRob Herring (Arm)              gpio56_grp, gpio57_grp, gpio58_grp, gpio59_grp, gpio60_grp,
65*a419bc0fSRob Herring (Arm)              gpio61_grp, gpio62_grp, gpio63_grp, gpio64_grp, gpio65_grp,
66*a419bc0fSRob Herring (Arm)              gpio66_grp, gpio67_grp, eth1_grp, i2s0_grp, i2s0_mclkin_grp,
67*a419bc0fSRob Herring (Arm)              i2s1_grp, i2s1_mclkin_grp, spi0_grp
68*a419bc0fSRob Herring (Arm)            ]
69*a419bc0fSRob Herring (Arm)
70*a419bc0fSRob Herring (Arm)        function:
71*a419bc0fSRob Herring (Arm)          items:
72*a419bc0fSRob Herring (Arm)            enum: [
73*a419bc0fSRob Herring (Arm)              nand, spi, emmc, sdio, eth0, pwm0, pwm1, pwm2, pwm3, pwm4,
74*a419bc0fSRob Herring (Arm)              pwm5, pwm6, pwm7, pwm8, pwm9, pwm10, pwm11, pwm12, pwm13,
75*a419bc0fSRob Herring (Arm)              pwm14, pwm15, pwm16, pwm17, pwm18, pwm19, pwm20, pwm21, pwm22,
76*a419bc0fSRob Herring (Arm)              pwm23, pwm24, pwm25, pwm26, pwm27, pwm28, pwm29, pwm30, pwm31,
77*a419bc0fSRob Herring (Arm)              pwm32, pwm33, pwm34, pwm35, pwm36, i2c0, i2c1, i2c2, i2c3,
78*a419bc0fSRob Herring (Arm)              i2c4, uart0, uart1, uart2, uart3, uart4, uart5, uart6, uart7,
79*a419bc0fSRob Herring (Arm)              uart8, uart9, uart10, uart11, uart12, uart13, uart14, uart15,
80*a419bc0fSRob Herring (Arm)              gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, gpio7, gpio8,
81*a419bc0fSRob Herring (Arm)              gpio9, gpio10, gpio11, gpio12, gpio13, gpio14, gpio15, gpio16,
82*a419bc0fSRob Herring (Arm)              gpio17, gpio18, gpio19, gpio20, gpio21, gpio22, gpio23,
83*a419bc0fSRob Herring (Arm)              gpio24, gpio25, gpio26, gpio27, gpio28, gpio29, gpio30,
84*a419bc0fSRob Herring (Arm)              gpio31, gpio32, gpio33, gpio34, gpio35, gpio36, gpio37,
85*a419bc0fSRob Herring (Arm)              gpio38, gpio39, gpio40, gpio41, gpio42, gpio43, gpio44,
86*a419bc0fSRob Herring (Arm)              gpio45, gpio46, gpio47, gpio48, gpio49, gpio50, gpio51,
87*a419bc0fSRob Herring (Arm)              gpio52, gpio53, gpio54, gpio55, gpio56, gpio57, gpio58,
88*a419bc0fSRob Herring (Arm)              gpio59, gpio60, gpio61, gpio62, gpio63, gpio64, gpio65,
89*a419bc0fSRob Herring (Arm)              gpio66, gpio67, eth1, i2s0, i2s0_mclkin, i2s1, i2s1_mclkin,
90*a419bc0fSRob Herring (Arm)              spi0
91*a419bc0fSRob Herring (Arm)            ]
92*a419bc0fSRob Herring (Arm)
93*a419bc0fSRob Herring (Arm)        bias-disable: true
94*a419bc0fSRob Herring (Arm)        bias-pull-down: true
95*a419bc0fSRob Herring (Arm)        bias-pull-up: true
96*a419bc0fSRob Herring (Arm)        input-schmitt-enable: true
97*a419bc0fSRob Herring (Arm)        input-schmitt-disable: true
98*a419bc0fSRob Herring (Arm)
99*a419bc0fSRob Herring (Arm)        slew-rate:
100*a419bc0fSRob Herring (Arm)          description: >
101*a419bc0fSRob Herring (Arm)            Sets slew rate. Valid values: 0 = Slow, 1 = Fast.
102*a419bc0fSRob Herring (Arm)          enum: [0, 1]
103*a419bc0fSRob Herring (Arm)
104*a419bc0fSRob Herring (Arm)        drive-strength:
105*a419bc0fSRob Herring (Arm)          enum: [4, 8, 12, 16, 20, 24, 28, 32]
106*a419bc0fSRob Herring (Arm)
107*a419bc0fSRob Herring (Arm)      oneOf:
108*a419bc0fSRob Herring (Arm)        - required:
109*a419bc0fSRob Herring (Arm)            - pins
110*a419bc0fSRob Herring (Arm)        - required:
111*a419bc0fSRob Herring (Arm)            - groups
112*a419bc0fSRob Herring (Arm)
113*a419bc0fSRob Herring (Arm)      required:
114*a419bc0fSRob Herring (Arm)        - function
115*a419bc0fSRob Herring (Arm)
116*a419bc0fSRob Herring (Arm)required:
117*a419bc0fSRob Herring (Arm)  - compatible
118*a419bc0fSRob Herring (Arm)  - reg
119*a419bc0fSRob Herring (Arm)
120*a419bc0fSRob Herring (Arm)examples:
121*a419bc0fSRob Herring (Arm)  - |
122*a419bc0fSRob Herring (Arm)    pinctrl@400 {
123*a419bc0fSRob Herring (Arm)        compatible = "bitmain,bm1880-pinctrl";
124*a419bc0fSRob Herring (Arm)        reg = <0x400 0x120>;
125*a419bc0fSRob Herring (Arm)
126*a419bc0fSRob Herring (Arm)        uart0-default {
127*a419bc0fSRob Herring (Arm)            pinmux {
128*a419bc0fSRob Herring (Arm)                groups = "uart0_grp";
129*a419bc0fSRob Herring (Arm)                function = "uart0";
130*a419bc0fSRob Herring (Arm)            };
131*a419bc0fSRob Herring (Arm)        };
132*a419bc0fSRob Herring (Arm)    };
133