Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

* Marvell PXA GPIO controller

Required properties:
- compatible : Should be "intel,pxa25x-gpio", "intel,pxa26x-gpio",
		"intel,pxa27x-gpio", "intel,pxa3xx-gpio",
		"marvell,pxa93x-gpio", "marvell,mmp-gpio",
		"marvell,mmp2-gpio" or marvell,pxa1928-gpio.
- reg : Address and length of the register set for the device
- interrupts : Should be the port interrupt shared by all gpio pins.
  There're three gpio interrupts in arch-pxa, and they're gpio0,
  gpio1 and gpio_mux. There're only one gpio interrupt in arch-mmp,
  gpio_mux.
- interrupt-names : Should be the names of irq resources. Each interrupt
  uses its own interrupt name, so there should be as many interrupt names
  as referenced interrupts.
- interrupt-controller : Identifies the node as an interrupt controller.
- #interrupt-cells: Specifies the number of cells needed to encode an
  interrupt source.
- gpio-controller : Marks the device node as a gpio controller.
- #gpio-cells : Should be two.  The first cell is the pin number and
  the second cell is used to specify flags. See gpio.txt for possible
  values.

Example for a MMP platform:

	gpio: gpio@d4019000 {
		compatible = "marvell,mmp-gpio";
		reg = <0xd4019000 0x1000>;
		interrupts = <49>;
		interrupt-names = "gpio_mux";
		gpio-controller;
		#gpio-cells = <2>;
		interrupt-controller;
		#interrupt-cells = <1>;
      };

Example for a PXA3xx platform:

	gpio: gpio@40e00000 {
		compatible = "intel,pxa3xx-gpio";
		reg = <0x40e00000 0x10000>;
		interrupt-names = "gpio0", "gpio1", "gpio_mux";
		interrupts = <8 9 10>;
		gpio-controller;
		#gpio-cells = <0x2>;
		interrupt-controller;
		#interrupt-cells = <0x2>;
	};