linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 1/3] ARM: imx7d-remarkable2.dts: Initial device tree for reMarkable2
@ 2021-02-04  3:03 Alistair Francis
  2021-02-04  3:03 ` [PATCH v3 2/3] ARM: dts: imx7d: remarkable2: Enable the power button Alistair Francis
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Alistair Francis @ 2021-02-04  3:03 UTC (permalink / raw)
  To: arnd, olof, robh+dt, shawnguo, s.hauer, kernel, festevam, linux-imx
  Cc: devicetree, Alistair Francis, linux-kernel, linux-arm-kernel, alistair23

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 dispaly,
WiFi or the power controller chips.

Signed-off-by: Alistair Francis <alistair@alistair23.me>
---
 arch/arm/boot/dts/Makefile              |   1 +
 arch/arm/boot/dts/imx7d-remarkable2.dts | 253 ++++++++++++++++++++++++
 2 files changed, 254 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 3d1ea0b25168..9608c363b25f 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -658,6 +658,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..0aae13f5eed6
--- /dev/null
+++ b/arch/arm/boot/dts/imx7d-remarkable2.dts
@@ -0,0 +1,253 @@
+// 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 = "fsl,imx7d-remarkable2", "fsl,imx7d";
+
+	chosen {
+		stdout-path = &uart6;
+	};
+
+	memory {
+		reg = <0x80000000 0x40000000>;
+	};
+
+	reg_brcm: regulator-brcm {
+		compatible = "regulator-fixed";
+		regulator-name = "brcm_reg";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_brcm_reg>;
+		gpio = <&gpio6 13 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+		startup-delay-us = <150>;
+	};
+
+	wifi_pwrseq: wifi_pwrseq {
+		compatible = "mmc-pwrseq-simple";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_wifi>;
+		reset-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
+		clocks = <&clks IMX7D_CLKO2_ROOT_DIV>;
+		clock-names = "ext_clock";
+	};
+};
+
+&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";
+};
+
+&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";
+};
+
+&usdhc2 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	pinctrl-names = "default", "state_100mhz", "sleep";
+	pinctrl-0 = <&pinctrl_usdhc2>;
+	pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
+	pinctrl-2 = <&pinctrl_usdhc2>;
+	mmc-pwrseq = <&wifi_pwrseq>;
+	vmmc-supply = <&reg_brcm>;
+	bus-width = <4>;
+	non-removable;
+	keep-power-in-suspend;
+	cap-power-off-card;
+	status = "okay";
+
+	brcmf: bcrmf@1 {
+		reg = <1>;
+		compatible = "brcm,bcm4329-fmac";
+	};
+};
+
+&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_brcm_reg: brcmreggrp {
+		fsl,pins = <
+			/* WIFI_PWR_EN */
+			MX7D_PAD_SAI1_TX_BCLK__GPIO6_IO13	0x14
+		>;
+	};
+
+	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_usdhc2: usdhc2grp {
+		fsl,pins = <
+			MX7D_PAD_SD2_CMD__SD2_CMD		0x59
+			MX7D_PAD_SD2_CLK__SD2_CLK		0x19
+			MX7D_PAD_SD2_DATA0__SD2_DATA0		0x59
+			MX7D_PAD_SD2_DATA1__SD2_DATA1		0x59
+			MX7D_PAD_SD2_DATA2__SD2_DATA2		0x59
+			MX7D_PAD_SD2_DATA3__SD2_DATA3		0x59
+		>;
+	};
+
+	pinctrl_usdhc2_100mhz: usdhc2grp_100mhz {
+		fsl,pins = <
+			MX7D_PAD_SD2_CMD__SD2_CMD		0x5a
+			MX7D_PAD_SD2_CLK__SD2_CLK		0x1a
+			MX7D_PAD_SD2_DATA0__SD2_DATA0		0x5a
+			MX7D_PAD_SD2_DATA1__SD2_DATA1		0x5a
+			MX7D_PAD_SD2_DATA2__SD2_DATA2		0x5a
+			MX7D_PAD_SD2_DATA3__SD2_DATA3		0x5a
+		>;
+	};
+
+	pinctrl_usdhc2_200mhz: usdhc2grp_200mhz {
+		fsl,pins = <
+			MX7D_PAD_SD2_CMD__SD2_CMD		0x5b
+			MX7D_PAD_SD2_CLK__SD2_CLK		0x1b
+			MX7D_PAD_SD2_DATA0__SD2_DATA0		0x5b
+			MX7D_PAD_SD2_DATA1__SD2_DATA1		0x5b
+			MX7D_PAD_SD2_DATA2__SD2_DATA2		0x5b
+			MX7D_PAD_SD2_DATA3__SD2_DATA3		0x5b
+		>;
+	};
+
+	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
+		>;
+	};
+
+	pinctrl_wifi: wifigrp {
+		fsl,pins = <
+			/* WiFi Reg On */
+			MX7D_PAD_SD2_CD_B__GPIO5_IO9		0x00000014
+			/* WiFi Sleep 32k */
+			MX7D_PAD_SD1_WP__CCM_CLKO2		0x00000014
+		>;
+	};
+};
-- 
2.30.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v3 2/3] ARM: dts: imx7d: remarkable2: Enable the power button
  2021-02-04  3:03 [PATCH v3 1/3] ARM: imx7d-remarkable2.dts: Initial device tree for reMarkable2 Alistair Francis
@ 2021-02-04  3:03 ` Alistair Francis
  2021-03-03 13:45   ` Shawn Guo
  2021-02-04  3:03 ` [PATCH v3 3/3] ARM: imx_v6_v7_defconfig: Regenerate Alistair Francis
  2021-03-03 13:44 ` [PATCH v3 1/3] ARM: imx7d-remarkable2.dts: Initial device tree for reMarkable2 Shawn Guo
  2 siblings, 1 reply; 8+ messages in thread
From: Alistair Francis @ 2021-02-04  3:03 UTC (permalink / raw)
  To: arnd, olof, robh+dt, shawnguo, s.hauer, kernel, festevam, linux-imx
  Cc: devicetree, Alistair Francis, linux-kernel, linux-arm-kernel, alistair23

Signed-off-by: Alistair Francis <alistair@alistair23.me>
---
 arch/arm/boot/dts/imx7d-remarkable2.dts | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm/boot/dts/imx7d-remarkable2.dts b/arch/arm/boot/dts/imx7d-remarkable2.dts
index 0aae13f5eed6..0978e26f5db5 100644
--- a/arch/arm/boot/dts/imx7d-remarkable2.dts
+++ b/arch/arm/boot/dts/imx7d-remarkable2.dts
@@ -62,6 +62,10 @@ &sdma {
 	status = "okay";
 };
 
+&snvs_pwrkey {
+	status = "okay";
+};
+
 &uart1 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_uart1>;
-- 
2.30.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v3 3/3] ARM: imx_v6_v7_defconfig: Regenerate
  2021-02-04  3:03 [PATCH v3 1/3] ARM: imx7d-remarkable2.dts: Initial device tree for reMarkable2 Alistair Francis
  2021-02-04  3:03 ` [PATCH v3 2/3] ARM: dts: imx7d: remarkable2: Enable the power button Alistair Francis
