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