^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) Netlogic XLP Family GPIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) ========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) This GPIO driver is used for following Netlogic XLP SoCs:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) XLP832, XLP316, XLP208, XLP980, XLP532
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) This GPIO driver is also compatible with GPIO controller found on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) Broadcom Vulcan ARM64.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) -------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) - compatible: Should be one of the following:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) - "netlogic,xlp832-gpio": For Netlogic XLP832
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) - "netlogic,xlp316-gpio": For Netlogic XLP316
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) - "netlogic,xlp208-gpio": For Netlogic XLP208
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) - "netlogic,xlp980-gpio": For Netlogic XLP980
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) - "netlogic,xlp532-gpio": For Netlogic XLP532
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) - "brcm,vulcan-gpio": For Broadcom Vulcan ARM64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) - reg: Physical base address and length of the controller's registers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) - #gpio-cells: Should be two. The first cell is the pin number and the second
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) cell is used to specify optional parameters (currently unused).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) - gpio-controller: Marks the device node as a GPIO controller.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) - nr-gpios: Number of GPIO pins supported by the controller.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) - interrupt-cells: Should be two. The first cell is the GPIO Number. The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) second cell is used to specify flags. The following subset of flags is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) supported:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) - trigger type:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 1 = low to high edge triggered.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 2 = high to low edge triggered.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 4 = active high level-sensitive.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 8 = active low level-sensitive.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) - interrupts: Interrupt number for this device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) - interrupt-controller: Identifies the node as an interrupt controller.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) Example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) gpio: xlp_gpio@34000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) compatible = "netlogic,xlp316-gpio";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) reg = <0 0x34100 0x1000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 0 0x35100 0x1000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) #gpio-cells = <2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) gpio-controller;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) nr-gpios = <57>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) #interrupt-cells = <2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) interrupt-parent = <&pic>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) interrupts = <39>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) interrupt-controller;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) };