summaryrefslogtreecommitdiff
path: root/doc/device-tree-bindings/gpio/intel,apl-gpio.txt
blob: 8422ff63abd256783479f2750377c10836a2057c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Intel Apollo Lake GPIO controller

The Apollo Lake (APL) GPIO controller is used to control GPIO functions of
the pins.

Required properties:
- compatible: "intel,apl-gpio"
- #gpio-cells: Should be 2. The syntax of the gpio specifier used by client
  nodes should be the following with values derived from the SoC user manual.
     <[phandle of the gpio controller node]
      [pin number within the gpio controller]
      [flags]>

  Values for gpio specifier:
  - Pin number: is a GPIO pin number between 0 and 244
  - Flags: GPIO_ACTIVE_HIGH or GPIO_ACTIVE_LOW

- gpio-controller: Specifies that the node is a gpio controller.

Example:

...
{
	p2sb: p2sb@d,0 {
		reg = <0x02006810 0 0 0 0>;
		compatible = "intel,p2sb";
		early-regs = <IOMAP_P2SB_BAR 0x100000>;

		north {
			compatible = "intel,apl-pinctrl";
			intel,p2sb-port-id = <PID_GPIO_N>;
			gpio_n: gpio-n {
				compatible = "intel,gpio";
				gpio-controller;
				#gpio-cells = <2>;
			};
		};
	};

	i2c_2: i2c2@16,2 {
		compatible = "intel,apl-i2c", "snps,designware-i2c-pci";
		reg = <0x0200b210 0 0 0 0>;
		#address-cells = <1>;
		#size-cells = <0>;
		clock-frequency = <400000>;
		tpm@50 {
			reg = <0x50>;
			compatible = "google,cr50";
			u-boot,i2c-offset-len = <0>;
			ready-gpios = <&gpio_n GPIO_28 GPIO_ACTIVE_LOW>;
		};
	};

};
...