@ 2021-02-04  3:03 ` Alistair Francis
  2021-03-03 13:47   ` Shawn Guo
  2021-03-03 17:57   ` Arnd Bergmann
  2021-03-03 13:44 ` [PATCH v3 1/3] ARM: imx7d-remarkable2.dts: Initial device tree for reMarkable2 Shawn Guo
  2 siblings, 2 replies; 8+ messages in thread
From: Alistair Francis @ 2021-02-04  3:03 UTC (permalink / raw)
  To: arnd, olof, robh+dt, shawnguo, s.hauer, kernel, festevam, linux-imx
  Cc: devicetree, Alistair Francis, linux-kernel, linux-arm-kernel, alistair23

Run make imx_v6_v7_defconfig; make savedefconfig to regenerate the
defconfig.

Signed-off-by: Alistair Francis <alistair@alistair23.me>
---
 arch/arm/configs/imx_v6_v7_defconfig | 36 ++++++++--------------------
 1 file changed, 10 insertions(+), 26 deletions(-)

diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig
index 221f5c340c86..55674cb1ffce 100644
--- a/arch/arm/configs/imx_v6_v7_defconfig
+++ b/arch/arm/configs/imx_v6_v7_defconfig
@@ -28,9 +28,6 @@ CONFIG_SOC_IMX6UL=y
 CONFIG_SOC_IMX7D=y
 CONFIG_SOC_IMX7ULP=y
 CONFIG_SOC_VF610=y
-CONFIG_PCI=y
-CONFIG_PCI_MSI=y
-CONFIG_PCI_IMX6=y
 CONFIG_SMP=y
 CONFIG_ARM_PSCI=y
 CONFIG_HIGHMEM=y
