mirror of https://gitee.com/openkylin/linux.git
pinctrl: meson: add device tree bindings documentation
Add device tree bindings documentation for Amlogic Meson pin and GPIO controller. Signed-off-by: Beniamino Galvani <b.galvani@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
842e528e1a
commit
ae76f13b9b
|
@ -0,0 +1,96 @@
|
|||
== Amlogic Meson pinmux controller ==
|
||||
|
||||
Required properties for the root node:
|
||||
- compatible: "amlogic,meson8-pinctrl"
|
||||
- reg: address and size of registers controlling irq functionality
|
||||
|
||||
=== GPIO sub-nodes ===
|
||||
|
||||
The 2 power domains of the controller (regular and always-on) are
|
||||
represented as sub-nodes and each of them acts as a GPIO controller.
|
||||
|
||||
Required properties for sub-nodes are:
|
||||
- reg: should contain address and size for mux, pull-enable, pull and
|
||||
gpio register sets
|
||||
- reg-names: an array of strings describing the "reg" entries. Must
|
||||
contain "mux", "pull" and "gpio". "pull-enable" is optional and
|
||||
when it is missing the "pull" registers are used instead
|
||||
- gpio-controller: identifies the node as a gpio controller
|
||||
- #gpio-cells: must be 2
|
||||
|
||||
Valid sub-node names are:
|
||||
- "banks" for the regular domain
|
||||
- "ao-bank" for the always-on domain
|
||||
|
||||
=== 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 generic properties "bias-disable",
|
||||
"bias-pull-up" and "bias-pull-down", described in file
|
||||
pinctrl-bindings.txt
|
||||
|
||||
=== Example ===
|
||||
|
||||
pinctrl: pinctrl@c1109880 {
|
||||
compatible = "amlogic,meson8-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>;
|
||||
};
|
||||
|
||||
gpio_ao: ao-bank@c1108030 {
|
||||
reg = <0xc8100014 0x4>,
|
||||
<0xc810002c 0x4>,
|
||||
<0xc8100024 0x8>;
|
||||
reg-names = "mux", "pull", "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";
|
||||
};
|
||||
};
|
||||
|
||||
uart_ao_a {
|
||||
mux {
|
||||
groups = "uart_tx_ao_a", "uart_rx_ao_a",
|
||||
"uart_cts_ao_a", "uart_rts_ao_a";
|
||||
function = "uart_ao";
|
||||
};
|
||||
|
||||
conf {
|
||||
pins = "GPIOAO_0", "GPIOAO_1",
|
||||
"GPIOAO_2", "GPIOAO_3";
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
};
|
Loading…
Reference in New Issue