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