linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 1/3] dt-bindings: Add vendor prefix for reMarkable
@ 2021-03-16  2:27 Alistair Francis
  2021-03-16  2:27 ` [PATCH v5 2/3] dt-bindings: arm: fsl: Add the reMarkable 2 e-Ink tablet Alistair Francis
  2021-03-16  2:27 ` [PATCH v5 3/3] ARM: imx7d-remarkable2.dts: Initial device tree for reMarkable2 Alistair Francis
  0 siblings, 2 replies; 6+ messages in thread
From: Alistair Francis @ 2021-03-16  2:27 UTC (permalink / raw)
  To: arnd, olof, robh+dt, shawnguo, s.hauer, kernel, festevam, linux-imx
  Cc: linux-arm-kernel, devicetree, linux-kernel, alistair23, Alistair Francis

reMarkable AS produces eInk tablets

Signed-off-by: Alistair Francis <alistair@alistair23.me>
---
 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 f6064d84a424..a8e1e8d2ef20 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -932,6 +932,8 @@ patternProperties:
     description: Unisoc Communications, Inc.
   "^realtek,.*":
     description: Realtek Semiconductor Corp.
+  "^remarkable,.*":
+    description: reMarkable AS
   "^renesas,.*":
     description: Renesas Electronics Corporation
   "^rex,.*":
-- 
2.30.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v5 2/3] dt-bindings: arm: fsl: Add the reMarkable 2 e-Ink tablet
  2021-03-16  2:27 [PATCH v5 1/3] dt-bindings: Add vendor prefix for reMarkable Alistair Francis
@ 2021-03-16  2:27 ` Alistair Francis
  2021-03-16  2:27 ` [PATCH v5 3/3] ARM: imx7d-remarkable2.dts: Initial device tree for reMarkable2 Alistair Francis
  1 sibling, 0 replies; 6+ messages in thread
From: Alistair Francis @ 2021-03-16  2:27 UTC (permalink / raw)
  To: arnd, olof, robh+dt, shawnguo, s.hauer, kernel, festevam, linux-imx
  Cc: linux-arm-kernel, devicetree, linux-kernel, alistair23, Alistair Francis

Signed-off-by: Alistair Francis <alistair@alistair23.me>
---
 Documentation/devicetree/bindings/arm/fsl.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
index 297c87f45db8..d139440c86b6 100644
--- a/Documentation/devicetree/bindings/arm/fsl.yaml
+++ b/Documentation/devicetree/bindings/arm/fsl.yaml
@@ -617,6 +617,7 @@ properties:
               - kam,imx7d-flex-concentrator       # Kamstrup OMNIA Flex Concentrator
               - kam,imx7d-flex-concentrator-mfg   # Kamstrup OMNIA Flex Concentrator in manufacturing mode
               - novtech,imx7d-meerkat96   # i.MX7 Meerkat96 Board
+              - remarkable,imx7d-remarkable2  # i.MX7D ReMarkable 2 E-Ink Tablet
               - technexion,imx7d-pico-dwarf   # TechNexion i.MX7D Pico-Dwarf
               - technexion,imx7d-pico-hobbit  # TechNexion i.MX7D Pico-Hobbit
               - technexion,imx7d-pico-nymph   # TechNexion i.MX7D Pico-Nymph
-- 
2.30.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v5 3/3] ARM: imx7d-remarkable2.dts: Initial device tree for reMarkable2
  2021-03-16  2:27 [PATCH v5 1/3] dt-bindings: Add vendor prefix for reMarkable Alistair Francis
  2021-03-16  2:27 ` [PATCH v5 2/3] dt-bindings: arm: fsl: Add the reMarkable 2 e-Ink tablet Alistair Francis
@ 2021-03-16  2:27 ` Alistair Francis
  2021-03-19 13:06   ` Marco Felsch
  2021-03-21 13:15   ` Fabio Estevam
  1 sibling, 2 replies; 6+ messages in thread
From: Alistair Francis @ 2021-03-16  2:27 UTC (permalink / raw)
  To: arnd, olof, robh+dt, shawnguo, s.hauer, kernel, festevam, linux-imx
  Cc: linux-arm-kernel, devicetree, linux-kernel, alistair23, Alistair Francis