@@ -65,9 +62,6 @@ CONFIG_UNIX=y
 CONFIG_INET=y
 CONFIG_IP_PNP=y
 CONFIG_IP_PNP_DHCP=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
 CONFIG_NETFILTER=y
 CONFIG_CAN=y
 CONFIG_CAN_FLEXCAN=y
@@ -80,12 +74,14 @@ CONFIG_CFG80211_WEXT=y
 CONFIG_MAC80211=y
 CONFIG_RFKILL=y
 CONFIG_RFKILL_INPUT=y
+CONFIG_PCI=y
+CONFIG_PCI_MSI=y
+CONFIG_PCI_IMX6=y
 CONFIG_DEVTMPFS=y
 CONFIG_DEVTMPFS_MOUNT=y
 # CONFIG_STANDALONE is not set
 CONFIG_FW_LOADER_USER_HELPER=y
 CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
-CONFIG_CMA_SIZE_MBYTES=64
 CONFIG_IMX_WEIM=y
 CONFIG_CONNECTOR=y
 CONFIG_MTD=y
@@ -96,16 +92,13 @@ CONFIG_MTD_JEDECPROBE=y
 CONFIG_MTD_CFI_INTELEXT=y
 CONFIG_MTD_CFI_AMDSTD=y
 CONFIG_MTD_CFI_STAA=y
-CONFIG_MTD_PHYSMAP_OF=y
 CONFIG_MTD_DATAFLASH=y
-CONFIG_MTD_M25P80=y
 CONFIG_MTD_SST25L=y
 CONFIG_MTD_RAW_NAND=y
 CONFIG_MTD_NAND_GPMI_NAND=y
 CONFIG_MTD_NAND_VF610_NFC=y
 CONFIG_MTD_NAND_MXC=y
 CONFIG_MTD_SPI_NOR=y
-CONFIG_SPI_FSL_QUADSPI=y
 CONFIG_MTD_UBI=y
 CONFIG_MTD_UBI_FASTMAP=y
 CONFIG_MTD_UBI_BLOCK=y
@@ -139,9 +132,8 @@ CONFIG_SMC91X=y
 CONFIG_SMC911X=y
 CONFIG_SMSC911X=y
 # CONFIG_NET_VENDOR_STMICRO is not set
-CONFIG_AT803X_PHY=y
 CONFIG_MICREL_PHY=y
-CONFIG_SMSC_PHY=y
+CONFIG_AT803X_PHY=y
 CONFIG_USB_PEGASUS=m
 CONFIG_USB_RTL8150=m
 CONFIG_USB_RTL8152=y
@@ -202,6 +194,7 @@ CONFIG_I2C_ALGOPCA=m
 CONFIG_I2C_GPIO=y
 CONFIG_I2C_IMX=y
 CONFIG_SPI=y
+CONFIG_SPI_FSL_QUADSPI=y
 CONFIG_SPI_GPIO=y
 CONFIG_SPI_IMX=y
 CONFIG_SPI_FSL_DSPI=y
@@ -210,14 +203,13 @@ CONFIG_PINCTRL_IMX8MN=y
 CONFIG_PINCTRL_IMX8MP=y
 CONFIG_PINCTRL_IMX8MQ=y
 CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_MXC=y
 CONFIG_GPIO_SIOX=m
 CONFIG_GPIO_MAX732X=y
-CONFIG_GPIO_MC9S08DZ60=y
 CONFIG_GPIO_PCA953X=y
 CONFIG_GPIO_PCF857X=y
 CONFIG_GPIO_STMPE=y
 CONFIG_GPIO_74X164=y
-CONFIG_GPIO_MXC=y
 CONFIG_POWER_RESET=y
 CONFIG_POWER_RESET_SYSCON=y
 CONFIG_POWER_RESET_SYSCON_POWEROFF=y
@@ -230,8 +222,8 @@ CONFIG_THERMAL_WRITABLE_TRIPS=y
 CONFIG_CPU_THERMAL=y
 CONFIG_IMX_THERMAL=y
 CONFIG_WATCHDOG=y
-CONFIG_DA9062_WATCHDOG=y
 CONFIG_DA9063_WATCHDOG=m
+CONFIG_DA9062_WATCHDOG=y
 CONFIG_RN5T618_WATCHDOG=y
 CONFIG_IMX2_WDT=y
 CONFIG_IMX7ULP_WDT=y
@@ -242,7 +234,6 @@ CONFIG_MFD_MC13XXX_SPI=y
 CONFIG_MFD_MC13XXX_I2C=y
 CONFIG_MFD_RN5T618=y
 CONFIG_MFD_STMPE=y
