1*833e5d42SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*833e5d42SEmmanuel Vadot%YAML 1.2 3*833e5d42SEmmanuel Vadot--- 4*833e5d42SEmmanuel Vadot$id: http://devicetree.org/schemas/gpio/ti,keystone-dsp-gpio.yaml# 5*833e5d42SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*833e5d42SEmmanuel Vadot 7*833e5d42SEmmanuel Vadottitle: Keystone 2 DSP GPIO controller 8*833e5d42SEmmanuel Vadot 9*833e5d42SEmmanuel Vadotmaintainers: 10*833e5d42SEmmanuel Vadot - Grygorii Strashko <grygorii.strashko@ti.com> 11*833e5d42SEmmanuel Vadot 12*833e5d42SEmmanuel Vadotdescription: | 13*833e5d42SEmmanuel Vadot HOST OS userland running on ARM can send interrupts to DSP cores using 14*833e5d42SEmmanuel Vadot the DSP GPIO controller IP. It provides 28 IRQ signals per each DSP core. 15*833e5d42SEmmanuel Vadot This is one of the component used by the IPC mechanism used on Keystone SOCs. 16*833e5d42SEmmanuel Vadot 17*833e5d42SEmmanuel Vadot For example TCI6638K2K SoC has 8 DSP GPIO controllers: 18*833e5d42SEmmanuel Vadot - 8 for C66x CorePacx CPUs 0-7 19*833e5d42SEmmanuel Vadot 20*833e5d42SEmmanuel Vadot Keystone 2 DSP GPIO controller has specific features: 21*833e5d42SEmmanuel Vadot - each GPIO can be configured only as output pin; 22*833e5d42SEmmanuel Vadot - setting GPIO value to 1 causes IRQ generation on target DSP core; 23*833e5d42SEmmanuel Vadot - reading pin value returns 0 - if IRQ was handled or 1 - IRQ is still 24*833e5d42SEmmanuel Vadot pending. 25*833e5d42SEmmanuel Vadot 26*833e5d42SEmmanuel Vadotproperties: 27*833e5d42SEmmanuel Vadot compatible: 28*833e5d42SEmmanuel Vadot const: ti,keystone-dsp-gpio 29*833e5d42SEmmanuel Vadot 30*833e5d42SEmmanuel Vadot reg: 31*833e5d42SEmmanuel Vadot maxItems: 1 32*833e5d42SEmmanuel Vadot 33*833e5d42SEmmanuel Vadot gpio-controller: true 34*833e5d42SEmmanuel Vadot 35*833e5d42SEmmanuel Vadot '#gpio-cells': 36*833e5d42SEmmanuel Vadot const: 2 37*833e5d42SEmmanuel Vadot 38*833e5d42SEmmanuel Vadot gpio,syscon-dev: 39*833e5d42SEmmanuel Vadot description: 40*833e5d42SEmmanuel Vadot Phandle and offset of device's specific registers within the syscon state 41*833e5d42SEmmanuel Vadot control registers 42*833e5d42SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle-array 43*833e5d42SEmmanuel Vadot items: 44*833e5d42SEmmanuel Vadot - items: 45*833e5d42SEmmanuel Vadot - description: phandle to syscon 46*833e5d42SEmmanuel Vadot - description: register offset within state control registers 47*833e5d42SEmmanuel Vadot 48*833e5d42SEmmanuel Vadotrequired: 49*833e5d42SEmmanuel Vadot - compatible 50*833e5d42SEmmanuel Vadot - reg 51*833e5d42SEmmanuel Vadot - gpio-controller 52*833e5d42SEmmanuel Vadot - '#gpio-cells' 53*833e5d42SEmmanuel Vadot - gpio,syscon-dev 54*833e5d42SEmmanuel Vadot 55*833e5d42SEmmanuel VadotadditionalProperties: false 56*833e5d42SEmmanuel Vadot 57*833e5d42SEmmanuel Vadotexamples: 58*833e5d42SEmmanuel Vadot - | 59*833e5d42SEmmanuel Vadot gpio@240 { 60*833e5d42SEmmanuel Vadot compatible = "ti,keystone-dsp-gpio"; 61*833e5d42SEmmanuel Vadot reg = <0x240 0x4>; 62*833e5d42SEmmanuel Vadot gpio-controller; 63*833e5d42SEmmanuel Vadot #gpio-cells = <2>; 64*833e5d42SEmmanuel Vadot gpio,syscon-dev = <&devctrl 0x240>; 65*833e5d42SEmmanuel Vadot }; 66