18c2ecf20Sopenharmony_ciBroadcom NSP (Northstar plus) IOMUX Controller 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciThe NSP IOMUX controller supports group based mux configuration. In 48c2ecf20Sopenharmony_ciaddition, certain pins can be muxed to GPIO function individually. 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ciRequired properties: 78c2ecf20Sopenharmony_ci- compatible: 88c2ecf20Sopenharmony_ci Must be "brcm,nsp-pinmux" 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci- reg: 118c2ecf20Sopenharmony_ci Should contain the register physical address and length for each of 128c2ecf20Sopenharmony_ci GPIO_CONTROL0, GP_AUX_SEL and IPROC_CONFIG IOMUX registers 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ciProperties in subnodes: 158c2ecf20Sopenharmony_ci- function: 168c2ecf20Sopenharmony_ci The mux function to select 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ci- groups: 198c2ecf20Sopenharmony_ci The list of groups to select with a given function 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ciFor more details, refer to 228c2ecf20Sopenharmony_ciDocumentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ciFor example: 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci pinmux: pinmux@1803f1c0 { 278c2ecf20Sopenharmony_ci compatible = "brcm,nsp-pinmux"; 288c2ecf20Sopenharmony_ci reg = <0x1803f1c0 0x04>, 298c2ecf20Sopenharmony_ci <0x18030028 0x04>, 308c2ecf20Sopenharmony_ci <0x1803f408 0x04>; 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci pinctrl-names = "default"; 338c2ecf20Sopenharmony_ci pinctrl-0 = <&pwm &gpio_b &nand_sel>; 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci pwm: pwm { 368c2ecf20Sopenharmony_ci function = "pwm"; 378c2ecf20Sopenharmony_ci groups = "pwm0_grp", "pwm1_grp"; 388c2ecf20Sopenharmony_ci }; 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci gpio_b: gpio_b { 418c2ecf20Sopenharmony_ci function = "gpio_b"; 428c2ecf20Sopenharmony_ci groups = "gpio_b_0_grp", "gpio_b_1_grp"; 438c2ecf20Sopenharmony_ci }; 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci nand_sel: nand_sel { 468c2ecf20Sopenharmony_ci function = "nand"; 478c2ecf20Sopenharmony_ci groups = "nand_grp"; 488c2ecf20Sopenharmony_ci }; 498c2ecf20Sopenharmony_ci }; 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ciList of supported functions and groups in Northstar Plus: 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ci"spi": "spi_grp" 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci"i2c": "i2c_grp" 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_ci"mdio": "mdio_grp" 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci"pwm": "pwm0_grp", "pwm1_grp", "pwm2_grp", "pwm3_grp" 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ci"gpio_b": "gpio_b_0_grp", "gpio_b_1_grp", "gpio_b_2_grp", "gpio_b_3_grp" 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci"uart1": "uart1_grp" 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ci"uart2": "uart2_grp" 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ci"synce": "synce_grp" 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ci"sata_led_grps": "sata0_led_grp", "sata1_led_grp" 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ci"xtal_out": "xtal_out_grp" 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ci"sdio": "sdio_pwr_grp", "sdio_1p8v_grp" 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ci"switch_led": "switch_p05_led0_grp", "switch_p05_led1_grp" 768c2ecf20Sopenharmony_ci 778c2ecf20Sopenharmony_ci"nand": "nand_grp" 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_ci"emmc": "emmc_grp" 80