[PATCH 2/5] ARM: dts: stm32: Add Engicam MicroGEA STM32MP1 SoM
Alexandre Torgue
alexandre.torgue at st.com
Mon Jan 25 10:07:14 EST 2021
On 1/25/21 4:05 PM, Alexandre TORGUE wrote:
> Hi,
>
> On 12/23/20 8:13 PM, Jagan Teki wrote:
>> MicroGEA STM32MP1 is an EDIMM SoM based on STM32MP157A from Engicam.
>>
>> General features:
>> - STM32MP157AAC
>> - Up to 1GB DDR3L-800
>> - 512MB Nand flash
>> - I2S
>>
>> MicroGEA STM32MP1 needs to mount on top of Engicam MicroDev carrier
>> boards for creating complete platform solutions.
>>
>> Add support for it.
>>
>> Signed-off-by: Matteo Lisi <matteo.lisi at engicam.com>
>> Signed-off-by: Francesco Utel <francesco.utel at engicam.com>
>> Signed-off-by: Mirko Ardinghi <mirko.ardinghi at engicam.com>
>> Signed-off-by: Jagan Teki <jagan at amarulasolutions.com>
>> ---
>> .../dts/stm32mp157a-microgea-stm32mp1.dtsi | 147 ++++++++++++++++++
>> 1 file changed, 147 insertions(+)
>> create mode 100644 arch/arm/boot/dts/stm32mp157a-microgea-stm32mp1.dtsi
>>
>> diff --git a/arch/arm/boot/dts/stm32mp157a-microgea-stm32mp1.dtsi
>> b/arch/arm/boot/dts/stm32mp157a-microgea-stm32mp1.dtsi
>> new file mode 100644
>> index 000000000000..97d569107bfe
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/stm32mp157a-microgea-stm32mp1.dtsi
>> @@ -0,0 +1,147 @@
>> +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
>> +/*
>> + * Copyright (c) STMicroelectronics 2019 - All Rights Reserved
>> + * Copyright (c) 2020 Engicam srl
>> + * Copyright (c) 2020 Amarula Solutons(India)
>> + */
>> +
>
> If STM32MP157AAC is soldered onto this board, you should include SoC
> dtsi here and no into MicroDev 2.0 board. No ?
>
> +#include "stm32mp15-pinctrl.dtsi"
> +#include "stm32mp15xxaa-pinctrl.dtsi"
and this one:
+#include "stm32mp157.dtsi"
>
>
> Regards
> Alex
>
>> +/ {
>> + compatible = "engicam,microgea-stm32mp1", "st,stm32mp157";
>> +
>> + memory at c0000000 {
>> + reg = <0xc0000000 0x10000000>;
>> + };
>> +
>> + reserved-memory {
>> + #address-cells = <1>;
>> + #size-cells = <1>;
>> + ranges;
>> +
>> + mcuram2: mcuram2 at 10000000 {
>> + compatible = "shared-dma-pool";
>> + reg = <0x10000000 0x40000>;
>> + no-map;
>> + };
>> +
>> + vdev0vring0: vdev0vring0 at 10040000 {
>> + compatible = "shared-dma-pool";
>> + reg = <0x10040000 0x1000>;
>> + no-map;
>> + };
>> +
>> + vdev0vring1: vdev0vring1 at 10041000 {
>> + compatible = "shared-dma-pool";
>> + reg = <0x10041000 0x1000>;
>> + no-map;
>> + };
>> +
>> + vdev0buffer: vdev0buffer at 10042000 {
>> + compatible = "shared-dma-pool";
>> + reg = <0x10042000 0x4000>;
>> + no-map;
>> + };
>> +
>> + mcuram: mcuram at 30000000 {
>> + compatible = "shared-dma-pool";
>> + reg = <0x30000000 0x40000>;
>> + no-map;
>> + };
>> +
>> + retram: retram at 38000000 {
>> + compatible = "shared-dma-pool";
>> + reg = <0x38000000 0x10000>;
>> + no-map;
>> + };
>> + };
>> +
>> + vin: regulator-vin {
>> + compatible = "regulator-fixed";
>> + regulator-name = "vin";
>> + regulator-min-microvolt = <5000000>;
>> + regulator-max-microvolt = <5000000>;
>> + regulator-always-on;
>> + };
>> +
>> + vddcore: regulator-vddcore {
>> + compatible = "regulator-fixed";
>> + regulator-name = "vddcore";
>> + regulator-min-microvolt = <1200000>;
>> + regulator-max-microvolt = <1200000>;
>> + regulator-always-on;
>> + vin-supply = <&vin>;
>> + };
>> +
>> + vdd: regulator-vdd {
>> + compatible = "regulator-fixed";
>> + regulator-name = "vdd";
>> + regulator-min-microvolt = <3300000>;
>> + regulator-max-microvolt = <3300000>;
>> + regulator-always-on;
>> + vin-supply = <&vin>;
>> + };
>> +
>> + vddq_ddr: regulator-vddq-ddr {
>> + compatible = "regulator-fixed";
>> + regulator-name = "vddq_ddr";
>> + regulator-min-microvolt = <1350000>;
>> + regulator-max-microvolt = <1350000>;
>> + regulator-always-on;
>> + vin-supply = <&vin>;
>> + };
>> +};
>> +
>> +&dts {
>> + status = "okay";
>> +};
>> +
>> +&fmc {
>> + pinctrl-names = "default", "sleep";
>> + pinctrl-0 = <&fmc_pins_a>;
>> + pinctrl-1 = <&fmc_sleep_pins_a>;
>> + status = "okay";
>> +
>> + nand-controller at 4,0 {
>> + status = "okay";
>> +
>> + nand at 0 {
>> + reg = <0>;
>> + nand-on-flash-bbt;
>> + #address-cells = <1>;
>> + #size-cells = <1>;
>> + };
>> + };
>> +};
>> +
>> +&ipcc {
>> + status = "okay";
>> +};
>> +
>> +&iwdg2{
>> + timeout-sec = <32>;
>> + status = "okay";
>> +};
>> +
>> +&m4_rproc{
>> + memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
>> + <&vdev0vring1>, <&vdev0buffer>;
>> + mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
>> + mbox-names = "vq0", "vq1", "shutdown";
>> + interrupt-parent = <&exti>;
>> + interrupts = <68 1>;
>> + status = "okay";
>> +};
>> +
>> +&rng1 {
>> + status = "okay";
>> +};
>> +
>> +&rtc{
>> + status = "okay";
>> +};
>> +
>> +&vrefbuf {
>> + regulator-min-microvolt = <2500000>;
>> + regulator-max-microvolt = <2500000>;
>> + vdda-supply = <&vdd>;
>> + status = "okay";
>> +};
>>
More information about the linux-arm-kernel
mailing list