-CONFIG_REGULATOR=y
 CONFIG_REGULATOR_FIXED_VOLTAGE=y
 CONFIG_REGULATOR_ANATOP=y
 CONFIG_REGULATOR_DA9052=y
@@ -257,9 +248,6 @@ CONFIG_RC_CORE=y
 CONFIG_RC_DEVICES=y
 CONFIG_IR_GPIO_CIR=y
 CONFIG_MEDIA_SUPPORT=y
-CONFIG_MEDIA_CAMERA_SUPPORT=y
-CONFIG_MEDIA_CONTROLLER=y
-CONFIG_VIDEO_V4L2_SUBDEV_API=y
 CONFIG_MEDIA_USB_SUPPORT=y
 CONFIG_USB_VIDEO_CLASS=m
 CONFIG_V4L_PLATFORM_DRIVERS=y
@@ -267,7 +255,6 @@ CONFIG_VIDEO_MUX=y
 CONFIG_V4L_MEM2MEM_DRIVERS=y
 CONFIG_VIDEO_CODA=m
 CONFIG_VIDEO_IMX_PXP=y
-# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set
 CONFIG_VIDEO_ADV7180=m
 CONFIG_VIDEO_OV2680=m
 CONFIG_VIDEO_OV5640=m
@@ -302,12 +289,10 @@ CONFIG_SND_USB_AUDIO=m
 CONFIG_SND_SOC=y
 CONFIG_SND_SOC_FSL_ASRC=y
 CONFIG_SND_IMX_SOC=y
-CONFIG_SND_SOC_PHYCORE_AC97=y
 CONFIG_SND_SOC_EUKREA_TLV320=y
 CONFIG_SND_SOC_IMX_ES8328=y
 CONFIG_SND_SOC_IMX_SGTL5000=y
 CONFIG_SND_SOC_IMX_SPDIF=y
-CONFIG_SND_SOC_IMX_MC13783=y
 CONFIG_SND_SOC_FSL_ASOC_CARD=y
 CONFIG_SND_SOC_AC97_CODEC=y
 CONFIG_SND_SOC_CS42XX8_I2C=y
@@ -319,7 +304,6 @@ CONFIG_HID_MULTITOUCH=y
 CONFIG_USB=y
 CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
 CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_MXC=y
 CONFIG_USB_ACM=m
 CONFIG_USB_STORAGE=y
 CONFIG_USB_CHIPIDEA=y
@@ -334,7 +318,6 @@ CONFIG_USB_EHSET_TEST_FIXTURE=m
 CONFIG_NOP_USB_XCEIV=y
 CONFIG_USB_MXS_PHY=y
 CONFIG_USB_GADGET=y
-CONFIG_USB_FSL_USB2=y
 CONFIG_USB_CONFIGFS=y
 CONFIG_USB_CONFIGFS_SERIAL=y
 CONFIG_USB_CONFIGFS_ACM=y
@@ -383,11 +366,11 @@ CONFIG_RTC_DRV_ISL1208=y
 CONFIG_RTC_DRV_PCF8523=y
 CONFIG_RTC_DRV_PCF8563=y
 CONFIG_RTC_DRV_M41T80=y
+CONFIG_RTC_DRV_RC5T619=y
 CONFIG_RTC_DRV_DA9063=y
 CONFIG_RTC_DRV_MC13XXX=y
 CONFIG_RTC_DRV_MXC=y
 CONFIG_RTC_DRV_MXC_V2=y
-CONFIG_RTC_DRV_RC5T619=y
 CONFIG_RTC_DRV_SNVS=y
 CONFIG_DMADEVICES=y
 CONFIG_FSL_EDMA=y
@@ -464,13 +447,14 @@ CONFIG_CRC_CCITT=m
 CONFIG_CRC_T10DIF=y
 CONFIG_CRC7=m
 CONFIG_LIBCRC32C=m
+CONFIG_CMA_SIZE_MBYTES=64
 CONFIG_FONTS=y
 CONFIG_FONT_8x8=y
 CONFIG_FONT_8x16=y
 CONFIG_PRINTK_TIME=y
+# CONFIG_DEBUG_BUGVERBOSE is not set
 CONFIG_MAGIC_SYSRQ=y
 CONFIG_DEBUG_FS=y
 # CONFIG_SCHED_DEBUG is not set
 CONFIG_PROVE_LOCKING=y
-# CONFIG_DEBUG_BUGVERBOSE is not set
 # CONFIG_FTRACE is not set
