summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 636b6be)
raw | patch | inline | side by side (parent: 636b6be)
author | Suman Anna <s-anna@ti.com> | |
Thu, 21 Feb 2019 03:16:45 +0000 (21:16 -0600) | ||
committer | Suman Anna <s-anna@ti.com> | |
Mon, 25 Feb 2019 19:31:40 +0000 (13:31 -0600) |
Two PRU system events "vring" and "kick" have been added to each
PRU and RTU node in each of the ICSSG0, ICSSG1 and ICSSG2 remote
processor subsystems to enable the virtio/rpmsg communication
between MPU and that PRU/RTU core. The additions are done in the
base k3-am65-main.dtsi, and so are inherited by all the K3 AM65x
boards.
The PRU system events is the preferred approach over using TI
mailboxes, as it eliminates an external peripheral access from
the PRU/RTU-side, and keeps the interrupt generation internal to
the ICSSG. The difference from MPU would be minimal in using one
versus the other.
Mailboxes can still be used if desired, but currently there is
no support on firmware-side for K3 SoCs to use mailboxes. Either
approach would require that an appropriate firmware image is
loaded/booted on the PRU.
Signed-off-by: Suman Anna <s-anna@ti.com>
PRU and RTU node in each of the ICSSG0, ICSSG1 and ICSSG2 remote
processor subsystems to enable the virtio/rpmsg communication
between MPU and that PRU/RTU core. The additions are done in the
base k3-am65-main.dtsi, and so are inherited by all the K3 AM65x
boards.
The PRU system events is the preferred approach over using TI
mailboxes, as it eliminates an external peripheral access from
the PRU/RTU-side, and keeps the interrupt generation internal to
the ICSSG. The difference from MPU would be minimal in using one
versus the other.
Mailboxes can still be used if desired, but currently there is
no support on firmware-side for K3 SoCs to use mailboxes. Either
approach would require that an appropriate firmware image is
loaded/booted on the PRU.
Signed-off-by: Suman Anna <s-anna@ti.com>
arch/arm64/boot/dts/ti/k3-am65-main.dtsi | patch | blob | history |
index d188d1830d20b027a646ac7f838fb92301a0db8a..944f3f2ae07ec3198e33ec53a24e3ef0bd0405af 100644 (file)
<0xb022400 0x100>;
reg-names = "iram", "control", "debug";
firmware-name = "am65x-pru0_0-fw";
+ interrupt-parent = <&icssg0_intc>;
+ interrupts = <16>, <17>;
+ interrupt-names = "vring", "kick";
};
rtu0_0: rtu@b004000 {
<0xb023400 0x100>;
reg-names = "iram", "control", "debug";
firmware-name = "am65x-rtu0_0-fw";
+ interrupt-parent = <&icssg0_intc>;
+ interrupts = <20>, <21>;
+ interrupt-names = "vring", "kick";
};
pru0_1: pru@b038000 {
<0xb024400 0x100>;
reg-names = "iram", "control", "debug";
firmware-name = "am65x-pru0_1-fw";
+ interrupt-parent = <&icssg0_intc>;
+ interrupts = <18>, <19>;
+ interrupt-names = "vring", "kick";
};
rtu0_1: rtu@b006000 {
<0xb023c00 0x100>;
reg-names = "iram", "control", "debug";
firmware-name = "am65x-rtu0_1-fw";
+ interrupt-parent = <&icssg0_intc>;
+ interrupts = <22>, <23>;
+ interrupt-names = "vring", "kick";
};
};
};
<0xb122400 0x100>;
reg-names = "iram", "control", "debug";
firmware-name = "am65x-pru1_0-fw";
+ interrupt-parent = <&icssg1_intc>;
+ interrupts = <16>, <17>;
+ interrupt-names = "vring", "kick";
};
rtu1_0: rtu@b104000 {
<0xb123400 0x100>;
reg-names = "iram", "control", "debug";
firmware-name = "am65x-rtu1_0-fw";
+ interrupt-parent = <&icssg1_intc>;
+ interrupts = <20>, <21>;
+ interrupt-names = "vring", "kick";
};
pru1_1: pru@b138000 {
<0xb124400 0x100>;
reg-names = "iram", "control", "debug";
firmware-name = "am65x-pru1_1-fw";
+ interrupt-parent = <&icssg1_intc>;
+ interrupts = <18>, <19>;
+ interrupt-names = "vring", "kick";
};
rtu1_1: rtu@b106000 {
<0xb123c00 0x100>;
reg-names = "iram", "control", "debug";
firmware-name = "am65x-rtu1_1-fw";
+ interrupt-parent = <&icssg1_intc>;
+ interrupts = <22>, <23>;
+ interrupt-names = "vring", "kick";
};
};
};
<0xb222400 0x100>;
reg-names = "iram", "control", "debug";
firmware-name = "am65x-pru2_0-fw";
+ interrupt-parent = <&icssg2_intc>;
+ interrupts = <16>, <17>;
+ interrupt-names = "vring", "kick";
};
rtu2_0: rtu@b204000 {
<0xb223400 0x100>;
reg-names = "iram", "control", "debug";
firmware-name = "am65x-rtu2_0-fw";
+ interrupt-parent = <&icssg2_intc>;
+ interrupts = <20>, <21>;
+ interrupt-names = "vring", "kick";
};
pru2_1: pru@b238000 {
<0xb224400 0x100>;
reg-names = "iram", "control", "debug";
firmware-name = "am65x-pru2_1-fw";
+ interrupt-parent = <&icssg2_intc>;
+ interrupts = <18>, <19>;
+ interrupt-names = "vring", "kick";
};
rtu2_1: rtu@b206000 {
<0xb223c00 0x100>;
reg-names = "iram", "control", "debug";
firmware-name = "am65x-rtu2_1-fw";
+ interrupt-parent = <&icssg2_intc>;
+ interrupts = <22>, <23>;
+ interrupt-names = "vring", "kick";
};
};
};