Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: pinctrl: brcm,bcm11351-pinctrl: Convert to YAML

Convert Broadcom BCM281xx pin controller bindings to DT schema.

Signed-off-by: Stanislav Jakubek <stano.jakubek@gmail.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/ZMZ3aEnrrZRDNdO+@standask-GA-A55M-S2HP
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

authored by

Stanislav Jakubek and committed by
Linus Walleij
3f16efbc c9b2572f

+259 -461
-461
Documentation/devicetree/bindings/pinctrl/brcm,bcm11351-pinctrl.txt
··· 1 - Broadcom BCM281xx Pin Controller 2 - 3 - This is a pin controller for the Broadcom BCM281xx SoC family, which includes 4 - BCM11130, BCM11140, BCM11351, BCM28145, and BCM28155 SoCs. 5 - 6 - === Pin Controller Node === 7 - 8 - Required Properties: 9 - 10 - - compatible: Must be "brcm,bcm11351-pinctrl" 11 - - reg: Base address of the PAD Controller register block and the size 12 - of the block. 13 - 14 - For example, the following is the bare minimum node: 15 - 16 - pinctrl@35004800 { 17 - compatible = "brcm,bcm11351-pinctrl"; 18 - reg = <0x35004800 0x430>; 19 - }; 20 - 21 - As a pin controller device, in addition to the required properties, this node 22 - should also contain the pin configuration nodes that client devices reference, 23 - if any. 24 - 25 - === Pin Configuration Node === 26 - 27 - Each pin configuration node is a sub-node of the pin controller node and is a 28 - container of an arbitrary number of subnodes, called pin group nodes in this 29 - document. 30 - 31 - Please refer to the pinctrl-bindings.txt in this directory for details of the 32 - common pinctrl bindings used by client devices, including the definition of a 33 - "pin configuration node". 34 - 35 - === Pin Group Node === 36 - 37 - A pin group node specifies the desired pin mux and/or pin configuration for an 38 - arbitrary number of pins. The name of the pin group node is optional and not 39 - used. 40 - 41 - A pin group node only affects the properties specified in the node, and has no 42 - effect on any properties that are omitted. 43 - 44 - The pin group node accepts a subset of the generic pin config properties. For 45 - details generic pin config properties, please refer to pinctrl-bindings.txt 46 - and <include/linux/pinctrl/pinconfig-generic.h>. 47 - 48 - Each pin controlled by this pin controller belong to one of three types: 49 - Standard, I2C, and HDMI. Each type accepts a different set of pin config 50 - properties. A list of pins and their types is provided below. 51 - 52 - Required Properties (applicable to all pins): 53 - 54 - - pins: Multiple strings. Specifies the name(s) of one or more pins to 55 - be configured by this node. 56 - 57 - Optional Properties (for standard pins): 58 - 59 - - function: String. Specifies the pin mux selection. Values 60 - must be one of: "alt1", "alt2", "alt3", "alt4" 61 - - input-schmitt-enable: No arguments. Enable schmitt-trigger mode. 62 - - input-schmitt-disable: No arguments. Disable schmitt-trigger mode. 63 - - bias-pull-up: No arguments. Pull up on pin. 64 - - bias-pull-down: No arguments. Pull down on pin. 65 - - bias-disable: No arguments. Disable pin bias. 66 - - slew-rate: Integer. Meaning depends on configured pin mux: 67 - *_SCL or *_SDA: 68 - 0: Standard(100kbps)& Fast(400kbps) mode 69 - 1: Highspeed (3.4Mbps) mode 70 - IC_DM or IC_DP: 71 - 0: normal slew rate 72 - 1: fast slew rate 73 - Otherwise: 74 - 0: fast slew rate 75 - 1: normal slew rate 76 - - input-enable: No arguments. Enable input (does not affect 77 - output.) 78 - - input-disable: No arguments. Disable input (does not affect 79 - output.) 80 - - drive-strength: Integer. Drive strength in mA. Valid values are 81 - 2, 4, 6, 8, 10, 12, 14, 16 mA. 82 - 83 - Optional Properties (for I2C pins): 84 - 85 - - function: String. Specifies the pin mux selection. Values 86 - must be one of: "alt1", "alt2", "alt3", "alt4" 87 - - bias-pull-up: Integer. Pull up strength in Ohm. There are 3 88 - pull-up resistors (1.2k, 1.8k, 2.7k) available 89 - in parallel for I2C pins, so the valid values 90 - are: 568, 720, 831, 1080, 1200, 1800, 2700 Ohm. 91 - - bias-disable: No arguments. Disable pin bias. 92 - - slew-rate: Integer. Meaning depends on configured pin mux: 93 - *_SCL or *_SDA: 94 - 0: Standard(100kbps)& Fast(400kbps) mode 95 - 1: Highspeed (3.4Mbps) mode 96 - IC_DM or IC_DP: 97 - 0: normal slew rate 98 - 1: fast slew rate 99 - Otherwise: 100 - 0: fast slew rate 101 - 1: normal slew rate 102 - - input-enable: No arguments. Enable input (does not affect 103 - output.) 104 - - input-disable: No arguments. Disable input (does not affect 105 - output.) 106 - 107 - Optional Properties (for HDMI pins): 108 - 109 - - function: String. Specifies the pin mux selection. Values 110 - must be one of: "alt1", "alt2", "alt3", "alt4" 111 - - slew-rate: Integer. Controls slew rate. 112 - 0: Standard(100kbps)& Fast(400kbps) mode 113 - 1: Highspeed (3.4Mbps) mode 114 - - input-enable: No arguments. Enable input (does not affect 115 - output.) 116 - - input-disable: No arguments. Disable input (does not affect 117 - output.) 118 - 119 - Example: 120 - // pin controller node 121 - pinctrl@35004800 { 122 - compatible = "brcm,bcm11351-pinctrl"; 123 - reg = <0x35004800 0x430>; 124 - 125 - // pin configuration node 126 - dev_a_default: dev_a_active { 127 - //group node defining 1 standard pin 128 - grp_1 { 129 - pins = "std_pin1"; 130 - function = "alt1"; 131 - input-schmitt-enable; 132 - bias-disable; 133 - slew-rate = <1>; 134 - drive-strength = <4>; 135 - }; 136 - 137 - // group node defining 2 I2C pins 138 - grp_2 { 139 - pins = "i2c_pin1", "i2c_pin2"; 140 - function = "alt2"; 141 - bias-pull-up = <720>; 142 - input-enable; 143 - }; 144 - 145 - // group node defining 2 HDMI pins 146 - grp_3 { 147 - pins = "hdmi_pin1", "hdmi_pin2"; 148 - function = "alt3"; 149 - slew-rate = <1>; 150 - }; 151 - 152 - // other pin group nodes 153 - ... 154 - }; 155 - 156 - // other pin configuration nodes 157 - ... 158 - }; 159 - 160 - In the example above, "dev_a_active" is a pin configuration node with a number 161 - of sub-nodes. In the pin group node "grp_1", one pin, "std_pin1", is defined in 162 - the "pins" property. Thus, the remaining properties in the "grp_1" node applies 163 - only to this pin, including the following settings: 164 - - setting pinmux to "alt1" 165 - - enabling schmitt-trigger (hystersis) mode 166 - - disabling pin bias 167 - - setting the slew-rate to 1 168 - - setting the drive strength to 4 mA 169 - Note that neither "input-enable" nor "input-disable" was specified - the pinctrl 170 - subsystem will therefore leave this property unchanged from whatever state it 171 - was in before applying these changes. 172 - 173 - The "pins" property in the pin group node "grp_2" specifies two pins - 174 - "i2c_pin1" and "i2c_pin2"; the remaining properties in this pin group node, 175 - therefore, applies to both of these pins. The properties include: 176 - - setting pinmux to "alt2" 177 - - setting pull-up resistance to 720 Ohm (ie. enabling 1.2k and 1.8k resistors 178 - in parallel) 179 - - enabling both pins' input 180 - "slew-rate" is not specified in this pin group node, so the slew-rate for these 181 - pins are left as-is. 182 - 183 - Finally, "grp_3" defines two HDMI pins. The following properties are applied to 184 - both pins: 185 - - setting pinmux to "alt3" 186 - - setting slew-rate to 1; for HDMI pins, this corresponds to the 3.4 Mbps 187 - Highspeed mode 188 - The input is neither enabled or disabled, and is left untouched. 189 - 190 - === Pin Names and Type === 191 - 192 - The following are valid pin names and their pin types: 193 - 194 - "adcsync", Standard 195 - "bat_rm", Standard 196 - "bsc1_scl", I2C 197 - "bsc1_sda", I2C 198 - "bsc2_scl", I2C 199 - "bsc2_sda", I2C 200 - "classgpwr", Standard 201 - "clk_cx8", Standard 202 - "clkout_0", Standard 203 - "clkout_1", Standard 204 - "clkout_2", Standard 205 - "clkout_3", Standard 206 - "clkreq_in_0", Standard 207 - "clkreq_in_1", Standard 208 - "cws_sys_req1", Standard 209 - "cws_sys_req2", Standard 210 - "cws_sys_req3", Standard 211 - "digmic1_clk", Standard 212 - "digmic1_dq", Standard 213 - "digmic2_clk", Standard 214 - "digmic2_dq", Standard 215 - "gpen13", Standard 216 - "gpen14", Standard 217 - "gpen15", Standard 218 - "gpio00", Standard 219 - "gpio01", Standard 220 - "gpio02", Standard 221 - "gpio03", Standard 222 - "gpio04", Standard 223 - "gpio05", Standard 224 - "gpio06", Standard 225 - "gpio07", Standard 226 - "gpio08", Standard 227 - "gpio09", Standard 228 - "gpio10", Standard 229 - "gpio11", Standard 230 - "gpio12", Standard 231 - "gpio13", Standard 232 - "gpio14", Standard 233 - "gps_pablank", Standard 234 - "gps_tmark", Standard 235 - "hdmi_scl", HDMI 236 - "hdmi_sda", HDMI 237 - "ic_dm", Standard 238 - "ic_dp", Standard 239 - "kp_col_ip_0", Standard 240 - "kp_col_ip_1", Standard 241 - "kp_col_ip_2", Standard 242 - "kp_col_ip_3", Standard 243 - "kp_row_op_0", Standard 244 - "kp_row_op_1", Standard 245 - "kp_row_op_2", Standard 246 - "kp_row_op_3", Standard 247 - "lcd_b_0", Standard 248 - "lcd_b_1", Standard 249 - "lcd_b_2", Standard 250 - "lcd_b_3", Standard 251 - "lcd_b_4", Standard 252 - "lcd_b_5", Standard 253 - "lcd_b_6", Standard 254 - "lcd_b_7", Standard 255 - "lcd_g_0", Standard 256 - "lcd_g_1", Standard 257 - "lcd_g_2", Standard 258 - "lcd_g_3", Standard 259 - "lcd_g_4", Standard 260 - "lcd_g_5", Standard 261 - "lcd_g_6", Standard 262 - "lcd_g_7", Standard 263 - "lcd_hsync", Standard 264 - "lcd_oe", Standard 265 - "lcd_pclk", Standard 266 - "lcd_r_0", Standard 267 - "lcd_r_1", Standard 268 - "lcd_r_2", Standard 269 - "lcd_r_3", Standard 270 - "lcd_r_4", Standard 271 - "lcd_r_5", Standard 272 - "lcd_r_6", Standard 273 - "lcd_r_7", Standard 274 - "lcd_vsync", Standard 275 - "mdmgpio0", Standard 276 - "mdmgpio1", Standard 277 - "mdmgpio2", Standard 278 - "mdmgpio3", Standard 279 - "mdmgpio4", Standard 280 - "mdmgpio5", Standard 281 - "mdmgpio6", Standard 282 - "mdmgpio7", Standard 283 - "mdmgpio8", Standard 284 - "mphi_data_0", Standard 285 - "mphi_data_1", Standard 286 - "mphi_data_2", Standard 287 - "mphi_data_3", Standard 288 - "mphi_data_4", Standard 289 - "mphi_data_5", Standard 290 - "mphi_data_6", Standard 291 - "mphi_data_7", Standard 292 - "mphi_data_8", Standard 293 - "mphi_data_9", Standard 294 - "mphi_data_10", Standard 295 - "mphi_data_11", Standard 296 - "mphi_data_12", Standard 297 - "mphi_data_13", Standard 298 - "mphi_data_14", Standard 299 - "mphi_data_15", Standard 300 - "mphi_ha0", Standard 301 - "mphi_hat0", Standard 302 - "mphi_hat1", Standard 303 - "mphi_hce0_n", Standard 304 - "mphi_hce1_n", Standard 305 - "mphi_hrd_n", Standard 306 - "mphi_hwr_n", Standard 307 - "mphi_run0", Standard 308 - "mphi_run1", Standard 309 - "mtx_scan_clk", Standard 310 - "mtx_scan_data", Standard 311 - "nand_ad_0", Standard 312 - "nand_ad_1", Standard 313 - "nand_ad_2", Standard 314 - "nand_ad_3", Standard 315 - "nand_ad_4", Standard 316 - "nand_ad_5", Standard 317 - "nand_ad_6", Standard 318 - "nand_ad_7", Standard 319 - "nand_ale", Standard 320 - "nand_cen_0", Standard 321 - "nand_cen_1", Standard 322 - "nand_cle", Standard 323 - "nand_oen", Standard 324 - "nand_rdy_0", Standard 325 - "nand_rdy_1", Standard 326 - "nand_wen", Standard 327 - "nand_wp", Standard 328 - "pc1", Standard 329 - "pc2", Standard 330 - "pmu_int", Standard 331 - "pmu_scl", I2C 332 - "pmu_sda", I2C 333 - "rfst2g_mtsloten3g", Standard 334 - "rgmii_0_rx_ctl", Standard 335 - "rgmii_0_rxc", Standard 336 - "rgmii_0_rxd_0", Standard 337 - "rgmii_0_rxd_1", Standard 338 - "rgmii_0_rxd_2", Standard 339 - "rgmii_0_rxd_3", Standard 340 - "rgmii_0_tx_ctl", Standard 341 - "rgmii_0_txc", Standard 342 - "rgmii_0_txd_0", Standard 343 - "rgmii_0_txd_1", Standard 344 - "rgmii_0_txd_2", Standard 345 - "rgmii_0_txd_3", Standard 346 - "rgmii_1_rx_ctl", Standard 347 - "rgmii_1_rxc", Standard 348 - "rgmii_1_rxd_0", Standard 349 - "rgmii_1_rxd_1", Standard 350 - "rgmii_1_rxd_2", Standard 351 - "rgmii_1_rxd_3", Standard 352 - "rgmii_1_tx_ctl", Standard 353 - "rgmii_1_txc", Standard 354 - "rgmii_1_txd_0", Standard 355 - "rgmii_1_txd_1", Standard 356 - "rgmii_1_txd_2", Standard 357 - "rgmii_1_txd_3", Standard 358 - "rgmii_gpio_0", Standard 359 - "rgmii_gpio_1", Standard 360 - "rgmii_gpio_2", Standard 361 - "rgmii_gpio_3", Standard 362 - "rtxdata2g_txdata3g1", Standard 363 - "rtxen2g_txdata3g2", Standard 364 - "rxdata3g0", Standard 365 - "rxdata3g1", Standard 366 - "rxdata3g2", Standard 367 - "sdio1_clk", Standard 368 - "sdio1_cmd", Standard 369 - "sdio1_data_0", Standard 370 - "sdio1_data_1", Standard 371 - "sdio1_data_2", Standard 372 - "sdio1_data_3", Standard 373 - "sdio4_clk", Standard 374 - "sdio4_cmd", Standard 375 - "sdio4_data_0", Standard 376 - "sdio4_data_1", Standard 377 - "sdio4_data_2", Standard 378 - "sdio4_data_3", Standard 379 - "sim_clk", Standard 380 - "sim_data", Standard 381 - "sim_det", Standard 382 - "sim_resetn", Standard 383 - "sim2_clk", Standard 384 - "sim2_data", Standard 385 - "sim2_det", Standard 386 - "sim2_resetn", Standard 387 - "sri_c", Standard 388 - "sri_d", Standard 389 - "sri_e", Standard 390 - "ssp_extclk", Standard 391 - "ssp0_clk", Standard 392 - "ssp0_fs", Standard 393 - "ssp0_rxd", Standard 394 - "ssp0_txd", Standard 395 - "ssp2_clk", Standard 396 - "ssp2_fs_0", Standard 397 - "ssp2_fs_1", Standard 398 - "ssp2_fs_2", Standard 399 - "ssp2_fs_3", Standard 400 - "ssp2_rxd_0", Standard 401 - "ssp2_rxd_1", Standard 402 - "ssp2_txd_0", Standard 403 - "ssp2_txd_1", Standard 404 - "ssp3_clk", Standard 405 - "ssp3_fs", Standard 406 - "ssp3_rxd", Standard 407 - "ssp3_txd", Standard 408 - "ssp4_clk", Standard 409 - "ssp4_fs", Standard 410 - "ssp4_rxd", Standard 411 - "ssp4_txd", Standard 412 - "ssp5_clk", Standard 413 - "ssp5_fs", Standard 414 - "ssp5_rxd", Standard 415 - "ssp5_txd", Standard 416 - "ssp6_clk", Standard 417 - "ssp6_fs", Standard 418 - "ssp6_rxd", Standard 419 - "ssp6_txd", Standard 420 - "stat_1", Standard 421 - "stat_2", Standard 422 - "sysclken", Standard 423 - "traceclk", Standard 424 - "tracedt00", Standard 425 - "tracedt01", Standard 426 - "tracedt02", Standard 427 - "tracedt03", Standard 428 - "tracedt04", Standard 429 - "tracedt05", Standard 430 - "tracedt06", Standard 431 - "tracedt07", Standard 432 - "tracedt08", Standard 433 - "tracedt09", Standard 434 - "tracedt10", Standard 435 - "tracedt11", Standard 436 - "tracedt12", Standard 437 - "tracedt13", Standard 438 - "tracedt14", Standard 439 - "tracedt15", Standard 440 - "txdata3g0", Standard 441 - "txpwrind", Standard 442 - "uartb1_ucts", Standard 443 - "uartb1_urts", Standard 444 - "uartb1_urxd", Standard 445 - "uartb1_utxd", Standard 446 - "uartb2_urxd", Standard 447 - "uartb2_utxd", Standard 448 - "uartb3_ucts", Standard 449 - "uartb3_urts", Standard 450 - "uartb3_urxd", Standard 451 - "uartb3_utxd", Standard 452 - "uartb4_ucts", Standard 453 - "uartb4_urts", Standard 454 - "uartb4_urxd", Standard 455 - "uartb4_utxd", Standard 456 - "vc_cam1_scl", I2C 457 - "vc_cam1_sda", I2C 458 - "vc_cam2_scl", I2C 459 - "vc_cam2_sda", I2C 460 - "vc_cam3_scl", I2C 461 - "vc_cam3_sda", I2C
+259
Documentation/devicetree/bindings/pinctrl/brcm,bcm11351-pinctrl.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/pinctrl/brcm,bcm11351-pinctrl.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Broadcom BCM281xx pin controller 8 + 9 + maintainers: 10 + - Florian Fainelli <florian.fainelli@broadcom.com> 11 + - Ray Jui <rjui@broadcom.com> 12 + - Scott Branden <sbranden@broadcom.com> 13 + 14 + allOf: 15 + - $ref: pinctrl.yaml# 16 + 17 + properties: 18 + compatible: 19 + const: brcm,bcm11351-pinctrl 20 + 21 + reg: 22 + maxItems: 1 23 + 24 + patternProperties: 25 + '-pins$': 26 + type: object 27 + additionalProperties: false 28 + 29 + patternProperties: 30 + '-grp[0-9]$': 31 + type: object 32 + unevaluatedProperties: false 33 + 34 + properties: 35 + pins: 36 + description: 37 + Specifies the name(s) of one or more pins to be configured by 38 + this node. 39 + items: 40 + enum: [ adcsync, bat_rm, bsc1_scl, bsc1_sda, bsc2_scl, bsc2_sda, 41 + classgpwr, clk_cx8, clkout_0, clkout_1, clkout_2, 42 + clkout_3, clkreq_in_0, clkreq_in_1, cws_sys_req1, 43 + cws_sys_req2, cws_sys_req3, digmic1_clk, digmic1_dq, 44 + digmic2_clk, digmic2_dq, gpen13, gpen14, gpen15, gpio00, 45 + gpio01, gpio02, gpio03, gpio04, gpio05, gpio06, gpio07, 46 + gpio08, gpio09, gpio10, gpio11, gpio12, gpio13, gpio14, 47 + gps_pablank, gps_tmark, hdmi_scl, hdmi_sda, ic_dm, ic_dp, 48 + kp_col_ip_0, kp_col_ip_1, kp_col_ip_2, kp_col_ip_3, 49 + kp_row_op_0, kp_row_op_1, kp_row_op_2, kp_row_op_3, 50 + lcd_b_0, lcd_b_1, lcd_b_2, lcd_b_3, lcd_b_4, lcd_b_5, 51 + lcd_b_6, lcd_b_7, lcd_g_0, lcd_g_1, lcd_g_2, lcd_g_3, 52 + lcd_g_4, lcd_g_5, lcd_g_6, lcd_g_7, lcd_hsync, lcd_oe, 53 + lcd_pclk, lcd_r_0, lcd_r_1, lcd_r_2, lcd_r_3, lcd_r_4, 54 + lcd_r_5, lcd_r_6, lcd_r_7, lcd_vsync, mdmgpio0, mdmgpio1, 55 + mdmgpio2, mdmgpio3, mdmgpio4, mdmgpio5, mdmgpio6, 56 + mdmgpio7, mdmgpio8, mphi_data_0, mphi_data_1, mphi_data_2, 57 + mphi_data_3, mphi_data_4, mphi_data_5, mphi_data_6, 58 + mphi_data_7, mphi_data_8, mphi_data_9, mphi_data_10, 59 + mphi_data_11, mphi_data_12, mphi_data_13, mphi_data_14, 60 + mphi_data_15, mphi_ha0, mphi_hat0, mphi_hat1, mphi_hce0_n, 61 + mphi_hce1_n, mphi_hrd_n, mphi_hwr_n, mphi_run0, mphi_run1, 62 + mtx_scan_clk, mtx_scan_data, nand_ad_0, nand_ad_1, 63 + nand_ad_2, nand_ad_3, nand_ad_4, nand_ad_5, nand_ad_6, 64 + nand_ad_7, nand_ale, nand_cen_0, nand_cen_1, nand_cle, 65 + nand_oen, nand_rdy_0, nand_rdy_1, nand_wen, nand_wp, pc1, 66 + pc2, pmu_int, pmu_scl, pmu_sda, rfst2g_mtsloten3g, 67 + rgmii_0_rx_ctl, rgmii_0_rxc, rgmii_0_rxd_0, rgmii_0_rxd_1, 68 + rgmii_0_rxd_2, rgmii_0_rxd_3, rgmii_0_tx_ctl, rgmii_0_txc, 69 + rgmii_0_txd_0, rgmii_0_txd_1, rgmii_0_txd_2, 70 + rgmii_0_txd_3, rgmii_1_rx_ctl, rgmii_1_rxc, rgmii_1_rxd_0, 71 + rgmii_1_rxd_1, rgmii_1_rxd_2, rgmii_1_rxd_3, 72 + rgmii_1_tx_ctl, rgmii_1_txc, rgmii_1_txd_0, rgmii_1_txd_1, 73 + rgmii_1_txd_2, rgmii_1_txd_3, rgmii_gpio_0, rgmii_gpio_1, 74 + rgmii_gpio_2, rgmii_gpio_3, rtxdata2g_txdata3g1, 75 + rtxen2g_txdata3g2, rxdata3g0, rxdata3g1, rxdata3g2, 76 + sdio1_clk, sdio1_cmd, sdio1_data_0, sdio1_data_1, 77 + sdio1_data_2, sdio1_data_3, sdio4_clk, sdio4_cmd, 78 + sdio4_data_0, sdio4_data_1, sdio4_data_2, sdio4_data_3, 79 + sim_clk, sim_data, sim_det, sim_resetn, sim2_clk, 80 + sim2_data, sim2_det, sim2_resetn, sri_c, sri_d, sri_e, 81 + ssp_extclk, ssp0_clk, ssp0_fs, ssp0_rxd, ssp0_txd, 82 + ssp2_clk, ssp2_fs_0, ssp2_fs_1, ssp2_fs_2, ssp2_fs_3, 83 + ssp2_rxd_0, ssp2_rxd_1, ssp2_txd_0, ssp2_txd_1, ssp3_clk, 84 + ssp3_fs, ssp3_rxd, ssp3_txd, ssp4_clk, ssp4_fs, ssp4_rxd, 85 + ssp4_txd, ssp5_clk, ssp5_fs, ssp5_rxd, ssp5_txd, ssp6_clk, 86 + ssp6_fs, ssp6_rxd, ssp6_txd, stat_1, stat_2, sysclken, 87 + traceclk, tracedt00, tracedt01, tracedt02, tracedt03, 88 + tracedt04, tracedt05, tracedt06, tracedt07, tracedt08 89 + tracedt09, tracedt10, tracedt11, tracedt12, tracedt13 90 + tracedt14, tracedt15, txdata3g0, txpwrind, uartb1_ucts, 91 + uartb1_urts, uartb1_urxd, uartb1_utxd, uartb2_urxd, 92 + uartb2_utxd, uartb3_ucts, uartb3_urts, uartb3_urxd, 93 + uartb3_utxd, uartb4_ucts, uartb4_urts, uartb4_urxd, 94 + uartb4_utxd, vc_cam1_scl, vc_cam1_sda, vc_cam2_scl, 95 + vc_cam2_sda, vc_cam3_scl, vc_cam3_sda ] 96 + 97 + function: 98 + description: 99 + Specifies the pin mux selection. 100 + enum: [ alt1, alt2, alt3, alt4 ] 101 + 102 + slew-rate: 103 + description: | 104 + Meaning depends on configured pin mux: 105 + *_scl or *_sda: 106 + 0: Standard (100 kbps) & Fast (400 kbps) mode 107 + 1: Highspeed (3.4 Mbps) mode 108 + ic_dm or ic_dp: 109 + 0: normal slew rate 110 + 1: fast slew rate 111 + Otherwise: 112 + 0: fast slew rate 113 + 1: normal slew rate 114 + 115 + bias-disable: true 116 + input-disable: true 117 + input-enable: true 118 + 119 + required: 120 + - pins 121 + 122 + allOf: 123 + - $ref: pincfg-node.yaml# 124 + 125 + # Optional properties for standard pins 126 + - if: 127 + properties: 128 + pins: 129 + contains: 130 + enum: [ adcsync, bat_rm, classgpwr, clk_cx8, clkout_0, 131 + clkout_1, clkout_2, clkout_3, clkreq_in_0, 132 + clkreq_in_1, cws_sys_req1, cws_sys_req2, 133 + cws_sys_req3, digmic1_clk, digmic1_dq, digmic2_clk, 134 + digmic2_dq, gpen13, gpen14, gpen15, gpio00, gpio01, 135 + gpio02, gpio03, gpio04, gpio05, gpio06, gpio07, 136 + gpio08, gpio09, gpio10, gpio11, gpio12, gpio13, 137 + gpio14, gps_pablank, gps_tmark, ic_dm, ic_dp, 138 + kp_col_ip_0, kp_col_ip_1, kp_col_ip_2, kp_col_ip_3, 139 + kp_row_op_0, kp_row_op_1, kp_row_op_2, kp_row_op_3, 140 + lcd_b_0, lcd_b_1, lcd_b_2, lcd_b_3, lcd_b_4, lcd_b_5, 141 + lcd_b_6, lcd_b_7, lcd_g_0, lcd_g_1, lcd_g_2, lcd_g_3, 142 + lcd_g_4, lcd_g_5, lcd_g_6, lcd_g_7, lcd_hsync, 143 + lcd_oe, lcd_pclk, lcd_r_0, lcd_r_1, lcd_r_2, 144 + lcd_r_3, lcd_r_4, lcd_r_5, lcd_r_6, lcd_r_7, 145 + lcd_vsync, mdmgpio0, mdmgpio1, mdmgpio2, mdmgpio3, 146 + mdmgpio4, mdmgpio5, mdmgpio6, mdmgpio7, mdmgpio8, 147 + mphi_data_0, mphi_data_1, mphi_data_2, mphi_data_3, 148 + mphi_data_4, mphi_data_5, mphi_data_6, mphi_data_7, 149 + mphi_data_8, mphi_data_9, mphi_data_10, 150 + mphi_data_11, mphi_data_12, mphi_data_13, 151 + mphi_data_14, mphi_data_15, mphi_ha0, mphi_hat0, 152 + mphi_hat1, mphi_hce0_n, mphi_hce1_n, mphi_hrd_n, 153 + mphi_hwr_n, mphi_run0, mphi_run1, mtx_scan_clk, 154 + mtx_scan_data, nand_ad_0, nand_ad_1, nand_ad_2, 155 + nand_ad_3, nand_ad_4, nand_ad_5, nand_ad_6, 156 + nand_ad_7, nand_ale, nand_cen_0, nand_cen_1, 157 + nand_cle, nand_oen, nand_rdy_0, nand_rdy_1, 158 + nand_wen, nand_wp, pc1, pc2, pmu_int, 159 + rfst2g_mtsloten3g, rgmii_0_rx_ctl, rgmii_0_rxc, 160 + rgmii_0_rxd_0, rgmii_0_rxd_1, rgmii_0_rxd_2, 161 + rgmii_0_rxd_3, rgmii_0_tx_ctl, rgmii_0_txc, 162 + rgmii_0_txd_0, rgmii_0_txd_1, rgmii_0_txd_2, 163 + rgmii_0_txd_3, rgmii_1_rx_ctl, rgmii_1_rxc, 164 + rgmii_1_rxd_0, rgmii_1_rxd_1, rgmii_1_rxd_2, 165 + rgmii_1_rxd_3, rgmii_1_tx_ctl, rgmii_1_txc, 166 + rgmii_1_txd_0, rgmii_1_txd_1, rgmii_1_txd_2, 167 + rgmii_1_txd_3, rgmii_gpio_0, rgmii_gpio_1, 168 + rgmii_gpio_2, rgmii_gpio_3, rtxdata2g_txdata3g1, 169 + rtxen2g_txdata3g2, rxdata3g0, rxdata3g1, rxdata3g2, 170 + sdio1_clk, sdio1_cmd, sdio1_data_0, sdio1_data_1, 171 + sdio1_data_2, sdio1_data_3, sdio4_clk, sdio4_cmd, 172 + sdio4_data_0, sdio4_data_1, sdio4_data_2, 173 + sdio4_data_3, sim_clk, sim_data, sim_det, 174 + sim_resetn, sim2_clk, sim2_data, sim2_det, 175 + sim2_resetn, sri_c, sri_d, sri_e, ssp_extclk, 176 + ssp0_clk, ssp0_fs, ssp0_rxd, ssp0_txd, ssp2_clk, 177 + ssp2_fs_0, ssp2_fs_1, ssp2_fs_2, ssp2_fs_3, 178 + ssp2_rxd_0, ssp2_rxd_1, ssp2_txd_0, ssp2_txd_1, 179 + ssp3_clk, ssp3_fs, ssp3_rxd, ssp3_txd, ssp4_clk, 180 + ssp4_fs, ssp4_rxd, ssp4_txd, ssp5_clk, ssp5_fs, 181 + ssp5_rxd, ssp5_txd, ssp6_clk, ssp6_fs, ssp6_rxd, 182 + ssp6_txd, stat_1, stat_2, sysclken, traceclk, 183 + tracedt00, tracedt01, tracedt02, tracedt03, 184 + tracedt04, tracedt05, tracedt06, tracedt07, 185 + tracedt08, tracedt09, tracedt10, tracedt11, 186 + tracedt12, tracedt13, tracedt14, tracedt15, 187 + txdata3g0, txpwrind, uartb1_ucts, uartb1_urts, 188 + uartb1_urxd, uartb1_utxd, uartb2_urxd, uartb2_utxd, 189 + uartb3_ucts, uartb3_urts, uartb3_urxd, uartb3_utxd, 190 + uartb4_ucts, uartb4_urts, uartb4_urxd, uartb4_utxd ] 191 + then: 192 + properties: 193 + drive-strength: 194 + enum: [ 2, 4, 6, 8, 10, 12, 14, 16 ] 195 + 196 + bias-disable: true 197 + bias-pull-up: true 198 + bias-pull-down: true 199 + input-schmitt-enable: true 200 + input-schmitt-disable: true 201 + 202 + # Optional properties for I2C pins 203 + - if: 204 + properties: 205 + pins: 206 + contains: 207 + enum: [ bsc1_scl, bsc1_sda, bsc2_scl, bsc2_sda, pmu_scl, 208 + pmu_sda, vc_cam1_scl, vc_cam1_sda, vc_cam2_scl, 209 + vc_cam2_sda, vc_cam3_scl, vc_cam3_sda ] 210 + then: 211 + properties: 212 + bias-pull-up: 213 + description: 214 + There are 3 pull-up resistors (1.2k, 1.8k, 2.7k) available 215 + in parallel for I2C pins. 216 + enum: [ 568, 720, 831, 1080, 1200, 1800, 2700 ] 217 + 218 + bias-disable: true 219 + 220 + required: 221 + - compatible 222 + - reg 223 + 224 + unevaluatedProperties: false 225 + 226 + examples: 227 + - | 228 + pinctrl@35004800 { 229 + compatible = "brcm,bcm11351-pinctrl"; 230 + reg = <0x35004800 0x430>; 231 + 232 + dev-a-active-pins { 233 + /* group node defining 1 standard pin */ 234 + std-grp0 { 235 + pins = "gpio00"; 236 + function = "alt1"; 237 + input-schmitt-enable; 238 + bias-disable; 239 + slew-rate = <1>; 240 + drive-strength = <4>; 241 + }; 242 + 243 + /* group node defining 2 I2C pins */ 244 + i2c-grp0 { 245 + pins = "bsc1_scl", "bsc1_sda"; 246 + function = "alt2"; 247 + bias-pull-up = <720>; 248 + input-enable; 249 + }; 250 + 251 + /* group node defining 2 HDMI pins */ 252 + hdmi-grp0 { 253 + pins = "hdmi_scl", "hdmi_sda"; 254 + function = "alt3"; 255 + slew-rate = <1>; 256 + }; 257 + }; 258 + }; 259 + ...