-- 
2.30.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v3 1/3] ARM: imx7d-remarkable2.dts: Initial device tree for reMarkable2
  2021-02-04  3:03 [PATCH v3 1/3] ARM: imx7d-remarkable2.dts: Initial device tree for reMarkable2 Alistair Francis
  2021-02-04  3:03 ` [PATCH v3 2/3] ARM: dts: imx7d: remarkable2: Enable the power button Alistair Francis
  2021-02-04  3:03 ` [PATCH v3 3/3] ARM: imx_v6_v7_defconfig: Regenerate Alistair Francis
@ 2021-03-03 13:44 ` Shawn Guo
  2021-03-09 23:34   ` Alistair Francis
  2 siblings, 1 reply; 8+ messages in thread
From: Shawn Guo @ 2021-03-03 13:44 UTC (permalink / raw)
  To: Alistair Francis
  Cc: arnd, olof, robh+dt, s.hauer, kernel, festevam, linux-imx,
	linux-arm-kernel, devicetree, linux-kernel, alistair23

On Wed, Feb 03, 2021 at 07:03:14PM -0800, Alistair Francis 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.

Just out of curiosity, this is a DIY cable or something generally
available from vendor?

> 
> Currently the kernel boots, but there is no support for the dispaly,
> WiFi or the power controller chips.

There are still some WiFi related devices.  Can we drop all those
untested stuff?

> 
> Signed-off-by: Alistair Francis <alistair@alistair23.me>
> ---
>  arch/arm/boot/dts/Makefile              |   1 +
>  arch/arm/boot/dts/imx7d-remarkable2.dts | 253 ++++++++++++++++++++++++
>  2 files changed, 254 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 3d1ea0b25168..9608c363b25f 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -658,6 +658,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..0aae13f5eed6
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx7d-remarkable2.dts
> @@ -0,0 +1,253 @@
> +// 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 = "fsl,imx7d-remarkable2", "fsl,imx7d";

The new compatible needs to be documented.  Also the compatible doesn't
look right, as this is a device from reMarkable rather than FSL.

Shawn

> +
> +	chosen {
> +		stdout-path = &uart6;
> +	};
> +
> +	memory {
> +		reg = <0x80000000 0x40000000>;
> +	};
> +
> +	reg_brcm: regulator-brcm {
> +		compatible = "regulator-fixed";
> +		regulator-name = "brcm_reg";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_brcm_reg>;
> +		gpio = <&gpio6 13 GPIO_ACTIVE_HIGH>;
> +		enable-active-high;
> +		startup-delay-us = <150>;
> +	};
> +
> +	wifi_pwrseq: wifi_pwrseq {
> +		compatible = "mmc-pwrseq-simple";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_wifi>;
> +		reset-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
> +		clocks = <&clks IMX7D_CLKO2_ROOT_DIV>;
> +		clock-names = "ext_clock";
> +	};
> +};
> +
> +&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";
> +};
> +
> +&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";
> +};
> +
> +&usdhc2 {
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +	pinctrl-names = "default", "state_100mhz", "sleep";
> +	pinctrl-0 = <&pinctrl_usdhc2>;
> +	pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
> +	pinctrl-2 = <&pinctrl_usdhc2>;
> +	mmc-pwrseq = <&wifi_pwrseq>;
> +	vmmc-supply = <&reg_brcm>;
> +	bus-width = <4>;
> +	non-removable;
> +	keep-power-in-suspend;
> +	cap-power-off-card;
> +	status = "okay";
> +
> +	brcmf: bcrmf@1 {
> +		reg = <1>;
> +		compatible = "brcm,bcm4329-fmac";
> +	};
> +};
> +
> +&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_brcm_reg: brcmreggrp {
> +		fsl,pins = <
> +			/* WIFI_PWR_EN */
> +			MX7D_PAD_SAI1_TX_BCLK__GPIO6_IO13	0x14
> +		>;
> +	};
> +
> +	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_usdhc2: usdhc2grp {
> +		fsl,pins = <
> +			MX7D_PAD_SD2_CMD__SD2_CMD		0x59
> +			MX7D_PAD_SD2_CLK__SD2_CLK		0x19
> +			MX7D_PAD_SD2_DATA0__SD2_DATA0		0x59
> +			MX7D_PAD_SD2_DATA1__SD2_DATA1		0x59
> +			MX7D_PAD_SD2_DATA2__SD2_DATA2		0x59
> +			MX7D_PAD_SD2_DATA3__SD2_DATA3		0x59
> +		>;
> +	};
> +
> +	pinctrl_usdhc2_100mhz: usdhc2grp_100mhz {
> +		fsl,pins = <
> +			MX7D_PAD_SD2_CMD__SD2_CMD		0x5a
> +			MX7D_PAD_SD2_CLK__SD2_CLK		0x1a
> +			MX7D_PAD_SD2_DATA0__SD2_DATA0		0x5a
> +			MX7D_PAD_SD2_DATA1__SD2_DATA1		0x5a
> +			MX7D_PAD_SD2_DATA2__SD2_DATA2		0x5a
> +			MX7D_PAD_SD2_DATA3__SD2_DATA3		0x5a
> +		>;
> +	};
> +
> +	pinctrl_usdhc2_200mhz: usdhc2grp_200mhz {
> +		fsl,pins = <
> +			MX7D_PAD_SD2_CMD__SD2_CMD		0x5b
> +			MX7D_PAD_SD2_CLK__SD2_CLK		0x1b
> +			MX7D_PAD_SD2_DATA0__SD2_DATA0		0x5b
> +			MX7D_PAD_SD2_DATA1__SD2_DATA1		0x5b
> +			MX7D_PAD_SD2_DATA2__SD2_DATA2		0x5b
> +			MX7D_PAD_SD2_DATA3__SD2_DATA3		0x5b
> +		>;
> +	};
> +
> +	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
> +		>;
> +	};
> +
> +	pinctrl_wifi: wifigrp {
> +		fsl,pins = <
> +			/* WiFi Reg On */
> +			MX7D_PAD_SD2_CD_B__GPIO5_IO9		0x00000014
> +			/* WiFi Sleep 32k */
> +			MX7D_PAD_SD1_WP__CCM_CLKO2		0x00000014
> +		>;
> +	};
> +};
> -- 
> 2.30.0
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v3 2/3] ARM: dts: imx7d: remarkable2: Enable the power button
  2021-02-04  3:03 ` [PATCH v3 2/3] ARM: dts: imx7d: remarkable2: Enable the power button Alistair Francis
@ 2021-03-03 13:45   ` Shawn Guo
  0 siblings, 0 replies; 8+ messages in thread
