The Elimo Impetus is an Open Source Hardware System-on-Module based on the
SoChip S3 SoC.
It is meant for integration into carrier boards or, more generally, larger
designs, and uses an M2 connector to facilitate that.
The Elimo Initium is a carrier board for the Impetus, together they provide a
fully open source SBC.
This patch set adds support for both. It it based off the sunxi/dt-for-5.11
branch of the https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git
tree.
Matteo Scordino (5):
dt-bindings: vendors: add Elimo Engineering vendor prefix
ARM: dts: sun8i: V3/S3: Add UART1 pin definitions to the V3/S3 dtsi
ARM: dts: sun8i: s3: Add dtsi for the Elimo Impetus SoM
dt-bindings: arm: sunxi: add Elimo bindings
ARM: dts: sun8i: s3: Add dts for the Elimo Initium SBC
.../devicetree/bindings/arm/sunxi.yaml | 10 ++++
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi | 51 +++++++++++++++++++
arch/arm/boot/dts/sun8i-s3-elimo-initium.dts | 27 ++++++++++
arch/arm/boot/dts/sun8i-v3.dtsi | 5 ++
6 files changed, 96 insertions(+)
create mode 100644 arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi
create mode 100644 arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
--
2.20.1
Add elimo as vendor prefix for dt bindings, since we are adding a dtsi
for a SoM and a dts for an SBC
Signed-off-by: Matteo Scordino <[email protected]>
---
Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 2735be1a8470..b877a3516277 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -319,6 +319,8 @@ patternProperties:
description: Elgin S/A.
"^elida,.*":
description: Shenzhen Elida Technology Co., Ltd.
+ "^elimo,.*":
+ description: Elimo Engineering Ltd.
"^embest,.*":
description: Shenzhen Embest Technology Co., Ltd.
"^emlid,.*":
--
2.20.1
The Elimo Engineering Initium is an Open Source Hardware Single Board
Computer based on the Elimo Impetus SoM.
It is meant as the first development platform for the Impetus, providing
convenient access to the peripherals on the Impetus.
It provides:
USB-C power input
UART-to-USB bridge on the USB-C connector, connected to UART1
USB-A connector for USB2.0 (Host, Device, OTG)
Audio Line In/Out
Pin header to access all signals on the M2 connector of the SoM
Signed-off-by: Matteo Scordino <[email protected]>
---
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/sun8i-s3-elimo-initium.dts | 27 ++++++++++++++++++++
2 files changed, 28 insertions(+)
create mode 100644 arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 4f0adfead547..dcfb8d39c267 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1210,6 +1210,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
sun8i-r40-bananapi-m2-ultra.dtb \
sun8i-s3-lichee-zero-plus.dtb \
sun8i-s3-pinecube.dtb \
+ sun8i-s3-elimo-initium.dtb \
sun8i-t3-cqa3t-bv3.dtb \
sun8i-v3s-licheepi-zero.dtb \
sun8i-v3s-licheepi-zero-dock.dtb \
diff --git a/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts b/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
new file mode 100644
index 000000000000..5ddd4dbd636c
--- /dev/null
+++ b/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
@@ -0,0 +1,27 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (C) 2020 Matteo Scordino <[email protected]>
+ */
+
+/dts-v1/;
+#include "sun8i-s3-elimo-impetus.dtsi"
+
+/ {
+ model = "Elimo Initium";
+ compatible = "elimo,initium", "elimo,impetus", "allwinner,sun8i-s3";
+
+ aliases {
+ serial0 = &uart0;
+ serial1 = &uart1;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+};
+
+&emac {
+ phy-handle = <&int_mii_phy>;
+ phy-mode = "mii";
+ status = "okay";
+};
--
2.20.1
Document board compatible names for Elimo Engineering Impetus and Initium
Signed-off-by: Matteo Scordino <[email protected]>
---
Documentation/devicetree/bindings/arm/sunxi.yaml | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
index 0f23133672a3..55405809ec91 100644
--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
@@ -898,3 +898,13 @@ properties:
items:
- const: xunlong,orangepi-zero-plus2-h3
- const: allwinner,sun8i-h3
+
+ - description: Elimo Engineering Impetus SoM
+ items:
+ - const: elimo,impetus
+ - const: allwinner,sun8i-s3
+
+ - description: Elimo Engineering Initium
+ items:
+ - const: elimo,initium
+ - const: allwinner,sun8i-s3
--
2.20.1
The Allwinner V3 and S3 can use PG6/7 as RX/TX for UART1. Since no other
functions are assigned to those pins, they are a convenient choice for
a debugging or application UART.
This is specific to V3/S3 as the V3s's non-BGA package did not have
those pins.
Signed-off-by: Matteo Scordino <[email protected]>
---
arch/arm/boot/dts/sun8i-v3.dtsi | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm/boot/dts/sun8i-v3.dtsi b/arch/arm/boot/dts/sun8i-v3.dtsi
index ca4672ed2e02..c279e13583ba 100644
--- a/arch/arm/boot/dts/sun8i-v3.dtsi
+++ b/arch/arm/boot/dts/sun8i-v3.dtsi
@@ -24,4 +24,9 @@
&pio {
compatible = "allwinner,sun8i-v3-pinctrl";
+
+ uart1_pg_pins: uart1-pg-pins {
+ pins = "PG6", "PG7";
+ function = "uart1";
+ };
};
--
2.20.1
Hi,
On Thu 29 Oct 20, 02:19, Matteo Scordino wrote:
> The Allwinner V3 and S3 can use PG6/7 as RX/TX for UART1. Since no other
> functions are assigned to those pins, they are a convenient choice for
> a debugging or application UART.
> This is specific to V3/S3 as the V3s's non-BGA package did not have
> those pins.
Looks good to me, I've had to make the same change when bringing up both
another S3 and another V3 board.
Reviewed-by: Paul Kocialkowski <[email protected]>
Cheers,
Paul
> Signed-off-by: Matteo Scordino <[email protected]>
> ---
> arch/arm/boot/dts/sun8i-v3.dtsi | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/arch/arm/boot/dts/sun8i-v3.dtsi b/arch/arm/boot/dts/sun8i-v3.dtsi
> index ca4672ed2e02..c279e13583ba 100644
> --- a/arch/arm/boot/dts/sun8i-v3.dtsi
> +++ b/arch/arm/boot/dts/sun8i-v3.dtsi
> @@ -24,4 +24,9 @@
>
> &pio {
> compatible = "allwinner,sun8i-v3-pinctrl";
> +
> + uart1_pg_pins: uart1-pg-pins {
> + pins = "PG6", "PG7";
> + function = "uart1";
> + };
> };
> --
> 2.20.1
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com
Hi,
On Thu 29 Oct 20, 02:19, Matteo Scordino wrote:
> Add elimo as vendor prefix for dt bindings, since we are adding a dtsi
> for a SoM and a dts for an SBC
LGTM.
Reviewed-by: Paul Kocialkowski <[email protected]>
Cheers,
Paul
> Signed-off-by: Matteo Scordino <[email protected]>
> ---
> Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> index 2735be1a8470..b877a3516277 100644
> --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
> +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> @@ -319,6 +319,8 @@ patternProperties:
> description: Elgin S/A.
> "^elida,.*":
> description: Shenzhen Elida Technology Co., Ltd.
> + "^elimo,.*":
> + description: Elimo Engineering Ltd.
> "^embest,.*":
> description: Shenzhen Embest Technology Co., Ltd.
> "^emlid,.*":
> --
> 2.20.1
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com
Hi,
On Thu 29 Oct 20, 02:20, Matteo Scordino wrote:
> The Elimo Engineering Initium is an Open Source Hardware Single Board
> Computer based on the Elimo Impetus SoM.
>
> It is meant as the first development platform for the Impetus, providing
> convenient access to the peripherals on the Impetus.
>
> It provides:
> USB-C power input
> UART-to-USB bridge on the USB-C connector, connected to UART1
> USB-A connector for USB2.0 (Host, Device, OTG)
> Audio Line In/Out
> Pin header to access all signals on the M2 connector of the SoM
>
> Signed-off-by: Matteo Scordino <[email protected]>
> ---
> arch/arm/boot/dts/Makefile | 1 +
> arch/arm/boot/dts/sun8i-s3-elimo-initium.dts | 27 ++++++++++++++++++++
> 2 files changed, 28 insertions(+)
> create mode 100644 arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 4f0adfead547..dcfb8d39c267 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -1210,6 +1210,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
> sun8i-r40-bananapi-m2-ultra.dtb \
> sun8i-s3-lichee-zero-plus.dtb \
> sun8i-s3-pinecube.dtb \
> + sun8i-s3-elimo-initium.dtb \
> sun8i-t3-cqa3t-bv3.dtb \
> sun8i-v3s-licheepi-zero.dtb \
> sun8i-v3s-licheepi-zero-dock.dtb \
> diff --git a/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts b/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
> new file mode 100644
> index 000000000000..5ddd4dbd636c
> --- /dev/null
> +++ b/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
> @@ -0,0 +1,27 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (C) 2020 Matteo Scordino <[email protected]>
> + */
> +
> +/dts-v1/;
> +#include "sun8i-s3-elimo-impetus.dtsi"
> +
> +/ {
> + model = "Elimo Initium";
> + compatible = "elimo,initium", "elimo,impetus", "allwinner,sun8i-s3";
Same comment as before about having an extra "allwinner,sun8i-v3" here.
Cheers,
Paul
> +
> + aliases {
> + serial0 = &uart0;
> + serial1 = &uart1;
> + };
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
> +};
> +
> +&emac {
> + phy-handle = <&int_mii_phy>;
> + phy-mode = "mii";
> + status = "okay";
> +};
> --
> 2.20.1
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com
Hi,
On Thu, Oct 29, 2020 at 02:19:59AM +0000, Matteo Scordino wrote:
> Document board compatible names for Elimo Engineering Impetus and Initium
>
> Signed-off-by: Matteo Scordino <[email protected]>
> ---
> Documentation/devicetree/bindings/arm/sunxi.yaml | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
> index 0f23133672a3..55405809ec91 100644
> --- a/Documentation/devicetree/bindings/arm/sunxi.yaml
> +++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
> @@ -898,3 +898,13 @@ properties:
> items:
> - const: xunlong,orangepi-zero-plus2-h3
> - const: allwinner,sun8i-h3
> +
> + - description: Elimo Engineering Impetus SoM
> + items:
> + - const: elimo,impetus
> + - const: allwinner,sun8i-s3
> +
> + - description: Elimo Engineering Initium
> + items:
> + - const: elimo,initium
> + - const: allwinner,sun8i-s3
This should be ordered alphabetically, and most importantly, must match
the ones you have in the DT.
Here, we have kind of a mess already: the Lichee Zero+ uses
,sipeed,lichee-zero-plus, sochip,s3, allwinner,sun8i-v3, while the
pinecube uses pine64,pinecube, allwinner,sun8i-s3
IIRC the S3 and V3 are pretty much the same SoCs, so the first one seems
to make more sense to me, but then we should fix the pinecube.
Maxime
于 2020年10月29日 GMT+08:00 下午6:13:04, Maxime Ripard <[email protected]> 写到:
>Hi,
>
>On Thu, Oct 29, 2020 at 02:19:59AM +0000, Matteo Scordino wrote:
>> Document board compatible names for Elimo Engineering Impetus and
>Initium
>>
>> Signed-off-by: Matteo Scordino <[email protected]>
>> ---
>> Documentation/devicetree/bindings/arm/sunxi.yaml | 10 ++++++++++
>> 1 file changed, 10 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml
>b/Documentation/devicetree/bindings/arm/sunxi.yaml
>> index 0f23133672a3..55405809ec91 100644
>> --- a/Documentation/devicetree/bindings/arm/sunxi.yaml
>> +++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
>> @@ -898,3 +898,13 @@ properties:
>> items:
>> - const: xunlong,orangepi-zero-plus2-h3
>> - const: allwinner,sun8i-h3
>> +
>> + - description: Elimo Engineering Impetus SoM
>> + items:
>> + - const: elimo,impetus
>> + - const: allwinner,sun8i-s3
>> +
>> + - description: Elimo Engineering Initium
>> + items:
>> + - const: elimo,initium
>> + - const: allwinner,sun8i-s3
>
>This should be ordered alphabetically, and most importantly, must match
>the ones you have in the DT.
>
>Here, we have kind of a mess already: the Lichee Zero+ uses
>,sipeed,lichee-zero-plus, sochip,s3, allwinner,sun8i-v3, while the
>pinecube uses pine64,pinecube, allwinner,sun8i-s3
>
>IIRC the S3 and V3 are pretty much the same SoCs, so the first one
>seems
>to make more sense to me, but then we should fix the pinecube.
I agree with this.
PineCube is originally designed for S3L (which is branded under Allwinner)
but switch to S3 finally, so I may made error when adapting.
>
>Maxime
Hello,
thank you both for reviewing.
I didn't realise the file was kept in alphabetical order, I will fix that.
And I agree that board/som + "sochip,s3, allwinner,sun8i-v3" makes sense,
I will resubmit the patch with those (and sync them with the dt bindings file).
Should I submit a patch to update the pinecube to use "sochip,s3,
allwinner,sun8i-v3", too?
--
Matteo Scordino
On Thu, 2020-10-29 at 18:24 +0800, Icenowy Zheng wrote:
>
> 于 2020年10月29日 GMT+08:00 下午6:13:04, Maxime Ripard <[email protected]> 写到:
> > Hi,
> >
> > On Thu, Oct 29, 2020 at 02:19:59AM +0000, Matteo Scordino wrote:
> > > Document board compatible names for Elimo Engineering Impetus and
> > Initium
> > > Signed-off-by: Matteo Scordino <[email protected]>
> > > ---
> > > Documentation/devicetree/bindings/arm/sunxi.yaml | 10 ++++++++++
> > > 1 file changed, 10 insertions(+)
> > >
> > > diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml
> > b/Documentation/devicetree/bindings/arm/sunxi.yaml
> > > index 0f23133672a3..55405809ec91 100644
> > > --- a/Documentation/devicetree/bindings/arm/sunxi.yaml
> > > +++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
> > > @@ -898,3 +898,13 @@ properties:
> > > items:
> > > - const: xunlong,orangepi-zero-plus2-h3
> > > - const: allwinner,sun8i-h3
> > > +
> > > + - description: Elimo Engineering Impetus SoM
> > > + items:
> > > + - const: elimo,impetus
> > > + - const: allwinner,sun8i-s3
> > > +
> > > + - description: Elimo Engineering Initium
> > > + items:
> > > + - const: elimo,initium
> > > + - const: allwinner,sun8i-s3
> >
> > This should be ordered alphabetically, and most importantly, must match
> > the ones you have in the DT.
> >
> > Here, we have kind of a mess already: the Lichee Zero+ uses
> > ,sipeed,lichee-zero-plus, sochip,s3, allwinner,sun8i-v3, while the
> > pinecube uses pine64,pinecube, allwinner,sun8i-s3
> >
> > IIRC the S3 and V3 are pretty much the same SoCs, so the first one
> > seems
> > to make more sense to me, but then we should fix the pinecube.
>
> I agree with this.
>
> PineCube is originally designed for S3L (which is branded under Allwinner)
> but switch to S3 finally, so I may made error when adapting.
>
> > Maxime
On Thu, 2020-10-29 at 11:10 +0100, Paul Kocialkowski wrote:
> Hi,
>
> On Thu 29 Oct 20, 02:20, Matteo Scordino wrote:
> > The Elimo Engineering Initium is an Open Source Hardware Single Board
> > Computer based on the Elimo Impetus SoM.
> >
> > It is meant as the first development platform for the Impetus, providing
> > convenient access to the peripherals on the Impetus.
> >
> > It provides:
> > USB-C power input
> > UART-to-USB bridge on the USB-C connector, connected to UART1
> > USB-A connector for USB2.0 (Host, Device, OTG)
> > Audio Line In/Out
> > Pin header to access all signals on the M2 connector of the SoM
> >
> > Signed-off-by: Matteo Scordino <[email protected]>
> > ---
> > arch/arm/boot/dts/Makefile | 1 +
> > arch/arm/boot/dts/sun8i-s3-elimo-initium.dts | 27 ++++++++++++++++++++
> > 2 files changed, 28 insertions(+)
> > create mode 100644 arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
> >
> > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> > index 4f0adfead547..dcfb8d39c267 100644
> > --- a/arch/arm/boot/dts/Makefile
> > +++ b/arch/arm/boot/dts/Makefile
> > @@ -1210,6 +1210,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
> > sun8i-r40-bananapi-m2-ultra.dtb \
> > sun8i-s3-lichee-zero-plus.dtb \
> > sun8i-s3-pinecube.dtb \
> > + sun8i-s3-elimo-initium.dtb \
> > sun8i-t3-cqa3t-bv3.dtb \
> > sun8i-v3s-licheepi-zero.dtb \
> > sun8i-v3s-licheepi-zero-dock.dtb \
> > diff --git a/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts b/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
> > new file mode 100644
> > index 000000000000..5ddd4dbd636c
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
> > @@ -0,0 +1,27 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > +/*
> > + * Copyright (C) 2020 Matteo Scordino <[email protected]>
> > + */
> > +
> > +/dts-v1/;
> > +#include "sun8i-s3-elimo-impetus.dtsi"
> > +
> > +/ {
> > + model = "Elimo Initium";
> > + compatible = "elimo,initium", "elimo,impetus", "allwinner,sun8i-s3";
>
> Same comment as before about having an extra "allwinner,sun8i-v3" here.
>
> Cheers,
>
> Paul
As above, I will apply and resubmit
>
> > +
> > + aliases {
> > + serial0 = &uart0;
> > + serial1 = &uart1;
> > + };
> > +
> > + chosen {
> > + stdout-path = "serial0:115200n8";
> > + };
> > +};
> > +
> > +&emac {
> > + phy-handle = <&int_mii_phy>;
> > + phy-mode = "mii";
> > + status = "okay";
> > +};
> > --
> > 2.20.1
> >
> >
> > _______________________________________________
> > linux-arm-kernel mailing list
> > [email protected]
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
于 2020年10月30日 GMT+08:00 上午8:24:04, Matteo Scordino <[email protected]> 写到:
>Hello,
>
>thank you both for reviewing.
>
>I didn't realise the file was kept in alphabetical order, I will fix
>that.
>And I agree that board/som + "sochip,s3, allwinner,sun8i-v3" makes
>sense,
>I will resubmit the patch with those (and sync them with the dt
>bindings file).
>
>Should I submit a patch to update the pinecube to use "sochip,s3,
>allwinner,sun8i-v3", too?
If possible, thanks.
Add elimo as vendor prefix for dt bindings, since we are adding a dtsi
for a SoM and a dts for an SBC
Signed-off-by: Matteo Scordino <[email protected]>
---
Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 2735be1a8470..b877a3516277 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -319,6 +319,8 @@ patternProperties:
description: Elgin S/A.
"^elida,.*":
description: Shenzhen Elida Technology Co., Ltd.
+ "^elimo,.*":
+ description: Elimo Engineering Ltd.
"^embest,.*":
description: Shenzhen Embest Technology Co., Ltd.
"^emlid,.*":
--
2.20.1
The Elimo Engineering Initium is an Open Source Hardware Single Board
Computer based on the Elimo Impetus SoM.
It is meant as the first development platform for the Impetus, providing
convenient access to the peripherals on the Impetus.
It provides:
USB-C power input
UART-to-USB bridge on the USB-C connector, connected to UART1
USB-A connector for USB2.0 (Host, Device, OTG)
Audio Line In/Out
Pin header to access all signals on the M2 connector of the SoM
Signed-off-by: Matteo Scordino <[email protected]>
---
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/sun8i-s3-elimo-initium.dts | 28 ++++++++++++++++++++
2 files changed, 29 insertions(+)
create mode 100644 arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 4f0adfead547..dcfb8d39c267 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1210,6 +1210,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
sun8i-r40-bananapi-m2-ultra.dtb \
sun8i-s3-lichee-zero-plus.dtb \
sun8i-s3-pinecube.dtb \
+ sun8i-s3-elimo-initium.dtb \
sun8i-t3-cqa3t-bv3.dtb \
sun8i-v3s-licheepi-zero.dtb \
sun8i-v3s-licheepi-zero-dock.dtb \
diff --git a/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts b/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
new file mode 100644
index 000000000000..7677ddc07bf9
--- /dev/null
+++ b/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (C) 2020 Matteo Scordino <[email protected]>
+ */
+
+/dts-v1/;
+#include "sun8i-s3-elimo-impetus.dtsi"
+
+/ {
+ model = "Elimo Initium";
+ compatible = "elimo,initium", "elimo,impetus", "sochip,s3",
+ "allwinner,sun8i-v3";
+
+ aliases {
+ serial0 = &uart0;
+ serial1 = &uart1;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+};
+
+&emac {
+ phy-handle = <&int_mii_phy>;
+ phy-mode = "mii";
+ status = "okay";
+};
--
2.20.1
The compatible string in the Pine64 Pincube dts diverges from the ones
used in other S3 based boards, like the LicheePi and the Elimo Impetus
and Initium. Discussion on LKML decided the PineCube should align to the
others.
Signed-off-by: Matteo Scordino <[email protected]>
---
arch/arm/boot/dts/sun8i-s3-pinecube.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/sun8i-s3-pinecube.dts b/arch/arm/boot/dts/sun8i-s3-pinecube.dts
index 9bab6b7f4014..4aa0ee897a0a 100644
--- a/arch/arm/boot/dts/sun8i-s3-pinecube.dts
+++ b/arch/arm/boot/dts/sun8i-s3-pinecube.dts
@@ -10,7 +10,7 @@
/ {
model = "PineCube IP Camera";
- compatible = "pine64,pinecube", "allwinner,sun8i-s3";
+ compatible = "pine64,pinecube", "sochip,s3", "allwinner,sun8i-v3";
aliases {
serial0 = &uart2;
--
2.20.1
The Allwinner V3 and S3 can use PG6/7 as RX/TX for UART1. Since no other
functions are assigned to those pins, they are a convenient choice for
a debugging or application UART.
This is specific to V3/S3 as the V3s's non-BGA package did not have
those pins.
Signed-off-by: Matteo Scordino <[email protected]>
---
arch/arm/boot/dts/sun8i-v3.dtsi | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm/boot/dts/sun8i-v3.dtsi b/arch/arm/boot/dts/sun8i-v3.dtsi
index ca4672ed2e02..c279e13583ba 100644
--- a/arch/arm/boot/dts/sun8i-v3.dtsi
+++ b/arch/arm/boot/dts/sun8i-v3.dtsi
@@ -24,4 +24,9 @@
&pio {
compatible = "allwinner,sun8i-v3-pinctrl";
+
+ uart1_pg_pins: uart1-pg-pins {
+ pins = "PG6", "PG7";
+ function = "uart1";
+ };
};
--
2.20.1
The Elimo Engineering Impetus is an Open Source Hardware System-on-Module
based on the SoChip S3 SoC.
It is meant for integration into carrier boards or, more generally,
larger designs, and uses an M2 connector to facilitate that.
Interfaces on the M.2/NGFF 42mm connector:
WiFi IEEE 802. 11abgn (on-module Realtek)
Bluetooth 4.2/BLE (on-module Realtek)
RGB LCD Interface (on-module connector)
MIPI Camera Interface (on-module connector)
IEEE 802. 3u Ethernet MAC (external connecto)
USB2.0 (Host, Device, OTG) (external connector)
Audio Line In/Out (external connector)
Signed-off-by: Matteo Scordino <[email protected]>
---
arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi
diff --git a/arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi b/arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi
new file mode 100644
index 000000000000..f219188fc9ba
--- /dev/null
+++ b/arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi
@@ -0,0 +1,51 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (C) 2020 Matteo Scordino <[email protected]>
+ */
+
+/dts-v1/;
+#include "sun8i-v3.dtsi"
+#include "sunxi-common-regulators.dtsi"
+
+/ {
+ model = "Elimo Impetus SoM";
+ compatible = "elimo,impetus", "sochip,s3", "allwinner,sun8i-v3";
+
+ aliases {
+ serial0 = &uart0;
+ serial1 = &uart1;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+};
+
+&mmc0 {
+ broken-cd;
+ bus-width = <4>;
+ vmmc-supply = <®_vcc3v3>;
+ status = "okay";
+};
+
+&uart0 {
+ pinctrl-0 = <&uart0_pb_pins>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
+&uart1 {
+ pinctrl-0 = <&uart1_pg_pins>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
+&usb_otg {
+ dr_mode = "otg";
+ status = "okay";
+};
+
+&usbphy {
+ usb0_id_det-gpio = <&pio 5 6 GPIO_ACTIVE_HIGH>;
+ status = "okay";
+};
--
2.20.1
Document board compatible names for Elimo Engineering Impetus and Initium
Signed-off-by: Matteo Scordino <[email protected]>
---
Documentation/devicetree/bindings/arm/sunxi.yaml | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
index 0f23133672a3..ef2ce3bd2bed 100644
--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
@@ -201,6 +201,19 @@ properties:
- const: dserve,dsrv9703c
- const: allwinner,sun4i-a10
+ - description: Elimo Engineering Impetus SoM
+ items:
+ - const: elimo,impetus
+ - const: sochip,s3
+ - const: allwinner,sun8i-v3
+
+ - description: Elimo Engineering Initium
+ items:
+ - const: elimo,initium
+ - const: elimo,impetus
+ - const: sochip,s3
+ - const: allwinner,sun8i-v3
+
- description: Empire Electronix D709 Tablet
items:
- const: empire-electronix,d709
--
2.20.1
Hi,
I applied the suggestions from the discussion that stemmed from V1,
i.e.:
- using "sochip,s3", "allwinner,sun8i-v3" in the compatible string
- add a patch to do the same for the Pine64 PineCube
- alphabetic order in the dt-binding file
- match the dt-binding file with the actual dts files
Matteo Scordino (6):
dt-bindings: vendors: add Elimo Engineering vendor prefix
ARM: dts: sun8i: V3/S3: Add UART1 pin definitions to the V3/S3 dtsi
ARM: dts: sun8i: s3: Add dtsi for the Elimo Impetus SoM
dt-bindings: arm: sunxi: add Elimo bindings
ARM: dts: sun8i: s3: Add dts for the Elimo Initium SBC
ARM: dts: sunxi: align pinecube compatible property to other S3 boards
.../devicetree/bindings/arm/sunxi.yaml | 13 +++++
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi | 51 +++++++++++++++++++
arch/arm/boot/dts/sun8i-s3-elimo-initium.dts | 28 ++++++++++
arch/arm/boot/dts/sun8i-s3-pinecube.dts | 2 +-
arch/arm/boot/dts/sun8i-v3.dtsi | 5 ++
7 files changed, 101 insertions(+), 1 deletion(-)
create mode 100644 arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi
create mode 100644 arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
--
2.20.1
On Fri, Oct 30, 2020 at 11:43:20PM +0000, Matteo Scordino wrote:
> Add elimo as vendor prefix for dt bindings, since we are adding a dtsi
> for a SoM and a dts for an SBC
>
> Signed-off-by: Matteo Scordino <[email protected]>
Applied, thanks!
Maxime
On Fri, Oct 30, 2020 at 11:43:21PM +0000, Matteo Scordino wrote:
> The Allwinner V3 and S3 can use PG6/7 as RX/TX for UART1. Since no other
> functions are assigned to those pins, they are a convenient choice for
> a debugging or application UART.
> This is specific to V3/S3 as the V3s's non-BGA package did not have
> those pins.
>
> Signed-off-by: Matteo Scordino <[email protected]>
Applied, thanks
Maxime
On Fri, Oct 30, 2020 at 11:43:25PM +0000, Matteo Scordino wrote:
> The compatible string in the Pine64 Pincube dts diverges from the ones
> used in other S3 based boards, like the LicheePi and the Elimo Impetus
> and Initium. Discussion on LKML decided the PineCube should align to the
> others.
>
> Signed-off-by: Matteo Scordino <[email protected]>
> ---
> arch/arm/boot/dts/sun8i-s3-pinecube.dts | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/boot/dts/sun8i-s3-pinecube.dts b/arch/arm/boot/dts/sun8i-s3-pinecube.dts
> index 9bab6b7f4014..4aa0ee897a0a 100644
> --- a/arch/arm/boot/dts/sun8i-s3-pinecube.dts
> +++ b/arch/arm/boot/dts/sun8i-s3-pinecube.dts
> @@ -10,7 +10,7 @@
>
> / {
> model = "PineCube IP Camera";
> - compatible = "pine64,pinecube", "allwinner,sun8i-s3";
> + compatible = "pine64,pinecube", "sochip,s3", "allwinner,sun8i-v3";
I've applied it with the prefix changed a little, and s/Pincube/Pinecube/ in the commit log.
Maxime
Hi!
On Fri, Oct 30, 2020 at 11:43:22PM +0000, Matteo Scordino wrote:
> The Elimo Engineering Impetus is an Open Source Hardware System-on-Module
> based on the SoChip S3 SoC.
>
> It is meant for integration into carrier boards or, more generally,
> larger designs, and uses an M2 connector to facilitate that.
>
> Interfaces on the M.2/NGFF 42mm connector:
> WiFi IEEE 802. 11abgn (on-module Realtek)
> Bluetooth 4.2/BLE (on-module Realtek)
> RGB LCD Interface (on-module connector)
> MIPI Camera Interface (on-module connector)
> IEEE 802. 3u Ethernet MAC (external connecto)
> USB2.0 (Host, Device, OTG) (external connector)
> Audio Line In/Out (external connector)
>
> Signed-off-by: Matteo Scordino <[email protected]>
> ---
> arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi | 51 +++++++++++++++++++
> 1 file changed, 51 insertions(+)
> create mode 100644 arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi
>
> diff --git a/arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi b/arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi
> new file mode 100644
> index 000000000000..f219188fc9ba
> --- /dev/null
> +++ b/arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi
> @@ -0,0 +1,51 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (C) 2020 Matteo Scordino <[email protected]>
> + */
> +
> +/dts-v1/;
> +#include "sun8i-v3.dtsi"
> +#include "sunxi-common-regulators.dtsi"
> +
> +/ {
> + model = "Elimo Impetus SoM";
> + compatible = "elimo,impetus", "sochip,s3", "allwinner,sun8i-v3";
> +
> + aliases {
> + serial0 = &uart0;
> + serial1 = &uart1;
> + };
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
> +};
> +
> +&mmc0 {
> + broken-cd;
> + bus-width = <4>;
> + vmmc-supply = <®_vcc3v3>;
> + status = "okay";
> +};
> +
> +&uart0 {
> + pinctrl-0 = <&uart0_pb_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +};
> +
> +&uart1 {
> + pinctrl-0 = <&uart1_pg_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +};
What is uart1 used for? the BT chip?
Maxime
On Fri, Oct 30, 2020 at 11:43:24PM +0000, Matteo Scordino wrote:
> The Elimo Engineering Initium is an Open Source Hardware Single Board
> Computer based on the Elimo Impetus SoM.
>
> It is meant as the first development platform for the Impetus, providing
> convenient access to the peripherals on the Impetus.
>
> It provides:
> USB-C power input
> UART-to-USB bridge on the USB-C connector, connected to UART1
> USB-A connector for USB2.0 (Host, Device, OTG)
> Audio Line In/Out
> Pin header to access all signals on the M2 connector of the SoM
>
> Signed-off-by: Matteo Scordino <[email protected]>
> ---
> arch/arm/boot/dts/Makefile | 1 +
> arch/arm/boot/dts/sun8i-s3-elimo-initium.dts | 28 ++++++++++++++++++++
> 2 files changed, 29 insertions(+)
> create mode 100644 arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 4f0adfead547..dcfb8d39c267 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -1210,6 +1210,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
> sun8i-r40-bananapi-m2-ultra.dtb \
> sun8i-s3-lichee-zero-plus.dtb \
> sun8i-s3-pinecube.dtb \
> + sun8i-s3-elimo-initium.dtb \
This should be sorted as well
> sun8i-t3-cqa3t-bv3.dtb \
> sun8i-v3s-licheepi-zero.dtb \
> sun8i-v3s-licheepi-zero-dock.dtb \
> diff --git a/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts b/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
> new file mode 100644
> index 000000000000..7677ddc07bf9
> --- /dev/null
> +++ b/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
> @@ -0,0 +1,28 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (C) 2020 Matteo Scordino <[email protected]>
> + */
> +
> +/dts-v1/;
> +#include "sun8i-s3-elimo-impetus.dtsi"
> +
> +/ {
> + model = "Elimo Initium";
> + compatible = "elimo,initium", "elimo,impetus", "sochip,s3",
> + "allwinner,sun8i-v3";
You should indent that properly
> + aliases {
> + serial0 = &uart0;
> + serial1 = &uart1;
> + };
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
> +};
It's already in the DTSI, there's no need to duplicate it here
Maxime
--
Matteo Scordino / Embedded Software Consultant
Mobile: +44 (0)7463701446
On Mon, 2020-11-02 at 11:05 +0100, Maxime Ripard wrote:
> Hi!
>
> On Fri, Oct 30, 2020 at 11:43:22PM +0000, Matteo Scordino wrote:
> > The Elimo Engineering Impetus is an Open Source Hardware System-on-Module
> > based on the SoChip S3 SoC.
> >
> > It is meant for integration into carrier boards or, more generally,
> > larger designs, and uses an M2 connector to facilitate that.
> >
> > Interfaces on the M.2/NGFF 42mm connector:
> > WiFi IEEE 802. 11abgn (on-module Realtek)
> > Bluetooth 4.2/BLE (on-module Realtek)
> > RGB LCD Interface (on-module connector)
> > MIPI Camera Interface (on-module connector)
> > IEEE 802. 3u Ethernet MAC (external connecto)
> > USB2.0 (Host, Device, OTG) (external connector)
> > Audio Line In/Out (external connector)
> >
> > Signed-off-by: Matteo Scordino <[email protected]>
> > ---
> > arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi | 51 +++++++++++++++++++
> > 1 file changed, 51 insertions(+)
> > create mode 100644 arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi
> >
> > diff --git a/arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi b/arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi
> > new file mode 100644
> > index 000000000000..f219188fc9ba
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi
> > @@ -0,0 +1,51 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > +/*
> > + * Copyright (C) 2020 Matteo Scordino <[email protected]>
> > + */
> > +
> > +/dts-v1/;
> > +#include "sun8i-v3.dtsi"
> > +#include "sunxi-common-regulators.dtsi"
> > +
> > +/ {
> > + model = "Elimo Impetus SoM";
> > + compatible = "elimo,impetus", "sochip,s3", "allwinner,sun8i-v3";
> > +
> > + aliases {
> > + serial0 = &uart0;
> > + serial1 = &uart1;
> > + };
> > +
> > + chosen {
> > + stdout-path = "serial0:115200n8";
> > + };
> > +};
> > +
> > +&mmc0 {
> > + broken-cd;
> > + bus-width = <4>;
> > + vmmc-supply = <®_vcc3v3>;
> > + status = "okay";
> > +};
> > +
> > +&uart0 {
> > + pinctrl-0 = <&uart0_pb_pins>;
> > + pinctrl-names = "default";
> > + status = "okay";
> > +};
> > +
> > +&uart1 {
> > + pinctrl-0 = <&uart1_pg_pins>;
> > + pinctrl-names = "default";
> > + status = "okay";
> > +};
>
> What is uart1 used for? the BT chip?
>
> Maxime
No, BT is provided over SDIO by a Cypress 43455.
When used with the Initium carrier board, UART1 goes to an FTDI bridge that is
connected to the same USB-C connector that is used for power.
The idea being, if want an application that uses the UART to communicate with a
PC, it's convenient to provide power+connectivity on a single port.
I guess your point is that we would be better off only defining this in the DTS
of the carrier board?
--
Matteo Scordino / Embedded Software Consultant
Mobile: +44 (0)7463701446
On Mon, 2020-11-02 at 11:06 +0100, Maxime Ripard wrote:
> On Fri, Oct 30, 2020 at 11:43:24PM +0000, Matteo Scordino wrote:
> > The Elimo Engineering Initium is an Open Source Hardware Single Board
> > Computer based on the Elimo Impetus SoM.
> >
> > It is meant as the first development platform for the Impetus, providing
> > convenient access to the peripherals on the Impetus.
> >
> > It provides:
> > USB-C power input
> > UART-to-USB bridge on the USB-C connector, connected to UART1
> > USB-A connector for USB2.0 (Host, Device, OTG)
> > Audio Line In/Out
> > Pin header to access all signals on the M2 connector of the SoM
> >
> > Signed-off-by: Matteo Scordino <[email protected]>
> > ---
> > arch/arm/boot/dts/Makefile | 1 +
> > arch/arm/boot/dts/sun8i-s3-elimo-initium.dts | 28 ++++++++++++++++++++
> > 2 files changed, 29 insertions(+)
> > create mode 100644 arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
> >
> > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> > index 4f0adfead547..dcfb8d39c267 100644
> > --- a/arch/arm/boot/dts/Makefile
> > +++ b/arch/arm/boot/dts/Makefile
> > @@ -1210,6 +1210,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
> > sun8i-r40-bananapi-m2-ultra.dtb \
> > sun8i-s3-lichee-zero-plus.dtb \
> > sun8i-s3-pinecube.dtb \
> > + sun8i-s3-elimo-initium.dtb \
>
> This should be sorted as well
Ouch. Will do.
>
> > sun8i-t3-cqa3t-bv3.dtb \
> > sun8i-v3s-licheepi-zero.dtb \
> > sun8i-v3s-licheepi-zero-dock.dtb \
> > diff --git a/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts b/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
> > new file mode 100644
> > index 000000000000..7677ddc07bf9
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
> > @@ -0,0 +1,28 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > +/*
> > + * Copyright (C) 2020 Matteo Scordino <[email protected]>
> > + */
> > +
> > +/dts-v1/;
> > +#include "sun8i-s3-elimo-impetus.dtsi"
> > +
> > +/ {
> > + model = "Elimo Initium";
> > + compatible = "elimo,initium", "elimo,impetus", "sochip,s3",
> > + "allwinner,sun8i-v3";
>
> You should indent that properly
Double ouch.
However, how is a multiline dt property supposed to be indented?
I have tried a few combinations but nothing seemed to make checkpatch.pl happy,
except leaving no space at all at the beginning of the line. But I think makes it
quite unreadable?
> > + aliases {
> > + serial0 = &uart0;
> > + serial1 = &uart1;
> > + };
> > +
> > + chosen {
> > + stdout-path = "serial0:115200n8";
> > + };
> > +};
>
> It's already in the DTSI, there's no need to duplicate it here
After your question about the UART1 in the Impetus dtsi, I think it makes more
sense to remove it from the dtsi, since UART1 is directly used in this board (for
an FTDI chip) but not necessarily used in the "bare" Impetus SoM.
> Maxime
On Tue, Nov 03, 2020 at 04:33:26PM +0000, Matteo Scordino wrote:
> >
> > > sun8i-t3-cqa3t-bv3.dtb \
> > > sun8i-v3s-licheepi-zero.dtb \
> > > sun8i-v3s-licheepi-zero-dock.dtb \
> > > diff --git a/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts b/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
> > > new file mode 100644
> > > index 000000000000..7677ddc07bf9
> > > --- /dev/null
> > > +++ b/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
> > > @@ -0,0 +1,28 @@
> > > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > > +/*
> > > + * Copyright (C) 2020 Matteo Scordino <[email protected]>
> > > + */
> > > +
> > > +/dts-v1/;
> > > +#include "sun8i-s3-elimo-impetus.dtsi"
> > > +
> > > +/ {
> > > + model = "Elimo Initium";
> > > + compatible = "elimo,initium", "elimo,impetus", "sochip,s3",
> > > + "allwinner,sun8i-v3";
> >
> > You should indent that properly
>
> Double ouch.
> However, how is a multiline dt property supposed to be indented?
> I have tried a few combinations but nothing seemed to make checkpatch.pl happy,
> except leaving no space at all at the beginning of the line. But I think makes it
> quite unreadable?
We usually pad with tabs, then spaces to match the opening quotes, like
compatible = "elimo,initium", "elimo,impetus", "sochip,s3",
"allwinner,sun8i-v3";
Maxime
Hi
On Tue, Nov 03, 2020 at 04:28:27PM +0000, Matteo Scordino wrote:
> --
> Matteo Scordino / Embedded Software Consultant
> Mobile: +44 (0)7463701446
>
> On Mon, 2020-11-02 at 11:05 +0100, Maxime Ripard wrote:
> > Hi!
> >
> > On Fri, Oct 30, 2020 at 11:43:22PM +0000, Matteo Scordino wrote:
> > > The Elimo Engineering Impetus is an Open Source Hardware System-on-Module
> > > based on the SoChip S3 SoC.
> > >
> > > It is meant for integration into carrier boards or, more generally,
> > > larger designs, and uses an M2 connector to facilitate that.
> > >
> > > Interfaces on the M.2/NGFF 42mm connector:
> > > WiFi IEEE 802. 11abgn (on-module Realtek)
> > > Bluetooth 4.2/BLE (on-module Realtek)
> > > RGB LCD Interface (on-module connector)
> > > MIPI Camera Interface (on-module connector)
> > > IEEE 802. 3u Ethernet MAC (external connecto)
> > > USB2.0 (Host, Device, OTG) (external connector)
> > > Audio Line In/Out (external connector)
> > >
> > > Signed-off-by: Matteo Scordino <[email protected]>
> > > ---
> > > arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi | 51 +++++++++++++++++++
> > > 1 file changed, 51 insertions(+)
> > > create mode 100644 arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi
> > >
> > > diff --git a/arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi b/arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi
> > > new file mode 100644
> > > index 000000000000..f219188fc9ba
> > > --- /dev/null
> > > +++ b/arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi
> > > @@ -0,0 +1,51 @@
> > > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > > +/*
> > > + * Copyright (C) 2020 Matteo Scordino <[email protected]>
> > > + */
> > > +
> > > +/dts-v1/;
> > > +#include "sun8i-v3.dtsi"
> > > +#include "sunxi-common-regulators.dtsi"
> > > +
> > > +/ {
> > > + model = "Elimo Impetus SoM";
> > > + compatible = "elimo,impetus", "sochip,s3", "allwinner,sun8i-v3";
> > > +
> > > + aliases {
> > > + serial0 = &uart0;
> > > + serial1 = &uart1;
> > > + };
> > > +
> > > + chosen {
> > > + stdout-path = "serial0:115200n8";
> > > + };
> > > +};
> > > +
> > > +&mmc0 {
> > > + broken-cd;
> > > + bus-width = <4>;
> > > + vmmc-supply = <®_vcc3v3>;
> > > + status = "okay";
> > > +};
> > > +
> > > +&uart0 {
> > > + pinctrl-0 = <&uart0_pb_pins>;
> > > + pinctrl-names = "default";
> > > + status = "okay";
> > > +};
> > > +
> > > +&uart1 {
> > > + pinctrl-0 = <&uart1_pg_pins>;
> > > + pinctrl-names = "default";
> > > + status = "okay";
> > > +};
> >
> > What is uart1 used for? the BT chip?
> >
> > Maxime
>
> No, BT is provided over SDIO by a Cypress 43455.
> When used with the Initium carrier board, UART1 goes to an FTDI bridge that is
> connected to the same USB-C connector that is used for power.
> The idea being, if want an application that uses the UART to communicate with a
> PC, it's convenient to provide power+connectivity on a single port.
>
> I guess your point is that we would be better off only defining this in the DTS
> of the carrier board?
I wasn't trying to make any point, it was a legitimate question, we
don't want to enable something that is optional or could be used for
something else (like a UART exposed on a generic pin header).
But from what you're telling me, yeah, it should be moved to the
daughter board DTS.
Maxime
The Elimo Engineering Initium is an Open Source Hardware Single Board
Computer based on the Elimo Impetus SoM.
It is meant as the first development platform for the Impetus, providing
convenient access to the peripherals on the Impetus.
It provides:
USB-C power input
UART-to-USB bridge on the USB-C connector, connected to UART1
USB-A connector for USB2.0 (Host, Device, OTG)
Audio Line In/Out
Pin header to access all signals on the M2 connector of the SoM
Signed-off-by: Matteo Scordino <[email protected]>
---
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/sun8i-s3-elimo-initium.dts | 34 ++++++++++++++++++++
2 files changed, 35 insertions(+)
create mode 100644 arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 4f0adfead547..50e438ab8a00 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1208,6 +1208,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
sun8i-r16-nintendo-super-nes-classic.dtb \
sun8i-r16-parrot.dtb \
sun8i-r40-bananapi-m2-ultra.dtb \
+ sun8i-s3-elimo-initium.dtb \
sun8i-s3-lichee-zero-plus.dtb \
sun8i-s3-pinecube.dtb \
sun8i-t3-cqa3t-bv3.dtb \
diff --git a/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts b/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
new file mode 100644
index 000000000000..2119403fb65e
--- /dev/null
+++ b/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
@@ -0,0 +1,34 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (C) 2020 Matteo Scordino <[email protected]>
+ */
+
+/dts-v1/;
+#include "sun8i-s3-elimo-impetus.dtsi"
+
+/ {
+ model = "Elimo Initium";
+ compatible = "elimo,initium", "elimo,impetus", "sochip,s3",
+ "allwinner,sun8i-v3";
+
+ aliases {
+ serial0 = &uart0;
+ serial1 = &uart1;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+};
+
+&uart1 {
+ pinctrl-0 = <&uart1_pg_pins>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
+&emac {
+ phy-handle = <&int_mii_phy>;
+ phy-mode = "mii";
+ status = "okay";
+};
--
2.20.1
Hi,
I removed the patches that were accepted from V2 and applied the lastest
suggestions from V2, i.e.:
- moved UART1 definition from dtsi to dts of the carrier board
- correct sorting of the dtb in the Makefile
- fixed indentation of compatible property
Matteo Scordino (3):
ARM: dts: sun8i: s3: Add dtsi for the Elimo Impetus SoM
dt-bindings: arm: sunxi: add Elimo bindings
ARM: dts: sun8i: s3: Add dts for the Elimo Initium SBC
.../devicetree/bindings/arm/sunxi.yaml | 13 ++++++
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi | 44 +++++++++++++++++++
arch/arm/boot/dts/sun8i-s3-elimo-initium.dts | 34 ++++++++++++++
4 files changed, 92 insertions(+)
create mode 100644 arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi
create mode 100644 arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
--
2.20.1
Document board compatible names for Elimo Engineering Impetus and Initium
Signed-off-by: Matteo Scordino <[email protected]>
---
Documentation/devicetree/bindings/arm/sunxi.yaml | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
index 0f23133672a3..ef2ce3bd2bed 100644
--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
@@ -201,6 +201,19 @@ properties:
- const: dserve,dsrv9703c
- const: allwinner,sun4i-a10
+ - description: Elimo Engineering Impetus SoM
+ items:
+ - const: elimo,impetus
+ - const: sochip,s3
+ - const: allwinner,sun8i-v3
+
+ - description: Elimo Engineering Initium
+ items:
+ - const: elimo,initium
+ - const: elimo,impetus
+ - const: sochip,s3
+ - const: allwinner,sun8i-v3
+
- description: Empire Electronix D709 Tablet
items:
- const: empire-electronix,d709
--
2.20.1
The Elimo Engineering Impetus is an Open Source Hardware System-on-Module
based on the SoChip S3 SoC.
It is meant for integration into carrier boards or, more generally,
larger designs, and uses an M2 connector to facilitate that.
Interfaces on the M.2/NGFF 42mm connector:
WiFi IEEE 802. 11abgn (on-module Realtek)
Bluetooth 4.2/BLE (on-module Realtek)
RGB LCD Interface (on-module connector)
MIPI Camera Interface (on-module connector)
IEEE 802. 3u Ethernet MAC (external connecto)
USB2.0 (Host, Device, OTG) (external connector)
Audio Line In/Out (external connector)
Signed-off-by: Matteo Scordino <[email protected]>
---
arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi | 44 +++++++++++++++++++
1 file changed, 44 insertions(+)
create mode 100644 arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi
diff --git a/arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi b/arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi
new file mode 100644
index 000000000000..24d507cdbcf9
--- /dev/null
+++ b/arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi
@@ -0,0 +1,44 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (C) 2020 Matteo Scordino <[email protected]>
+ */
+
+/dts-v1/;
+#include "sun8i-v3.dtsi"
+#include "sunxi-common-regulators.dtsi"
+
+/ {
+ model = "Elimo Impetus SoM";
+ compatible = "elimo,impetus", "sochip,s3", "allwinner,sun8i-v3";
+
+ aliases {
+ serial0 = &uart0;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+};
+
+&mmc0 {
+ broken-cd;
+ bus-width = <4>;
+ vmmc-supply = <®_vcc3v3>;
+ status = "okay";
+};
+
+&uart0 {
+ pinctrl-0 = <&uart0_pb_pins>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
+&usb_otg {
+ dr_mode = "otg";
+ status = "okay";
+};
+
+&usbphy {
+ usb0_id_det-gpio = <&pio 5 6 GPIO_ACTIVE_HIGH>;
+ status = "okay";
+};
--
2.20.1
On Thu, Nov 05, 2020 at 02:49:45PM +0000, Matteo Scordino wrote:
> The Elimo Engineering Initium is an Open Source Hardware Single Board
> Computer based on the Elimo Impetus SoM.
>
> It is meant as the first development platform for the Impetus, providing
> convenient access to the peripherals on the Impetus.
>
> It provides:
> USB-C power input
> UART-to-USB bridge on the USB-C connector, connected to UART1
> USB-A connector for USB2.0 (Host, Device, OTG)
> Audio Line In/Out
> Pin header to access all signals on the M2 connector of the SoM
>
> Signed-off-by: Matteo Scordino <[email protected]>
> ---
> arch/arm/boot/dts/Makefile | 1 +
> arch/arm/boot/dts/sun8i-s3-elimo-initium.dts | 34 ++++++++++++++++++++
> 2 files changed, 35 insertions(+)
> create mode 100644 arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 4f0adfead547..50e438ab8a00 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -1208,6 +1208,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
> sun8i-r16-nintendo-super-nes-classic.dtb \
> sun8i-r16-parrot.dtb \
> sun8i-r40-bananapi-m2-ultra.dtb \
> + sun8i-s3-elimo-initium.dtb \
> sun8i-s3-lichee-zero-plus.dtb \
> sun8i-s3-pinecube.dtb \
> sun8i-t3-cqa3t-bv3.dtb \
> diff --git a/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts b/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
> new file mode 100644
> index 000000000000..2119403fb65e
> --- /dev/null
> +++ b/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
> @@ -0,0 +1,34 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (C) 2020 Matteo Scordino <[email protected]>
> + */
> +
> +/dts-v1/;
> +#include "sun8i-s3-elimo-impetus.dtsi"
> +
> +/ {
> + model = "Elimo Initium";
> + compatible = "elimo,initium", "elimo,impetus", "sochip,s3",
> + "allwinner,sun8i-v3";
> +
> + aliases {
> + serial0 = &uart0;
This alias would come from the DTSI
> + serial1 = &uart1;
> + };
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
And this node too
Maxime
Hi,
On Thu, 2020-11-05 at 16:00 +0100, Maxime Ripard wrote:
> On Thu, Nov 05, 2020 at 02:49:45PM +0000, Matteo Scordino wrote:
> > The Elimo Engineering Initium is an Open Source Hardware Single Board
> > Computer based on the Elimo Impetus SoM.
> >
> > It is meant as the first development platform for the Impetus, providing
> > convenient access to the peripherals on the Impetus.
> >
> > It provides:
> > USB-C power input
> > UART-to-USB bridge on the USB-C connector, connected to UART1
> > USB-A connector for USB2.0 (Host, Device, OTG)
> > Audio Line In/Out
> > Pin header to access all signals on the M2 connector of the SoM
> >
> > Signed-off-by: Matteo Scordino <[email protected]>
> > ---
> > arch/arm/boot/dts/Makefile | 1 +
> > arch/arm/boot/dts/sun8i-s3-elimo-initium.dts | 34 ++++++++++++++++++++
> > 2 files changed, 35 insertions(+)
> > create mode 100644 arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
> >
> > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> > index 4f0adfead547..50e438ab8a00 100644
> > --- a/arch/arm/boot/dts/Makefile
> > +++ b/arch/arm/boot/dts/Makefile
> > @@ -1208,6 +1208,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
> > sun8i-r16-nintendo-super-nes-classic.dtb \
> > sun8i-r16-parrot.dtb \
> > sun8i-r40-bananapi-m2-ultra.dtb \
> > + sun8i-s3-elimo-initium.dtb \
> > sun8i-s3-lichee-zero-plus.dtb \
> > sun8i-s3-pinecube.dtb \
> > sun8i-t3-cqa3t-bv3.dtb \
> > diff --git a/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts b/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
> > new file mode 100644
> > index 000000000000..2119403fb65e
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
> > @@ -0,0 +1,34 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > +/*
> > + * Copyright (C) 2020 Matteo Scordino <[email protected]>
> > + */
> > +
> > +/dts-v1/;
> > +#include "sun8i-s3-elimo-impetus.dtsi"
> > +
> > +/ {
> > + model = "Elimo Initium";
> > + compatible = "elimo,initium", "elimo,impetus", "sochip,s3",
> > + "allwinner,sun8i-v3";
> > +
> > + aliases {
> > + serial0 = &uart0;
>
> This alias would come from the DTSI
Removing it.
>
> > + serial1 = &uart1;
> > + };
> > +
> > + chosen {
> > + stdout-path = "serial0:115200n8";
> > + };
>
> And this node too
Removing this too. Sorry for the many iterations, as you can probably see by now,
this is my first kernel patch submission =)
> Maxime
Document board compatible names for Elimo Engineering Impetus and Initium
Signed-off-by: Matteo Scordino <[email protected]>
---
Documentation/devicetree/bindings/arm/sunxi.yaml | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
index 0f23133672a3..ef2ce3bd2bed 100644
--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
@@ -201,6 +201,19 @@ properties:
- const: dserve,dsrv9703c
- const: allwinner,sun4i-a10
+ - description: Elimo Engineering Impetus SoM
+ items:
+ - const: elimo,impetus
+ - const: sochip,s3
+ - const: allwinner,sun8i-v3
+
+ - description: Elimo Engineering Initium
+ items:
+ - const: elimo,initium
+ - const: elimo,impetus
+ - const: sochip,s3
+ - const: allwinner,sun8i-v3
+
- description: Empire Electronix D709 Tablet
items:
- const: empire-electronix,d709
--
2.20.1
Hello,
Removed a redundant node and a redundant alias as suggested for V3
Matteo Scordino (3):
ARM: dts: sun8i: s3: Add dtsi for the Elimo Impetus SoM
dt-bindings: arm: sunxi: add Elimo bindings
ARM: dts: sun8i: s3: Add dts for the Elimo Initium SBC
.../devicetree/bindings/arm/sunxi.yaml | 13 ++++++
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi | 44 +++++++++++++++++++
arch/arm/boot/dts/sun8i-s3-elimo-initium.dts | 29 ++++++++++++
4 files changed, 87 insertions(+)
create mode 100644 arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi
create mode 100644 arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
--
2.20.1
The Elimo Engineering Initium is an Open Source Hardware Single Board
Computer based on the Elimo Impetus SoM.
It is meant as the first development platform for the Impetus, providing
convenient access to the peripherals on the Impetus.
It provides:
USB-C power input
UART-to-USB bridge on the USB-C connector, connected to UART1
USB-A connector for USB2.0 (Host, Device, OTG)
Audio Line In/Out
Pin header to access all signals on the M2 connector of the SoM
Signed-off-by: Matteo Scordino <[email protected]>
---
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/sun8i-s3-elimo-initium.dts | 29 ++++++++++++++++++++
2 files changed, 30 insertions(+)
create mode 100644 arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 4f0adfead547..50e438ab8a00 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1208,6 +1208,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
sun8i-r16-nintendo-super-nes-classic.dtb \
sun8i-r16-parrot.dtb \
sun8i-r40-bananapi-m2-ultra.dtb \
+ sun8i-s3-elimo-initium.dtb \
sun8i-s3-lichee-zero-plus.dtb \
sun8i-s3-pinecube.dtb \
sun8i-t3-cqa3t-bv3.dtb \
diff --git a/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts b/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
new file mode 100644
index 000000000000..039677c2cc65
--- /dev/null
+++ b/arch/arm/boot/dts/sun8i-s3-elimo-initium.dts
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (C) 2020 Matteo Scordino <[email protected]>
+ */
+
+/dts-v1/;
+#include "sun8i-s3-elimo-impetus.dtsi"
+
+/ {
+ model = "Elimo Initium";
+ compatible = "elimo,initium", "elimo,impetus", "sochip,s3",
+ "allwinner,sun8i-v3";
+
+ aliases {
+ serial1 = &uart1;
+ };
+};
+
+&uart1 {
+ pinctrl-0 = <&uart1_pg_pins>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
+&emac {
+ phy-handle = <&int_mii_phy>;
+ phy-mode = "mii";
+ status = "okay";
+};
--
2.20.1
The Elimo Engineering Impetus is an Open Source Hardware System-on-Module
based on the SoChip S3 SoC.
It is meant for integration into carrier boards or, more generally,
larger designs, and uses an M2 connector to facilitate that.
Interfaces on the M.2/NGFF 42mm connector:
WiFi IEEE 802. 11abgn (on-module Realtek)
Bluetooth 4.2/BLE (on-module Realtek)
RGB LCD Interface (on-module connector)
MIPI Camera Interface (on-module connector)
IEEE 802. 3u Ethernet MAC (external connecto)
USB2.0 (Host, Device, OTG) (external connector)
Audio Line In/Out (external connector)
Signed-off-by: Matteo Scordino <[email protected]>
---
arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi | 44 +++++++++++++++++++
1 file changed, 44 insertions(+)
create mode 100644 arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi
diff --git a/arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi b/arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi
new file mode 100644
index 000000000000..24d507cdbcf9
--- /dev/null
+++ b/arch/arm/boot/dts/sun8i-s3-elimo-impetus.dtsi
@@ -0,0 +1,44 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (C) 2020 Matteo Scordino <[email protected]>
+ */
+
+/dts-v1/;
+#include "sun8i-v3.dtsi"
+#include "sunxi-common-regulators.dtsi"
+
+/ {
+ model = "Elimo Impetus SoM";
+ compatible = "elimo,impetus", "sochip,s3", "allwinner,sun8i-v3";
+
+ aliases {
+ serial0 = &uart0;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+};
+
+&mmc0 {
+ broken-cd;
+ bus-width = <4>;
+ vmmc-supply = <®_vcc3v3>;
+ status = "okay";
+};
+
+&uart0 {
+ pinctrl-0 = <&uart0_pb_pins>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
+&usb_otg {
+ dr_mode = "otg";
+ status = "okay";
+};
+
+&usbphy {
+ usb0_id_det-gpio = <&pio 5 6 GPIO_ACTIVE_HIGH>;
+ status = "okay";
+};
--
2.20.1
On Thu, Nov 05, 2020 at 06:32:31PM +0000, Matteo Scordino wrote:
> The Elimo Engineering Initium is an Open Source Hardware Single Board
> Computer based on the Elimo Impetus SoM.
>
> It is meant as the first development platform for the Impetus, providing
> convenient access to the peripherals on the Impetus.
>
> It provides:
> USB-C power input
> UART-to-USB bridge on the USB-C connector, connected to UART1
> USB-A connector for USB2.0 (Host, Device, OTG)
> Audio Line In/Out
> Pin header to access all signals on the M2 connector of the SoM
>
> Signed-off-by: Matteo Scordino <[email protected]>
Applied all three patches, thanks!
Maxime