The reMarkable2 (https://remarkable.com) is an e-ink tablet based on
the imx7d SoC.

This commit is based on the DTS provide by reMarkable but ported to the
latest kernel (instead of 4.14). I have removed references to
non-upstream devices and have changed the UART so that the console can
be accessed without having to open up the device via the OTG pogo pins.

Currently the kernel boots, but there is no support for the display.

WiFi is untested (no dispaly or UART RX makes it hard to test), but
should work with the current upstream driver. As it's untested it's not
included in this commit.

Signed-off-by: Alistair Francis <alistair@alistair23.me>
---
 arch/arm/boot/dts/Makefile              |   1 +
 arch/arm/boot/dts/imx7d-remarkable2.dts | 166 ++++++++++++++++++++++++
 2 files changed, 167 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx7d-remarkable2.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 8e5d4ab4e75e..dc8e378689af 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -660,6 +660,7 @@ dtb-$(CONFIG_SOC_IMX7D) += \
 	imx7d-pico-hobbit.dtb \
 	imx7d-pico-nymph.dtb \
 	imx7d-pico-pi.dtb \
+	imx7d-remarkable2.dtb \
 	imx7d-sbc-imx7.dtb \
 	imx7d-sdb.dtb \
 	imx7d-sdb-reva.dtb \
diff --git a/arch/arm/boot/dts/imx7d-remarkable2.dts b/arch/arm/boot/dts/imx7d-remarkable2.dts
new file mode 100644
index 000000000000..86d555bd33c2
--- /dev/null
+++ b/arch/arm/boot/dts/imx7d-remarkable2.dts
@@ -0,0 +1,166 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (C) 2015 Freescale Semiconductor, Inc.
+ * Copyright (C) 2019 reMarkable AS - http://www.remarkable.com/
+ *
+ */
+
+/dts-v1/;
+
+#include "imx7d.dtsi"
+
+/ {
+	model = "reMarkable 2.0";
+	compatible = "remarkable,imx7d-remarkable2", "fsl,imx7d";
+
+	chosen {
+		stdout-path = &uart6;
+	};
+
+	memory {
+		reg = <0x80000000 0x40000000>;
+	};
+};
+
+&clks {
+	assigned-clocks = <&clks IMX7D_CLKO2_ROOT_SRC>,
+			  <&clks IMX7D_CLKO2_ROOT_DIV>;
+	assigned-clock-parents = <&clks IMX7D_CKIL>;
+	assigned-clock-rates = <0>, <32768>;
+};
+
+&crypto {
+	status = "disabled";
+};
+
+&dma_apbh {
+	status = "disabled";
+};
+
+&sdma {
+	status = "okay";
+};
+
+&snvs_pwrkey {
+	status = "okay";
+};
+
+&uart1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_uart1>;
+	assigned-clocks = <&clks IMX7D_UART1_ROOT_SRC>;
+	assigned-clock-parents = <&clks IMX7D_OSC_24M_CLK>;
+	status = "okay";
+};
+
+&uart6 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_uart6>;
+	assigned-clocks = <&clks IMX7D_UART6_ROOT_SRC>;
+	assigned-clock-parents = <&clks IMX7D_OSC_24M_CLK>;
+	status = "okay";
+};
+
+&usbotg2 {
+	srp-disable;
+	hnp-disable;
+	status = "okay";
+};
+
+&usdhc3 {
+	pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
+	pinctrl-0 = <&pinctrl_usdhc3>;
+	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
+	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
+	pinctrl-3 = <&pinctrl_usdhc3>;
+	assigned-clocks = <&clks IMX7D_USDHC3_ROOT_CLK>;
+	assigned-clock-rates = <400000000>;
+	bus-width = <8>;
+	non-removable;
+	status = "okay";
+};
+
+&wdog1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_wdog>;
+	fsl,ext-reset-output;
+};
+
+&iomuxc_lpsr {
+	pinctrl_digitizer_reg: digitizerreggrp {
+		fsl,pins = <
+			/* DIGITIZER_PWR_EN */
+			MX7D_PAD_LPSR_GPIO1_IO06__GPIO1_IO6	0x14
+		>;
+	};
+};
+
+&iomuxc {
+	pinctrl_uart1: uart1grp {
+		fsl,pins = <
+			MX7D_PAD_UART1_TX_DATA__UART1_DCE_TX	0x79
+			MX7D_PAD_UART1_RX_DATA__UART1_DCE_RX	0x79
+		>;
+	};
+
+	pinctrl_uart6: uart6grp {
+		fsl,pins = <
+			MX7D_PAD_EPDC_DATA09__UART6_DCE_TX		0x79
+			MX7D_PAD_EPDC_DATA08__UART6_DCE_RX		0x79
+		>;
+	};
+
+	pinctrl_usdhc3: usdhc3grp {
+		fsl,pins = <
+			MX7D_PAD_SD3_CMD__SD3_CMD		0x59
+			MX7D_PAD_SD3_CLK__SD3_CLK		0x19
+			MX7D_PAD_SD3_DATA0__SD3_DATA0		0x59
+			MX7D_PAD_SD3_DATA1__SD3_DATA1		0x59
+			MX7D_PAD_SD3_DATA2__SD3_DATA2		0x59
+			MX7D_PAD_SD3_DATA3__SD3_DATA3		0x59
+			MX7D_PAD_SD3_DATA4__SD3_DATA4		0x59
+			MX7D_PAD_SD3_DATA5__SD3_DATA5		0x59
+			MX7D_PAD_SD3_DATA6__SD3_DATA6		0x59
+			MX7D_PAD_SD3_DATA7__SD3_DATA7		0x59
+			MX7D_PAD_SD3_STROBE__SD3_STROBE		0x19
+		>;
+	};
+
+	pinctrl_usdhc3_100mhz: usdhc3grp_100mhz {
+		fsl,pins = <
+			MX7D_PAD_SD3_CMD__SD3_CMD		0x5a
+			MX7D_PAD_SD3_CLK__SD3_CLK		0x1a
+			MX7D_PAD_SD3_DATA0__SD3_DATA0		0x5a
+			MX7D_PAD_SD3_DATA1__SD3_DATA1		0x5a
+			MX7D_PAD_SD3_DATA2__SD3_DATA2		0x5a
+			MX7D_PAD_SD3_DATA3__SD3_DATA3		0x5a
+			MX7D_PAD_SD3_DATA4__SD3_DATA4		0x5a
+			MX7D_PAD_SD3_DATA5__SD3_DATA5		0x5a
+			MX7D_PAD_SD3_DATA6__SD3_DATA6		0x5a
+			MX7D_PAD_SD3_DATA7__SD3_DATA7		0x5a
+			MX7D_PAD_SD3_STROBE__SD3_STROBE		0x1a
+		>;
+	};
+
+	pinctrl_usdhc3_200mhz: usdhc3grp_200mhz {
+		fsl,pins = <
+			MX7D_PAD_SD3_CMD__SD3_CMD		0x5b
+			MX7D_PAD_SD3_CLK__SD3_CLK		0x1b
+			MX7D_PAD_SD3_DATA0__SD3_DATA0		0x5b
+			MX7D_PAD_SD3_DATA1__SD3_DATA1		0x5b
+			MX7D_PAD_SD3_DATA2__SD3_DATA2		0x5b
+			MX7D_PAD_SD3_DATA3__SD3_DATA3		0x5b
+			MX7D_PAD_SD3_DATA4__SD3_DATA4		0x5b
+			MX7D_PAD_SD3_DATA5__SD3_DATA5		0x5b
+			MX7D_PAD_SD3_DATA6__SD3_DATA6		0x5b
+			MX7D_PAD_SD3_DATA7__SD3_DATA7		0x5b
+			MX7D_PAD_SD3_STROBE__SD3_STROBE		0x1b
+		>;
+	};
+
+	pinctrl_wdog: wdoggrp {
+		fsl,pins = <
+			MX7D_PAD_ENET1_COL__WDOG1_WDOG_ANY	0x74
+		>;
+	};
+};
-- 
2.30.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v5 3/3] ARM: imx7d-remarkable2.dts: Initial device tree for reMarkable2
  2021-03-16  2:27 ` [PATCH v5 3/3] ARM: imx7d-remarkable2.dts: Initial device tree for reMarkable2 Alistair Francis
@ 2021-03-19 13:06   ` Marco Felsch
  2021-03-21  1:40     ` Alistair Francis
  2021-03-21 13:15   ` Fabio Estevam
  1 sibling, 1 reply; 6+ messages in thread
