^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) Samsung Exynos4 GPIO Controller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) - compatible: Compatible property value should be "samsung,exynos4-gpio>".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) - reg: Physical base address of the controller and length of memory mapped
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) region.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) - #gpio-cells: Should be 4. The syntax of the gpio specifier used by client nodes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) should be the following with values derived from the SoC user manual.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) <[phandle of the gpio controller node]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) [pin number within the gpio controller]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) [mux function]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) [flags and pull up/down]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) [drive strength]>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) Values for gpio specifier:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) - Pin number: is a value between 0 to 7.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) - Flags and Pull Up/Down: 0 - Pull Up/Down Disabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) 1 - Pull Down Enabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 3 - Pull Up Enabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) Bit 16 (0x00010000) - Input is active low.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) - Drive Strength: 0 - 1x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 1 - 3x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 2 - 2x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 3 - 4x
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) - gpio-controller: Specifies that the node is a gpio controller.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) - #address-cells: should be 1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) - #size-cells: should be 1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) Example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) gpa0: gpio-controller@11400000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) #address-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) #size-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) compatible = "samsung,exynos4-gpio";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) reg = <0x11400000 0x20>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) #gpio-cells = <4>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) gpio-controller;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) };