From: Shawn Guo @ 2021-03-03 13:45 UTC (permalink / raw)
  To: Alistair Francis
  Cc: arnd, olof, robh+dt, s.hauer, kernel, festevam, linux-imx,
	linux-arm-kernel, devicetree, linux-kernel, alistair23

On Wed, Feb 03, 2021 at 07:03:15PM -0800, Alistair Francis wrote:
> Signed-off-by: Alistair Francis <alistair@alistair23.me>
> ---
>  arch/arm/boot/dts/imx7d-remarkable2.dts | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/imx7d-remarkable2.dts b/arch/arm/boot/dts/imx7d-remarkable2.dts
> index 0aae13f5eed6..0978e26f5db5 100644
> --- a/arch/arm/boot/dts/imx7d-remarkable2.dts
> +++ b/arch/arm/boot/dts/imx7d-remarkable2.dts
> @@ -62,6 +62,10 @@ &sdma {
>  	status = "okay";
>  };
>  
> +&snvs_pwrkey {
> +	status = "okay";
> +};
> +

Please merge it into patch #1.

Shawn

>  &uart1 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&pinctrl_uart1>;
> -- 
> 2.30.0
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v3 3/3] ARM: imx_v6_v7_defconfig: Regenerate
  2021-02-04  3:03 ` [PATCH v3 3/3] ARM: imx_v6_v7_defconfig: Regenerate Alistair Francis
@ 2021-03-03 13:47   ` Shawn Guo
  2021-03-03 17:57   ` Arnd Bergmann
  1 sibling, 0 replies; 8+ messages in thread
From: Shawn Guo @ 2021-03-03 13:47 UTC (permalink / raw)
  To: Alistair Francis
  Cc: arnd, olof, robh+dt, s.hauer, kernel, festevam, linux-imx,
	linux-arm-kernel, devicetree, linux-kernel, alistair23

On Wed, Feb 03, 2021 at 07:03:16PM -0800, Alistair Francis wrote:
> Run make imx_v6_v7_defconfig; make savedefconfig to regenerate the
> defconfig.
> 
> Signed-off-by: Alistair Francis <alistair@alistair23.me>

We can leave it to future updates on the defconfig.

Shawn

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v3 3/3] ARM: imx_v6_v7_defconfig: Regenerate
  2021-02-04  3:03 ` [PATCH v3 3/3] ARM: imx_v6_v7_defconfig: Regenerate Alistair Francis
  2021-03-03 13:47   ` Shawn Guo
@ 2021-03-03 17:57   ` Arnd Bergmann
  1 sibling, 0 replies; 8+ messages in thread
