162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/gpio/aspeed,sgpio.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Aspeed SGPIO controller 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Andrew Jeffery <andrew@aj.id.au> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: 1362306a36Sopenharmony_ci This SGPIO controller is for ASPEED AST2400, AST2500 and AST2600 SoC, 1462306a36Sopenharmony_ci AST2600 have two sgpio master one with 128 pins another one with 80 pins, 1562306a36Sopenharmony_ci AST2500/AST2400 have one sgpio master with 80 pins. Each of the Serial 1662306a36Sopenharmony_ci GPIO pins can be programmed to support the following options 1762306a36Sopenharmony_ci - Support interrupt option for each input port and various interrupt 1862306a36Sopenharmony_ci sensitivity option (level-high, level-low, edge-high, edge-low) 1962306a36Sopenharmony_ci - Support reset tolerance option for each output port 2062306a36Sopenharmony_ci - Directly connected to APB bus and its shift clock is from APB bus clock 2162306a36Sopenharmony_ci divided by a programmable value. 2262306a36Sopenharmony_ci - Co-work with external signal-chained TTL components (74LV165/74LV595) 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ciproperties: 2562306a36Sopenharmony_ci compatible: 2662306a36Sopenharmony_ci enum: 2762306a36Sopenharmony_ci - aspeed,ast2400-sgpio 2862306a36Sopenharmony_ci - aspeed,ast2500-sgpio 2962306a36Sopenharmony_ci - aspeed,ast2600-sgpiom 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci reg: 3262306a36Sopenharmony_ci maxItems: 1 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci gpio-controller: true 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci '#gpio-cells': 3762306a36Sopenharmony_ci const: 2 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci interrupts: 4062306a36Sopenharmony_ci maxItems: 1 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci interrupt-controller: true 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci clocks: 4562306a36Sopenharmony_ci maxItems: 1 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci ngpios: true 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci bus-frequency: true 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_cirequired: 5262306a36Sopenharmony_ci - compatible 5362306a36Sopenharmony_ci - reg 5462306a36Sopenharmony_ci - gpio-controller 5562306a36Sopenharmony_ci - '#gpio-cells' 5662306a36Sopenharmony_ci - interrupts 5762306a36Sopenharmony_ci - interrupt-controller 5862306a36Sopenharmony_ci - ngpios 5962306a36Sopenharmony_ci - clocks 6062306a36Sopenharmony_ci - bus-frequency 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ciadditionalProperties: false 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ciexamples: 6562306a36Sopenharmony_ci - | 6662306a36Sopenharmony_ci #include <dt-bindings/clock/aspeed-clock.h> 6762306a36Sopenharmony_ci sgpio: sgpio@1e780200 { 6862306a36Sopenharmony_ci #gpio-cells = <2>; 6962306a36Sopenharmony_ci compatible = "aspeed,ast2500-sgpio"; 7062306a36Sopenharmony_ci gpio-controller; 7162306a36Sopenharmony_ci interrupts = <40>; 7262306a36Sopenharmony_ci reg = <0x1e780200 0x0100>; 7362306a36Sopenharmony_ci clocks = <&syscon ASPEED_CLK_APB>; 7462306a36Sopenharmony_ci interrupt-controller; 7562306a36Sopenharmony_ci ngpios = <80>; 7662306a36Sopenharmony_ci bus-frequency = <12000000>; 7762306a36Sopenharmony_ci }; 78