brcm,ns2-pinmux.txt 3.1 KB

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