1*c66ec88fSEmmanuel VadotKeystone 2 DSP GPIO controller bindings 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotHOST OS userland running on ARM can send interrupts to DSP cores using 4*c66ec88fSEmmanuel Vadotthe DSP GPIO controller IP. It provides 28 IRQ signals per each DSP core. 5*c66ec88fSEmmanuel VadotThis is one of the component used by the IPC mechanism used on Keystone SOCs. 6*c66ec88fSEmmanuel Vadot 7*c66ec88fSEmmanuel VadotFor example TCI6638K2K SoC has 8 DSP GPIO controllers: 8*c66ec88fSEmmanuel Vadot - 8 for C66x CorePacx CPUs 0-7 9*c66ec88fSEmmanuel Vadot 10*c66ec88fSEmmanuel VadotKeystone 2 DSP GPIO controller has specific features: 11*c66ec88fSEmmanuel Vadot- each GPIO can be configured only as output pin; 12*c66ec88fSEmmanuel Vadot- setting GPIO value to 1 causes IRQ generation on target DSP core; 13*c66ec88fSEmmanuel Vadot- reading pin value returns 0 - if IRQ was handled or 1 - IRQ is still 14*c66ec88fSEmmanuel Vadot pending. 15*c66ec88fSEmmanuel Vadot 16*c66ec88fSEmmanuel VadotRequired Properties: 17*c66ec88fSEmmanuel Vadot- compatible: should be "ti,keystone-dsp-gpio" 18*c66ec88fSEmmanuel Vadot- ti,syscon-dev: phandle/offset pair. The phandle to syscon used to 19*c66ec88fSEmmanuel Vadot access device state control registers and the offset of device's specific 20*c66ec88fSEmmanuel Vadot registers within device state control registers range. 21*c66ec88fSEmmanuel Vadot- gpio-controller: Marks the device node as a gpio controller. 22*c66ec88fSEmmanuel Vadot- #gpio-cells: Should be 2. 23*c66ec88fSEmmanuel Vadot 24*c66ec88fSEmmanuel VadotPlease refer to gpio.txt in this directory for details of the common GPIO 25*c66ec88fSEmmanuel Vadotbindings used by client devices. 26*c66ec88fSEmmanuel Vadot 27*c66ec88fSEmmanuel VadotExample: 28*c66ec88fSEmmanuel Vadot dspgpio0: keystone_dsp_gpio@2620240 { 29*c66ec88fSEmmanuel Vadot compatible = "ti,keystone-dsp-gpio"; 30*c66ec88fSEmmanuel Vadot ti,syscon-dev = <&devctrl 0x240>; 31*c66ec88fSEmmanuel Vadot gpio-controller; 32*c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 33*c66ec88fSEmmanuel Vadot }; 34*c66ec88fSEmmanuel Vadot 35*c66ec88fSEmmanuel Vadot dsp0: dsp0 { 36*c66ec88fSEmmanuel Vadot compatible = "linux,rproc-user"; 37*c66ec88fSEmmanuel Vadot ... 38*c66ec88fSEmmanuel Vadot kick-gpio = <&dspgpio0 27>; 39*c66ec88fSEmmanuel Vadot }; 40