95 lines
2.9 KiB
Plaintext
95 lines
2.9 KiB
Plaintext
|
== 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"
|
||
|
"amlogic,meson-s4-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";
|
||
|
};
|
||
|
};
|
||
|
};
|