From: Marco Felsch @ 2021-03-19 13:06 UTC (permalink / raw)
  To: Alistair Francis
  Cc: arnd, olof, robh+dt, shawnguo, s.hauer, kernel, festevam,
	linux-imx, linux-arm-kernel, devicetree, linux-kernel,
	alistair23

Hi Alistair,

the patch looks quite good only a few notes inline.

PS: It would be cool to have a log to previous patch versions.

On 21-03-15 22:27, Alistair Francis wrote:

...

> +&crypto {
> +	status = "disabled";
> +};

Why do you disable the crypto subsystem?

> +&dma_apbh {
> +	status = "disabled";
> +};

Why do you disable this dma controller?

> +
> +&sdma {
> +	status = "okay";
> +};

This is the default state so you can drop this node.

Regards,
  Marco

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v5 3/3] ARM: imx7d-remarkable2.dts: Initial device tree for reMarkable2
  2021-03-19 13:06   ` Marco Felsch
@ 2021-03-21  1:40     ` Alistair Francis
  0 siblings, 0 replies; 6+ messages in thread
From: Alistair Francis @ 2021-03-21  1:40 UTC (permalink / raw)
  To: Marco Felsch
  Cc: Alistair Francis, Arnd Bergmann, Olof Johansson, Rob Herring,
	Shawn Guo, Sascha Hauer, Sascha Hauer, Fabio Estevam,
	dl-linux-imx, linux-arm-kernel, devicetree,
	Linux Kernel Mailing List

