xref: /freebsd-src/sys/contrib/device-tree/Bindings/gpio/gpio-dsp-keystone.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
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