1354d7675SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2354d7675SEmmanuel Vadot%YAML 1.2 3354d7675SEmmanuel Vadot--- 4354d7675SEmmanuel Vadot$id: http://devicetree.org/schemas/gpio/aspeed,sgpio.yaml# 5354d7675SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6354d7675SEmmanuel Vadot 7354d7675SEmmanuel Vadottitle: Aspeed SGPIO controller 8354d7675SEmmanuel Vadot 9354d7675SEmmanuel Vadotmaintainers: 10354d7675SEmmanuel Vadot - Andrew Jeffery <andrew@aj.id.au> 11354d7675SEmmanuel Vadot 12354d7675SEmmanuel Vadotdescription: 13354d7675SEmmanuel Vadot This SGPIO controller is for ASPEED AST2400, AST2500 and AST2600 SoC, 14354d7675SEmmanuel Vadot AST2600 have two sgpio master one with 128 pins another one with 80 pins, 15354d7675SEmmanuel Vadot AST2500/AST2400 have one sgpio master with 80 pins. Each of the Serial 16354d7675SEmmanuel Vadot GPIO pins can be programmed to support the following options 17354d7675SEmmanuel Vadot - Support interrupt option for each input port and various interrupt 18354d7675SEmmanuel Vadot sensitivity option (level-high, level-low, edge-high, edge-low) 19354d7675SEmmanuel Vadot - Support reset tolerance option for each output port 20354d7675SEmmanuel Vadot - Directly connected to APB bus and its shift clock is from APB bus clock 21354d7675SEmmanuel Vadot divided by a programmable value. 22354d7675SEmmanuel Vadot - Co-work with external signal-chained TTL components (74LV165/74LV595) 23354d7675SEmmanuel Vadot 24354d7675SEmmanuel Vadotproperties: 25354d7675SEmmanuel Vadot compatible: 26354d7675SEmmanuel Vadot enum: 27354d7675SEmmanuel Vadot - aspeed,ast2400-sgpio 28354d7675SEmmanuel Vadot - aspeed,ast2500-sgpio 29354d7675SEmmanuel Vadot - aspeed,ast2600-sgpiom 30354d7675SEmmanuel Vadot 31354d7675SEmmanuel Vadot reg: 32354d7675SEmmanuel Vadot maxItems: 1 33354d7675SEmmanuel Vadot 34354d7675SEmmanuel Vadot gpio-controller: true 35354d7675SEmmanuel Vadot 36*0e8011faSEmmanuel Vadot # Each SGPIO is represented as a pair of input and output GPIOs 37*0e8011faSEmmanuel Vadot gpio-line-names: 38*0e8011faSEmmanuel Vadot minItems: 160 39*0e8011faSEmmanuel Vadot maxItems: 256 40*0e8011faSEmmanuel Vadot 41354d7675SEmmanuel Vadot '#gpio-cells': 42354d7675SEmmanuel Vadot const: 2 43354d7675SEmmanuel Vadot 44354d7675SEmmanuel Vadot interrupts: 45354d7675SEmmanuel Vadot maxItems: 1 46354d7675SEmmanuel Vadot 47354d7675SEmmanuel Vadot interrupt-controller: true 48354d7675SEmmanuel Vadot 49*0e8011faSEmmanuel Vadot '#interrupt-cells': 50*0e8011faSEmmanuel Vadot const: 2 51*0e8011faSEmmanuel Vadot 52354d7675SEmmanuel Vadot clocks: 53354d7675SEmmanuel Vadot maxItems: 1 54354d7675SEmmanuel Vadot 55354d7675SEmmanuel Vadot ngpios: true 56354d7675SEmmanuel Vadot 57354d7675SEmmanuel Vadot bus-frequency: true 58354d7675SEmmanuel Vadot 59354d7675SEmmanuel Vadotrequired: 60354d7675SEmmanuel Vadot - compatible 61354d7675SEmmanuel Vadot - reg 62354d7675SEmmanuel Vadot - gpio-controller 63354d7675SEmmanuel Vadot - '#gpio-cells' 64354d7675SEmmanuel Vadot - interrupts 65354d7675SEmmanuel Vadot - interrupt-controller 66*0e8011faSEmmanuel Vadot - '#interrupt-cells' 67354d7675SEmmanuel Vadot - ngpios 68354d7675SEmmanuel Vadot - clocks 69354d7675SEmmanuel Vadot - bus-frequency 70354d7675SEmmanuel Vadot 71354d7675SEmmanuel VadotadditionalProperties: false 72354d7675SEmmanuel Vadot 73354d7675SEmmanuel Vadotexamples: 74354d7675SEmmanuel Vadot - | 75354d7675SEmmanuel Vadot #include <dt-bindings/clock/aspeed-clock.h> 76354d7675SEmmanuel Vadot sgpio: sgpio@1e780200 { 77354d7675SEmmanuel Vadot #gpio-cells = <2>; 78354d7675SEmmanuel Vadot compatible = "aspeed,ast2500-sgpio"; 79354d7675SEmmanuel Vadot gpio-controller; 80354d7675SEmmanuel Vadot interrupts = <40>; 81354d7675SEmmanuel Vadot reg = <0x1e780200 0x0100>; 82354d7675SEmmanuel Vadot clocks = <&syscon ASPEED_CLK_APB>; 83354d7675SEmmanuel Vadot interrupt-controller; 84*0e8011faSEmmanuel Vadot #interrupt-cells = <2>; 85354d7675SEmmanuel Vadot ngpios = <80>; 86354d7675SEmmanuel Vadot bus-frequency = <12000000>; 87354d7675SEmmanuel Vadot }; 88