| == Amlogic Meson pinmux controller == |
| |
| Required properties for the root node: |
| - compatible: one of "amlogic,meson8-cbus-pinctrl" |
| "amlogic,meson8b-cbus-pinctrl" |
| "amlogic,meson8m2-cbus-pinctrl" |
| "amlogic,meson8-aobus-pinctrl" |
| "amlogic,meson8b-aobus-pinctrl" |
| "amlogic,meson8m2-aobus-pinctrl" |
| "amlogic,meson-gxbb-periphs-pinctrl" |
| "amlogic,meson-gxbb-aobus-pinctrl" |
| "amlogic,meson-gxl-periphs-pinctrl" |
| "amlogic,meson-gxl-aobus-pinctrl" |
| "amlogic,meson-axg-periphs-pinctrl" |
| "amlogic,meson-axg-aobus-pinctrl" |
| "amlogic,meson-g12a-periphs-pinctrl" |
| "amlogic,meson-g12a-aobus-pinctrl" |
| "amlogic,meson-a1-periphs-pinctrl" |
| - reg: address and size of registers controlling irq functionality |
| |
| === GPIO sub-nodes === |
| |
| The GPIO bank for the controller is represented as a sub-node and it acts as a |
| GPIO controller. |
| |
| Required properties for sub-nodes are: |
| - reg: should contain a list of address and size, one tuple for each entry |
| in reg-names. |
| - reg-names: an array of strings describing the "reg" entries. |
| Must contain "mux" and "gpio". |
| May contain "pull", "pull-enable" and "ds" when appropriate. |
| - gpio-controller: identifies the node as a gpio controller |
| - #gpio-cells: must be 2 |
| |
| === Other sub-nodes === |
| |
| Child nodes without the "gpio-controller" represent some desired |
| configuration for a pin or a group. Those nodes can be pinmux nodes or |
| configuration nodes. |
| |
| Required properties for pinmux nodes are: |
| - groups: a list of pinmux groups. The list of all available groups |
| depends on the SoC and can be found in driver sources. |
| - function: the name of a function to activate for the specified set |
| of groups. The list of all available functions depends on the SoC |
| and can be found in driver sources. |
| |
| Required properties for configuration nodes: |
| - pins: a list of pin names |
| |
| Configuration nodes support the following generic properties, as |
| described in file pinctrl-bindings.txt: |
| - "bias-disable" |
| - "bias-pull-up" |
| - "bias-pull-down" |
| - "output-enable" |
| - "output-disable" |
| - "output-low" |
| - "output-high" |
| |
| Optional properties : |
| - drive-strength-microamp: Drive strength for the specified pins in uA. |
| This property is only valid for G12A and newer. |
| |
| === Example === |
| |
| pinctrl: pinctrl@c1109880 { |
| compatible = "amlogic,meson8-cbus-pinctrl"; |
| reg = <0xc1109880 0x10>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| ranges; |
| |
| gpio: banks@c11080b0 { |
| reg = <0xc11080b0 0x28>, |
| <0xc11080e8 0x18>, |
| <0xc1108120 0x18>, |
| <0xc1108030 0x30>; |
| reg-names = "mux", "pull", "pull-enable", "gpio"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| }; |
| |
| nand { |
| mux { |
| groups = "nand_io", "nand_io_ce0", "nand_io_ce1", |
| "nand_io_rb0", "nand_ale", "nand_cle", |
| "nand_wen_clk", "nand_ren_clk", "nand_dqs", |
| "nand_ce2", "nand_ce3"; |
| function = "nand"; |
| }; |
| }; |
| }; |