162306a36Sopenharmony_ciKeystone 2 DSP GPIO controller bindings
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciHOST OS userland running on ARM can send interrupts to DSP cores using
462306a36Sopenharmony_cithe DSP GPIO controller IP. It provides 28 IRQ signals per each DSP core.
562306a36Sopenharmony_ciThis is one of the component used by the IPC mechanism used on Keystone SOCs.
662306a36Sopenharmony_ci
762306a36Sopenharmony_ciFor example TCI6638K2K SoC has 8 DSP GPIO controllers:
862306a36Sopenharmony_ci - 8 for C66x CorePacx CPUs 0-7
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciKeystone 2 DSP GPIO controller has specific features:
1162306a36Sopenharmony_ci- each GPIO can be configured only as output pin;
1262306a36Sopenharmony_ci- setting GPIO value to 1 causes IRQ generation on target DSP core;
1362306a36Sopenharmony_ci- reading pin value returns 0 - if IRQ was handled or 1 - IRQ is still
1462306a36Sopenharmony_ci  pending.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciRequired Properties:
1762306a36Sopenharmony_ci- compatible: should be "ti,keystone-dsp-gpio"
1862306a36Sopenharmony_ci- ti,syscon-dev: phandle/offset pair. The phandle to syscon used to
1962306a36Sopenharmony_ci  access device state control registers and the offset of device's specific
2062306a36Sopenharmony_ci  registers within device state control registers range.
2162306a36Sopenharmony_ci- gpio-controller: Marks the device node as a gpio controller.
2262306a36Sopenharmony_ci- #gpio-cells: Should be 2.
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ciPlease refer to gpio.txt in this directory for details of the common GPIO
2562306a36Sopenharmony_cibindings used by client devices.
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ciExample:
2862306a36Sopenharmony_ci	dspgpio0: keystone_dsp_gpio@2620240 {
2962306a36Sopenharmony_ci		compatible = "ti,keystone-dsp-gpio";
3062306a36Sopenharmony_ci		ti,syscon-dev = <&devctrl 0x240>;
3162306a36Sopenharmony_ci		gpio-controller;
3262306a36Sopenharmony_ci		#gpio-cells = <2>;
3362306a36Sopenharmony_ci	};
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci	dsp0: dsp0 {
3662306a36Sopenharmony_ci		compatible = "linux,rproc-user";
3762306a36Sopenharmony_ci		...
3862306a36Sopenharmony_ci		kick-gpio = <&dspgpio0 27>;
3962306a36Sopenharmony_ci	};
40