From: Arnd Bergmann @ 2021-03-03 17:57 UTC (permalink / raw)
  To: Alistair Francis
  Cc: Olof Johansson, Rob Herring, Shawn Guo, Sascha Hauer,
	Sascha Hauer, Fabio Estevam, NXP Linux Team, Linux ARM, DTML,
	linux-kernel, Alistair Francis

On Thu, Feb 4, 2021 at 4:03 AM Alistair Francis <alistair@alistair23.me> wrote:
>
> Run make imx_v6_v7_defconfig; make savedefconfig to regenerate the
> defconfig.
>
> Signed-off-by: Alistair Francis <alistair@alistair23.me>

I need to do something across all our defconfigs at some point, but I want
to be done more thoroughly:

For any option or group of options that disappears from a defconfig file, I
want to see one patch (ideally across all such files) that explains why
the option that used to be intentionally enable is no longer there. If it
got renamed or replaced by something else, that should be set instead.
If there is a new dependency, we may need to enable that in addition
to the old option, rather than dropping it silently.

For options that just move around in the file, I would group them in
a final cleanup patch.

     Arnd

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

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

On Wed, Mar 3, 2021 at 8:44 AM Shawn Guo <shawnguo@kernel.org> wrote:
>
> On Wed, Feb 03, 2021 at 07:03:14PM -0800, Alistair Francis 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.
>
> Just out of curiosity, this is a DIY cable or something generally
> available from vendor?

It's a DIY cable, it's a bit of a pain to put together. You can see
what it looks like here: https://github.com/ddvk/remarkable2-recovery

>
> >
> > Currently the kernel boots, but there is no support for the dispaly,
> > WiFi or the power controller chips.
>
> There are still some WiFi related devices.  Can we drop all those
> untested stuff?

I have WiFi working on the 5.4 NXP branch. I was actually thinking
that WiFi should just work if the rootFS and FW all match. The main
problem is that the kernel expects a firmware version that isn't in
linux-firmware.

I have removed it for now though.

>
> >
> > Signed-off-by: Alistair Francis <alistair@alistair23.me>
> > ---
> >  arch/arm/boot/dts/Makefile              |   1 +
> >  arch/arm/boot/dts/imx7d-remarkable2.dts | 253 ++++++++++++++++++++++++
> >  2 files changed, 254 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 3d1ea0b25168..9608c363b25f 100644
> > --- a/arch/arm/boot/dts/Makefile
> > +++ b/arch/arm/boot/dts/Makefile
> > @@ -658,6 +658,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..0aae13f5eed6
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/imx7d-remarkable2.dts
> > @@ -0,0 +1,253 @@
> > +// 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 = "fsl,imx7d-remarkable2", "fsl,imx7d";
>
> The new compatible needs to be documented.  Also the compatible doesn't
> look right, as this is a device from reMarkable rather than FSL.

Done and done.

Alistair

