1d2d13ed0SYendapally Reddy Dhananjaya ReddyBroadcom Northstar2 IOMUX Controller 2d2d13ed0SYendapally Reddy Dhananjaya Reddy 3d2d13ed0SYendapally Reddy Dhananjaya ReddyThe Northstar2 IOMUX controller supports group based mux configuration. There 4d2d13ed0SYendapally Reddy Dhananjaya Reddyare some individual pins that support modifying the pinconf parameters. 5d2d13ed0SYendapally Reddy Dhananjaya Reddy 6d2d13ed0SYendapally Reddy Dhananjaya ReddyRequired properties: 7d2d13ed0SYendapally Reddy Dhananjaya Reddy 8d2d13ed0SYendapally Reddy Dhananjaya Reddy- compatible: 9d2d13ed0SYendapally Reddy Dhananjaya Reddy Must be "brcm,ns2-pinmux" 10d2d13ed0SYendapally Reddy Dhananjaya Reddy 11d2d13ed0SYendapally Reddy Dhananjaya Reddy- reg: 12d2d13ed0SYendapally Reddy Dhananjaya Reddy Define the base and range of the I/O address space that contains the 13d2d13ed0SYendapally Reddy Dhananjaya Reddy Northstar2 IOMUX and pin configuration registers. 14d2d13ed0SYendapally Reddy Dhananjaya Reddy 15d2d13ed0SYendapally Reddy Dhananjaya ReddyProperties in sub nodes: 16d2d13ed0SYendapally Reddy Dhananjaya Reddy 17d2d13ed0SYendapally Reddy Dhananjaya Reddy- function: 18d2d13ed0SYendapally Reddy Dhananjaya Reddy The mux function to select 19d2d13ed0SYendapally Reddy Dhananjaya Reddy 20d2d13ed0SYendapally Reddy Dhananjaya Reddy- groups: 21d2d13ed0SYendapally Reddy Dhananjaya Reddy The list of groups to select with a given function 22d2d13ed0SYendapally Reddy Dhananjaya Reddy 23d2d13ed0SYendapally Reddy Dhananjaya Reddy- pins: 24d2d13ed0SYendapally Reddy Dhananjaya Reddy List of pin names to change configuration 25d2d13ed0SYendapally Reddy Dhananjaya Reddy 26d2d13ed0SYendapally Reddy Dhananjaya ReddyThe generic properties bias-disable, bias-pull-down, bias-pull-up, 27d2d13ed0SYendapally Reddy Dhananjaya Reddydrive-strength, slew-rate, input-enable, input-disable are supported 28d2d13ed0SYendapally Reddy Dhananjaya Reddyfor some individual pins listed at the end. 29d2d13ed0SYendapally Reddy Dhananjaya Reddy 30d2d13ed0SYendapally Reddy Dhananjaya ReddyFor more details, refer to 31d2d13ed0SYendapally Reddy Dhananjaya ReddyDocumentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt 32d2d13ed0SYendapally Reddy Dhananjaya Reddy 33d2d13ed0SYendapally Reddy Dhananjaya ReddyFor example: 34d2d13ed0SYendapally Reddy Dhananjaya Reddy 35d2d13ed0SYendapally Reddy Dhananjaya Reddy pinctrl: pinctrl@6501d130 { 36d2d13ed0SYendapally Reddy Dhananjaya Reddy compatible = "brcm,ns2-pinmux"; 37d2d13ed0SYendapally Reddy Dhananjaya Reddy reg = <0x6501d130 0x08>, 38d2d13ed0SYendapally Reddy Dhananjaya Reddy <0x660a0028 0x04>, 39d2d13ed0SYendapally Reddy Dhananjaya Reddy <0x660009b0 0x40>; 40d2d13ed0SYendapally Reddy Dhananjaya Reddy 41d2d13ed0SYendapally Reddy Dhananjaya Reddy pinctrl-names = "default"; 42*74f2dd44SGeert Uytterhoeven pinctrl-0 = <&nand_sel>, <&uart3_rx>, <&sdio0_d4>; 43d2d13ed0SYendapally Reddy Dhananjaya Reddy 44d2d13ed0SYendapally Reddy Dhananjaya Reddy /* Select nand function */ 45d2d13ed0SYendapally Reddy Dhananjaya Reddy nand_sel: nand_sel { 46d2d13ed0SYendapally Reddy Dhananjaya Reddy function = "nand"; 47d2d13ed0SYendapally Reddy Dhananjaya Reddy groups = "nand_grp"; 48d2d13ed0SYendapally Reddy Dhananjaya Reddy }; 49d2d13ed0SYendapally Reddy Dhananjaya Reddy 50d2d13ed0SYendapally Reddy Dhananjaya Reddy /* Pull up the uart3 rx pin */ 51d2d13ed0SYendapally Reddy Dhananjaya Reddy uart3_rx: uart3_rx { 52d2d13ed0SYendapally Reddy Dhananjaya Reddy pins = "uart3_sin"; 53d2d13ed0SYendapally Reddy Dhananjaya Reddy bias-pull-up; 54d2d13ed0SYendapally Reddy Dhananjaya Reddy }; 55d2d13ed0SYendapally Reddy Dhananjaya Reddy 56d2d13ed0SYendapally Reddy Dhananjaya Reddy /* Set the drive strength of sdio d4 pin */ 57d2d13ed0SYendapally Reddy Dhananjaya Reddy sdio0_d4: sdio0_d4 { 58d2d13ed0SYendapally Reddy Dhananjaya Reddy pins = "sdio0_data4"; 59d2d13ed0SYendapally Reddy Dhananjaya Reddy drive-strength = <8>; 60d2d13ed0SYendapally Reddy Dhananjaya Reddy }; 61d2d13ed0SYendapally Reddy Dhananjaya Reddy }; 62d2d13ed0SYendapally Reddy Dhananjaya Reddy 63d2d13ed0SYendapally Reddy Dhananjaya ReddyList of supported functions and groups in Northstar2: 64d2d13ed0SYendapally Reddy Dhananjaya Reddy 65d2d13ed0SYendapally Reddy Dhananjaya Reddy"nand": "nand_grp" 66d2d13ed0SYendapally Reddy Dhananjaya Reddy 67d2d13ed0SYendapally Reddy Dhananjaya Reddy"nor": "nor_data_grp", "nor_adv_grp", "nor_addr_0_3_grp", "nor_addr_4_5_grp", 68d2d13ed0SYendapally Reddy Dhananjaya Reddy "nor_addr_6_7_grp", "nor_addr_8_9_grp", "nor_addr_10_11_grp", 69d2d13ed0SYendapally Reddy Dhananjaya Reddy "nor_addr_12_15_grp" 70d2d13ed0SYendapally Reddy Dhananjaya Reddy 71d2d13ed0SYendapally Reddy Dhananjaya Reddy"gpio": "gpio_0_1_grp", "gpio_2_5_grp", "gpio_6_7_grp", "gpio_8_9_grp", 72d2d13ed0SYendapally Reddy Dhananjaya Reddy "gpio_10_11_grp", "gpio_12_13_grp", "gpio_14_17_grp", "gpio_18_19_grp", 73d2d13ed0SYendapally Reddy Dhananjaya Reddy "gpio_20_21_grp", "gpio_22_23_grp", "gpio_24_25_grp", "gpio_26_27_grp", 74d2d13ed0SYendapally Reddy Dhananjaya Reddy "gpio_28_29_grp", "gpio_30_31_grp" 75d2d13ed0SYendapally Reddy Dhananjaya Reddy 76d2d13ed0SYendapally Reddy Dhananjaya Reddy"pcie": "pcie_ab1_clk_wak_grp", "pcie_a3_clk_wak_grp", "pcie_b3_clk_wak_grp", 77d2d13ed0SYendapally Reddy Dhananjaya Reddy "pcie_b2_clk_wak_grp", "pcie_a2_clk_wak_grp" 78d2d13ed0SYendapally Reddy Dhananjaya Reddy 79d2d13ed0SYendapally Reddy Dhananjaya Reddy"uart0": "uart0_modem_grp", "uart0_rts_cts_grp", "uart0_in_out_grp" 80d2d13ed0SYendapally Reddy Dhananjaya Reddy 81d2d13ed0SYendapally Reddy Dhananjaya Reddy"uart1": "uart1_ext_clk_grp", "uart1_dcd_dsr_grp", "uart1_ri_dtr_grp", 82d2d13ed0SYendapally Reddy Dhananjaya Reddy "uart1_rts_cts_grp", "uart1_in_out_grp" 83d2d13ed0SYendapally Reddy Dhananjaya Reddy 84d2d13ed0SYendapally Reddy Dhananjaya Reddy"uart2": "uart2_rts_cts_grp" 85d2d13ed0SYendapally Reddy Dhananjaya Reddy 86d2d13ed0SYendapally Reddy Dhananjaya Reddy"pwm": "pwm_0_grp", "pwm_1_grp", "pwm_2_grp", "pwm_3_grp" 87d2d13ed0SYendapally Reddy Dhananjaya Reddy 88d2d13ed0SYendapally Reddy Dhananjaya Reddy 89d2d13ed0SYendapally Reddy Dhananjaya ReddyList of pins that support pinconf parameters: 90d2d13ed0SYendapally Reddy Dhananjaya Reddy 91d2d13ed0SYendapally Reddy Dhananjaya Reddy"qspi_wp", "qspi_hold", "qspi_cs", "qspi_sck", "uart3_sin", "uart3_sout", 92d2d13ed0SYendapally Reddy Dhananjaya Reddy"qspi_mosi", "qspi_miso", "spi0_fss", "spi0_rxd", "spi0_txd", "spi0_sck", 93d2d13ed0SYendapally Reddy Dhananjaya Reddy"spi1_fss", "spi1_rxd", "spi1_txd", "spi1_sck", "sdio0_data7", 94d2d13ed0SYendapally Reddy Dhananjaya Reddy"sdio0_emmc_rst", "sdio0_led_on", "sdio0_wp", "sdio0_data3", "sdio0_data4", 95d2d13ed0SYendapally Reddy Dhananjaya Reddy"sdio0_data5", "sdio0_data6", "sdio0_cmd", "sdio0_data0", "sdio0_data1", 96d2d13ed0SYendapally Reddy Dhananjaya Reddy"sdio0_data2", "sdio1_led_on", "sdio1_wp", "sdio0_cd_l", "sdio0_clk", 97d2d13ed0SYendapally Reddy Dhananjaya Reddy"sdio1_data5", "sdio1_data6", "sdio1_data7", "sdio1_emmc_rst", "sdio1_data1", 98d2d13ed0SYendapally Reddy Dhananjaya Reddy"sdio1_data2", "sdio1_data3", "sdio1_data4", "sdio1_cd_l", "sdio1_clk", 99d2d13ed0SYendapally Reddy Dhananjaya Reddy"sdio1_cmd", "sdio1_data0", "ext_mdio_0", "ext_mdc_0", "usb3_p1_vbus_ppc", 100d2d13ed0SYendapally Reddy Dhananjaya Reddy"usb3_p1_overcurrent", "usb3_p0_vbus_ppc", "usb3_p0_overcurrent", 101d2d13ed0SYendapally Reddy Dhananjaya Reddy"usb2_presence_indication", "usb2_vbus_present", "usb2_vbus_ppc", 102d2d13ed0SYendapally Reddy Dhananjaya Reddy"usb2_overcurrent", "sata_led1", "sata_led0" 103