···11-Ingenic jz47xx GPIO controller22-33-That the Ingenic GPIO driver node must be a sub-node of the Ingenic pinctrl44-driver node.55-66-Required properties:77---------------------88-99- - compatible: Must contain one of:1010- - "ingenic,jz4740-gpio"1111- - "ingenic,jz4770-gpio"1212- - "ingenic,jz4780-gpio"1313- - reg: The GPIO bank number.1414- - interrupt-controller: Marks the device node as an interrupt controller.1515- - interrupts: Interrupt specifier for the controllers interrupt.1616- - #interrupt-cells: Should be 2. Refer to1717- ../interrupt-controller/interrupts.txt for more details.1818- - gpio-controller: Marks the device node as a GPIO controller.1919- - #gpio-cells: Should be 2. The first cell is the GPIO number and the second2020- cell specifies GPIO flags, as defined in <dt-bindings/gpio/gpio.h>. Only the2121- GPIO_ACTIVE_HIGH and GPIO_ACTIVE_LOW flags are supported.2222- - gpio-ranges: Range of pins managed by the GPIO controller. Refer to2323- 'gpio.txt' in this directory for more details.2424-2525-Example:2626---------2727-2828-&pinctrl {2929- #address-cells = <1>;3030- #size-cells = <0>;3131-3232- gpa: gpio@0 {3333- compatible = "ingenic,jz4740-gpio";3434- reg = <0>;3535-3636- gpio-controller;3737- gpio-ranges = <&pinctrl 0 0 32>;3838- #gpio-cells = <2>;3939-4040- interrupt-controller;4141- #interrupt-cells = <2>;4242-4343- interrupt-parent = <&intc>;4444- interrupts = <28>;4545- };4646-};
···20202121 - compatible: One of:2222 - "ingenic,jz4740-pinctrl"2323+ - "ingenic,jz4725b-pinctrl"2324 - "ingenic,jz4770-pinctrl"2425 - "ingenic,jz4780-pinctrl"2526 - reg: Address range of the pinctrl registers.262727282828-GPIO sub-nodes2929---------------2929+Required properties for sub-nodes (GPIO chips):3030+-----------------------------------------------30313131-The pinctrl node can have optional sub-nodes for the Ingenic GPIO driver;3232-please refer to ../gpio/ingenic,gpio.txt.3232+ - compatible: Must contain one of:3333+ - "ingenic,jz4740-gpio"3434+ - "ingenic,jz4770-gpio"3535+ - "ingenic,jz4780-gpio"3636+ - reg: The GPIO bank number.3737+ - interrupt-controller: Marks the device node as an interrupt controller.3838+ - interrupts: Interrupt specifier for the controllers interrupt.3939+ - #interrupt-cells: Should be 2. Refer to4040+ ../interrupt-controller/interrupts.txt for more details.4141+ - gpio-controller: Marks the device node as a GPIO controller.4242+ - #gpio-cells: Should be 2. The first cell is the GPIO number and the second4343+ cell specifies GPIO flags, as defined in <dt-bindings/gpio/gpio.h>. Only the4444+ GPIO_ACTIVE_HIGH and GPIO_ACTIVE_LOW flags are supported.4545+ - gpio-ranges: Range of pins managed by the GPIO controller. Refer to4646+ ../gpio/gpio.txt for more details.334734483549Example:···5238pinctrl: pin-controller@10010000 {5339 compatible = "ingenic,jz4740-pinctrl";5440 reg = <0x10010000 0x400>;4141+ #address-cells = <1>;4242+ #size-cells = <0>;4343+4444+ gpa: gpio@0 {4545+ compatible = "ingenic,jz4740-gpio";4646+ reg = <0>;4747+4848+ gpio-controller;4949+ gpio-ranges = <&pinctrl 0 0 32>;5050+ #gpio-cells = <2>;5151+5252+ interrupt-controller;5353+ #interrupt-cells = <2>;5454+5555+ interrupt-parent = <&intc>;5656+ interrupts = <28>;5757+ };5558};
-11
drivers/gpio/Kconfig
···267267268268 If unsure, say N.269269270270-config GPIO_INGENIC271271- tristate "Ingenic JZ47xx SoCs GPIO support"272272- depends on OF273273- depends on MACH_INGENIC || COMPILE_TEST274274- select GPIOLIB_IRQCHIP275275- help276276- Say yes here to support the GPIO functionality present on the277277- JZ4740 and JZ4780 SoCs from Ingenic.278278-279279- If unsure, say N.280280-281270config GPIO_IOP282271 tristate "Intel IOP GPIO"283272 depends on ARCH_IOP32X || ARCH_IOP33X || COMPILE_TEST