Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7a637fd3 authored by Hongwei Zhang's avatar Hongwei Zhang Committed by Linus Walleij
Browse files

dt-bindings: gpio: aspeed: Add SGPIO support



Add bindings to support SGPIO on AST2400 or AST2500.

Signed-off-by: default avatarHongwei Zhang <hongweiz@ami.com>
Reviewed-by: default avatarAndrew Jeffery <andrew@aj.id.au>
Link: https://lore.kernel.org/r/1564603297-1391-2-git-send-email-hongweiz@ami.com


[Adjusted when applying in several ways]
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent b772d7ae
Loading
Loading
Loading
Loading
+45 −0
Original line number Diff line number Diff line
Aspeed SGPIO controller Device Tree Bindings
--------------------------------------------

This SGPIO controller is for ASPEED AST2500 SoC, it supports up to 80 full
featured Serial GPIOs. Each of the Serial GPIO pins can be programmed to
support the following options:
- Support interrupt option for each input port and various interrupt
  sensitivity option (level-high, level-low, edge-high, edge-low)
- Support reset tolerance option for each output port
- Directly connected to APB bus and its shift clock is from APB bus clock
  divided by a programmable value.
- Co-work with external signal-chained TTL components (74LV165/74LV595)

Required properties:

- compatible : Should be one of
  "aspeed,ast2400-sgpio", "aspeed,ast2500-sgpio"
- #gpio-cells : Should be 2, see gpio.txt
- reg : Address and length of the register set for the device
- gpio-controller : Marks the device node as a GPIO controller
- interrupts : Interrupt specifier, see interrupt-controller/interrupts.txt
- interrupt-controller : Mark the GPIO controller as an interrupt-controller
- ngpios : number of GPIO lines, see gpio.txt
  (should be multiple of 8, up to 80 pins)
- clocks : A phandle to the APB clock for SGPM clock division
- bus-frequency : SGPM CLK frequency

The sgpio and interrupt properties are further described in their respective
bindings documentation:

- Documentation/devicetree/bindings/gpio/gpio.txt
- Documentation/devicetree/bindings/interrupt-controller/interrupts.txt

  Example:
	sgpio: sgpio@1e780200 {
		#gpio-cells = <2>;
		compatible = "aspeed,ast2500-sgpio";
		gpio-controller;
		interrupts = <40>;
		reg = <0x1e780200 0x0100>;
		clocks = <&syscon ASPEED_CLK_APB>;
		interrupt-controller;
		ngpios = <8>;
		bus-frequency = <12000000>;
	};