stm32mp1: Add remoteproc support for m4 coprocessor
authorPatrick Delaunay <patrick.delaunay@st.com>
Fri, 2 Aug 2019 13:07:18 +0000 (15:07 +0200)
committerPatrice Chotard <patrice.chotard@st.com>
Tue, 27 Aug 2019 09:19:23 +0000 (11:19 +0200)
Alignment with kernel patch proposal for binding:

[PATCH v4 0/8] stm32 m4 remoteproc on STM32MP157c
https://lkml.org/lkml/2019/5/14/159

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
arch/arm/dts/stm32mp157a-dk1.dts
arch/arm/dts/stm32mp157c-ed1.dts
arch/arm/dts/stm32mp157c.dtsi
configs/stm32mp15_basic_defconfig
configs/stm32mp15_optee_defconfig
configs/stm32mp15_trusted_defconfig
drivers/remoteproc/stm32_copro.c

index ba612a5d91c4d7729d3ae8fa9a4486c46fd7dcfe..c210acc0aa22c2bc73facb9837c9a2d65f918323 100644 (file)
        };
 };
 
+&m4_rproc {
+       mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
+       mbox-names = "vq0", "vq1", "shutdown";
+       status = "okay";
+};
+
 &pwr {
        pwr-regulators {
                vdd-supply = <&vdd>;
index 3e8b7b51618145e7429a7ff92c841691120558c2..1d9cc734f122e91a0a6dd0ce28fdc23159c7411a 100644 (file)
        status = "okay";
 };
 
+&m4_rproc {
+       mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
+       mbox-names = "vq0", "vq1", "shutdown";
+       status = "okay";
+};
+
 &pwr {
        pwr-regulators {
                vdd-supply = <&vdd>;
index bcd8c1a59c4364edc1ff3e2919cb1370e2007572..a6045dd682c6900dce9757593690d7e1c59f5aed 100644 (file)
                        status = "disabled";
                };
        };
+
+       mlahb {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               dma-ranges = <0x00000000 0x38000000 0x10000>,
+                            <0x10000000 0x10000000 0x60000>,
+                            <0x30000000 0x30000000 0x60000>;
+
+               m4_rproc: m4@10000000 {
+                       compatible = "st,stm32mp1-m4";
+                       reg = <0x10000000 0x40000>,
+                             <0x30000000 0x40000>,
+                             <0x38000000 0x10000>;
+                       resets = <&rcc MCU_R>;
+                       st,syscfg-holdboot = <&rcc 0x10C 0x1>;
+                       st,syscfg-tz = <&rcc 0x000 0x1>;
+                       status = "disabled";
+               };
+       };
 };
index cf3988dafe579bac25e6499374758cf57791e63e..09785b5dc16a8dadb25881f43ddc5a59a34cb88b 100644 (file)
@@ -34,6 +34,7 @@ CONFIG_CMD_GPIO=y
 CONFIG_CMD_GPT=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_REMOTEPROC=y
 CONFIG_CMD_SF=y
 CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
index e5b9be78d4327524708e74b81cda5a2cf1cd3b56..177cbc7d5ff5c63e7399fe2e788e0b149f4f9edd 100644 (file)
@@ -23,6 +23,7 @@ CONFIG_CMD_GPIO=y
 CONFIG_CMD_GPT=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_REMOTEPROC=y
 CONFIG_CMD_SF=y
 CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
index 2d9be045a63d27ed2b0c9ca394b08b00d5dd40b5..71ad1157ec6d9bdd3f59233ebb8eda812c126ba5 100644 (file)
@@ -22,6 +22,7 @@ CONFIG_CMD_GPIO=y
 CONFIG_CMD_GPT=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_REMOTEPROC=y
 CONFIG_CMD_SF=y
 CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
index de3b9729f3928db99ded7723e964b15925c9f4c9..ad941f67e866dbb92cb8b9aed6224150a3bad64b 100644 (file)
@@ -243,7 +243,7 @@ static const struct dm_rproc_ops stm32_copro_ops = {
 };
 
 static const struct udevice_id stm32_copro_ids[] = {
-       {.compatible = "st,stm32mp1-rproc"},
+       {.compatible = "st,stm32mp1-m4"},
        {}
 };