18c2ecf20Sopenharmony_ciBroadcom Northstar pins mux controller 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciSome of Northstar SoCs's pins can be used for various purposes thanks to the mux 48c2ecf20Sopenharmony_cicontroller. This binding allows describing mux controller and listing available 58c2ecf20Sopenharmony_cifunctions. They can be referenced later by other bindings to let system 68c2ecf20Sopenharmony_ciconfigure controller correctly. 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ciA list of pins varies across chipsets so few bindings are available. 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ciNode of the pinmux must be nested in the CRU (Central Resource Unit) "syscon" 118c2ecf20Sopenharmony_cinoce. 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ciRequired properties: 148c2ecf20Sopenharmony_ci- compatible: must be one of: 158c2ecf20Sopenharmony_ci "brcm,bcm4708-pinmux" 168c2ecf20Sopenharmony_ci "brcm,bcm4709-pinmux" 178c2ecf20Sopenharmony_ci "brcm,bcm53012-pinmux" 188c2ecf20Sopenharmony_ci- offset: offset of pin registers in the CRU block 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ciFunctions and their groups available for all chipsets: 218c2ecf20Sopenharmony_ci- "spi": "spi_grp" 228c2ecf20Sopenharmony_ci- "i2c": "i2c_grp" 238c2ecf20Sopenharmony_ci- "pwm": "pwm0_grp", "pwm1_grp", "pwm2_grp", "pwm3_grp" 248c2ecf20Sopenharmony_ci- "uart1": "uart1_grp" 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ciAdditionally available on BCM4709 and BCM53012: 278c2ecf20Sopenharmony_ci- "mdio": "mdio_grp" 288c2ecf20Sopenharmony_ci- "uart2": "uart2_grp" 298c2ecf20Sopenharmony_ci- "sdio": "sdio_pwr_grp", "sdio_1p8v_grp" 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ciFor documentation of subnodes see: 328c2ecf20Sopenharmony_ciDocumentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ciExample: 358c2ecf20Sopenharmony_ci dmu@1800c000 { 368c2ecf20Sopenharmony_ci compatible = "simple-bus"; 378c2ecf20Sopenharmony_ci ranges = <0 0x1800c000 0x1000>; 388c2ecf20Sopenharmony_ci #address-cells = <1>; 398c2ecf20Sopenharmony_ci #size-cells = <1>; 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci cru@100 { 428c2ecf20Sopenharmony_ci compatible = "syscon", "simple-mfd"; 438c2ecf20Sopenharmony_ci reg = <0x100 0x1a4>; 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci pinctrl { 468c2ecf20Sopenharmony_ci compatible = "brcm,bcm4708-pinmux"; 478c2ecf20Sopenharmony_ci offset = <0xc0>; 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci spi-pins { 508c2ecf20Sopenharmony_ci function = "spi"; 518c2ecf20Sopenharmony_ci groups = "spi_grp"; 528c2ecf20Sopenharmony_ci }; 538c2ecf20Sopenharmony_ci }; 548c2ecf20Sopenharmony_ci }; 558c2ecf20Sopenharmony_ci }; 56