mirror of
https://github.com/torvalds/linux.git
synced 2024-12-24 20:01:55 +00:00
890e48be8d
The pinctrl-ingenic driver now supports the JZ4725B SoC. Furthermore, the gpio-ingenic driver was dropped and the pinctrl-ingenic driver is now responsible for providing the GPIO functionality. Signed-off-by: Paul Cercueil <paul@crapouillou.net> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
73 lines
2.3 KiB
Plaintext
73 lines
2.3 KiB
Plaintext
Ingenic jz47xx pin controller
|
|
|
|
Please refer to pinctrl-bindings.txt in this directory for details of the
|
|
common pinctrl bindings used by client devices, including the meaning of the
|
|
phrase "pin configuration node".
|
|
|
|
For the jz47xx SoCs, pin control is tightly bound with GPIO ports. All pins may
|
|
be used as GPIOs, multiplexed device functions are configured within the
|
|
GPIO port configuration registers and it is typical to refer to pins using the
|
|
naming scheme "PxN" where x is a character identifying the GPIO port with
|
|
which the pin is associated and N is an integer from 0 to 31 identifying the
|
|
pin within that GPIO port. For example PA0 is the first pin in GPIO port A, and
|
|
PB31 is the last pin in GPIO port B. The jz4740 contains 4 GPIO ports, PA to
|
|
PD, for a total of 128 pins. The jz4780 contains 6 GPIO ports, PA to PF, for a
|
|
total of 192 pins.
|
|
|
|
|
|
Required properties:
|
|
--------------------
|
|
|
|
- compatible: One of:
|
|
- "ingenic,jz4740-pinctrl"
|
|
- "ingenic,jz4725b-pinctrl"
|
|
- "ingenic,jz4770-pinctrl"
|
|
- "ingenic,jz4780-pinctrl"
|
|
- reg: Address range of the pinctrl registers.
|
|
|
|
|
|
Required properties for sub-nodes (GPIO chips):
|
|
-----------------------------------------------
|
|
|
|
- compatible: Must contain one of:
|
|
- "ingenic,jz4740-gpio"
|
|
- "ingenic,jz4770-gpio"
|
|
- "ingenic,jz4780-gpio"
|
|
- reg: The GPIO bank number.
|
|
- interrupt-controller: Marks the device node as an interrupt controller.
|
|
- interrupts: Interrupt specifier for the controllers interrupt.
|
|
- #interrupt-cells: Should be 2. Refer to
|
|
../interrupt-controller/interrupts.txt for more details.
|
|
- gpio-controller: Marks the device node as a GPIO controller.
|
|
- #gpio-cells: Should be 2. The first cell is the GPIO number and the second
|
|
cell specifies GPIO flags, as defined in <dt-bindings/gpio/gpio.h>. Only the
|
|
GPIO_ACTIVE_HIGH and GPIO_ACTIVE_LOW flags are supported.
|
|
- gpio-ranges: Range of pins managed by the GPIO controller. Refer to
|
|
../gpio/gpio.txt for more details.
|
|
|
|
|
|
Example:
|
|
--------
|
|
|
|
pinctrl: pin-controller@10010000 {
|
|
compatible = "ingenic,jz4740-pinctrl";
|
|
reg = <0x10010000 0x400>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
gpa: gpio@0 {
|
|
compatible = "ingenic,jz4740-gpio";
|
|
reg = <0>;
|
|
|
|
gpio-controller;
|
|
gpio-ranges = <&pinctrl 0 0 32>;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <28>;
|
|
};
|
|
};
|