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