>
> Shawn
>
> > +
> > +     chosen {
> > +             stdout-path = &uart6;
> > +     };
> > +
> > +     memory {
> > +             reg = <0x80000000 0x40000000>;
> > +     };
> > +
> > +     reg_brcm: regulator-brcm {
> > +             compatible = "regulator-fixed";
> > +             regulator-name = "brcm_reg";
> > +             regulator-min-microvolt = <3300000>;
> > +             regulator-max-microvolt = <3300000>;
> > +             pinctrl-names = "default";
> > +             pinctrl-0 = <&pinctrl_brcm_reg>;
> > +             gpio = <&gpio6 13 GPIO_ACTIVE_HIGH>;
> > +             enable-active-high;
> > +             startup-delay-us = <150>;
> > +     };
> > +
> > +     wifi_pwrseq: wifi_pwrseq {
> > +             compatible = "mmc-pwrseq-simple";
> > +             pinctrl-names = "default";
> > +             pinctrl-0 = <&pinctrl_wifi>;
> > +             reset-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
> > +             clocks = <&clks IMX7D_CLKO2_ROOT_DIV>;
> > +             clock-names = "ext_clock";
> > +     };
> > +};
> > +
> > +&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";
> > +};
> > +
> > +&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";
> > +};
> > +
> > +&usdhc2 {
> > +     #address-cells = <1>;
> > +     #size-cells = <0>;
> > +     pinctrl-names = "default", "state_100mhz", "sleep";
> > +     pinctrl-0 = <&pinctrl_usdhc2>;
> > +     pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
> > +     pinctrl-2 = <&pinctrl_usdhc2>;
> > +     mmc-pwrseq = <&wifi_pwrseq>;
> > +     vmmc-supply = <&reg_brcm>;
> > +     bus-width = <4>;
> > +     non-removable;
> > +     keep-power-in-suspend;
> > +     cap-power-off-card;
> > +     status = "okay";
> > +
> > +     brcmf: bcrmf@1 {
> > +             reg = <1>;
> > +             compatible = "brcm,bcm4329-fmac";
> > +     };
> > +};
> > +
> > +&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_brcm_reg: brcmreggrp {
> > +             fsl,pins = <
> > +                     /* WIFI_PWR_EN */
> > +                     MX7D_PAD_SAI1_TX_BCLK__GPIO6_IO13       0x14
> > +             >;
> > +     };
> > +
> > +     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_usdhc2: usdhc2grp {
> > +             fsl,pins = <
> > +                     MX7D_PAD_SD2_CMD__SD2_CMD               0x59
> > +                     MX7D_PAD_SD2_CLK__SD2_CLK               0x19
> > +                     MX7D_PAD_SD2_DATA0__SD2_DATA0           0x59
> > +                     MX7D_PAD_SD2_DATA1__SD2_DATA1           0x59
> > +                     MX7D_PAD_SD2_DATA2__SD2_DATA2           0x59
> > +                     MX7D_PAD_SD2_DATA3__SD2_DATA3           0x59
> > +             >;
> > +     };
> > +
> > +     pinctrl_usdhc2_100mhz: usdhc2grp_100mhz {
> > +             fsl,pins = <
> > +                     MX7D_PAD_SD2_CMD__SD2_CMD               0x5a
> > +                     MX7D_PAD_SD2_CLK__SD2_CLK               0x1a
> > +                     MX7D_PAD_SD2_DATA0__SD2_DATA0           0x5a
> > +                     MX7D_PAD_SD2_DATA1__SD2_DATA1           0x5a
> > +                     MX7D_PAD_SD2_DATA2__SD2_DATA2           0x5a
> > +                     MX7D_PAD_SD2_DATA3__SD2_DATA3           0x5a
> > +             >;
> > +     };
> > +
> > +     pinctrl_usdhc2_200mhz: usdhc2grp_200mhz {
> > +             fsl,pins = <
> > +                     MX7D_PAD_SD2_CMD__SD2_CMD               0x5b
> > +                     MX7D_PAD_SD2_CLK__SD2_CLK               0x1b
> > +                     MX7D_PAD_SD2_DATA0__SD2_DATA0           0x5b
> > +                     MX7D_PAD_SD2_DATA1__SD2_DATA1           0x5b
> > +                     MX7D_PAD_SD2_DATA2__SD2_DATA2           0x5b
> > +                     MX7D_PAD_SD2_DATA3__SD2_DATA3           0x5b
> > +             >;
> > +     };
> > +
> > +     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
> > +             >;
> > +     };
> > +
> > +     pinctrl_wifi: wifigrp {
> > +             fsl,pins = <
> > +                     /* WiFi Reg On */
> > +                     MX7D_PAD_SD2_CD_B__GPIO5_IO9            0x00000014
> > +                     /* WiFi Sleep 32k */
> > +                     MX7D_PAD_SD1_WP__CCM_CLKO2              0x00000014
> > +             >;
> > +     };
> > +};
> > --
> > 2.30.0
> >

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2021-03-09 23:37 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-04  3:03 [PATCH v3 1/3] ARM: imx7d-remarkable2.dts: Initial device tree for reMarkable2 Alistair Francis
2021-02-04  3:03 ` [PATCH v3 2/3] ARM: dts: imx7d: remarkable2: Enable the power button Alistair Francis
2021-03-03 13:45   ` Shawn Guo
2021-02-04  3:03 ` [PATCH v3 3/3] ARM: imx_v6_v7_defconfig: Regenerate Alistair Francis
2021-03-03 13:47   ` Shawn Guo
2021-03-03 17:57   ` Arnd Bergmann
2021-03-03 13:44 ` [PATCH v3 1/3] ARM: imx7d-remarkable2.dts: Initial device tree for reMarkable2 Shawn Guo
2021-03-09 23:34   ` Alistair Francis

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).