On Fri, Mar 19, 2021 at 9:06 AM Marco Felsch <m.felsch@pengutronix.de> wrote:
>
> Hi Alistair,
>
> the patch looks quite good only a few notes inline.
>
> PS: It would be cool to have a log to previous patch versions.

I'm not sure how I could add that, I will add a changelog for this
version though.

>
> On 21-03-15 22:27, Alistair Francis wrote:
>
> ...
>
> > +&crypto {
> > +     status = "disabled";
> > +};
>
> Why do you disable the crypto subsystem?
>
> > +&dma_apbh {
> > +     status = "disabled";
> > +};
>
> Why do you disable this dma controller?
>
> > +
> > +&sdma {
> > +     status = "okay";
> > +};
>
> This is the default state so you can drop this node.

You are right, these are all just left over from the vendor DT, I have
removed all 3.

Alistair

>
> Regards,
>   Marco

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v5 3/3] ARM: imx7d-remarkable2.dts: Initial device tree for reMarkable2
  2021-03-16  2:27 ` [PATCH v5 3/3] ARM: imx7d-remarkable2.dts: Initial device tree for reMarkable2 Alistair Francis
  2021-03-19 13:06   ` Marco Felsch
@ 2021-03-21 13:15   ` Fabio Estevam
  1 sibling, 0 replies; 6+ messages in thread
From: Fabio Estevam @ 2021-03-21 13:15 UTC (permalink / raw)
  To: Alistair Francis
  Cc: Arnd Bergmann, Olof Johansson, Rob Herring, Shawn Guo,
	Sascha Hauer, Sascha Hauer, NXP Linux Team,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	linux-kernel, alistair23

Hi Alistair,

On Mon, Mar 15, 2021 at 11:27 PM Alistair Francis
<alistair@alistair23.me> wrote:
>
> The reMarkable2 (https://remarkable.com) is an e-ink tablet based on
> the imx7d SoC.
>
> This commit is based on the DTS provide by reMarkable but ported to the
> latest kernel (instead of 4.14). I have removed references to
> non-upstream devices and have changed the UART so that the console can
> be accessed without having to open up the device via the OTG pogo pins.
>
> Currently the kernel boots, but there is no support for the display.
>
> WiFi is untested (no dispaly or UART RX makes it hard to test), but

"display"

> +       memory {
> +               reg = <0x80000000 0x40000000>;
> +       };

This should be:

memory@80000000 {
         device_type = "memory";
         reg = <0x80000000 0x40000000>;
};

> +&crypto {
> +       status = "disabled";
> +};

Why do you need to disable this node?

> +&dma_apbh {
> +       status = "disabled";
> +};

Same here.

> +&sdma {
> +       status = "okay";
> +};

No need to enable it in the board file.

> +&iomuxc_lpsr {
> +       pinctrl_digitizer_reg: digitizerreggrp {

This is not referenced from anywhere.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-03-21 13:16 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-16  2:27 [PATCH v5 1/3] dt-bindings: Add vendor prefix for reMarkable Alistair Francis
2021-03-16  2:27 ` [PATCH v5 2/3] dt-bindings: arm: fsl: Add the reMarkable 2 e-Ink tablet Alistair Francis
2021-03-16  2:27 ` [PATCH v5 3/3] ARM: imx7d-remarkable2.dts: Initial device tree for reMarkable2 Alistair Francis
2021-03-19 13:06   ` Marco Felsch
2021-03-21  1:40     ` Alistair Francis
2021-03-21 13:15   ` Fabio Estevam

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).