All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/9] TQMLS1021A support
@ 2023-01-19 14:42 ` Alexander Stein
  0 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-19 14:42 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler
  Cc: Alexander Stein, soc, devicetree, linux-arm-kernel

Hi,

this adds the DT files for the TQMLS1021A using the MBLS1021A mainboard.
This includes general board support and several overlays enabling various
graphic devices. RCW and hardware configuration using dip switches is not
needed, the default DT can be used. Just video output needs specific
overlays.

The last patch enabling LPAE in defconfig is just for demonstration what's
needed for PCIe support. There was a patchset ([1]) supporting LPAE on
armv7 defconfig, but there was no feedback.

[1] https://lore.kernel.org/linux-arm-kernel/20200203184820.4433-2-nsaenzjulienne@suse.de/T/

Alexander Stein (8):
  ARM: dts: ls1021a: add TQ-Systems MBLS102xA device tree
  ARM: dts: ls1021a: add TQMLS1021A flash partition layout
  ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA LVDS TM070JVHG33 overlay
  ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA HDMI overlay
  ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA LVDS CDTECH DC44 overlay
  ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA LVDS CDTECH FC21 overlay
  ARM: multi_v7_defconfig: Add options to support TQMLS102xA series
  [DNI] ARM: multi_v7_defconfig: Enable CONFIG_ARM_LPAE for
    multi_v7_config

Matthias Schiffer (1):
  dt-bindings: arm: fsl: add TQ-Systems LS1021A board

 .../devicetree/bindings/arm/fsl.yaml          |   7 +
 arch/arm/boot/dts/Makefile                    |  12 +
 ...1021a-tqmls1021a-mbls1021a-cdtech-dc44.dts |  55 +++
 ...1021a-tqmls1021a-mbls1021a-cdtech-fc21.dts |  55 +++
 .../ls1021a-tqmls1021a-mbls1021a-hdmi.dtso    |  36 ++
 ...tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtso |  56 +++
 .../boot/dts/ls1021a-tqmls1021a-mbls1021a.dts | 409 ++++++++++++++++++
 arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi     | 124 ++++++
 arch/arm/configs/multi_v7_defconfig           |  14 +
 9 files changed, 768 insertions(+)
 create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-cdtech-dc44.dts
 create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-cdtech-fc21.dts
 create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-hdmi.dtso
 create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtso
 create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts
 create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi

-- 
2.34.1


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

* [PATCH 0/9] TQMLS1021A support
@ 2023-01-19 14:42 ` Alexander Stein
  0 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-19 14:42 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler
  Cc: Alexander Stein, soc, devicetree, linux-arm-kernel

Hi,

this adds the DT files for the TQMLS1021A using the MBLS1021A mainboard.
This includes general board support and several overlays enabling various
graphic devices. RCW and hardware configuration using dip switches is not
needed, the default DT can be used. Just video output needs specific
overlays.

The last patch enabling LPAE in defconfig is just for demonstration what's
needed for PCIe support. There was a patchset ([1]) supporting LPAE on
armv7 defconfig, but there was no feedback.

[1] https://lore.kernel.org/linux-arm-kernel/20200203184820.4433-2-nsaenzjulienne@suse.de/T/

Alexander Stein (8):
  ARM: dts: ls1021a: add TQ-Systems MBLS102xA device tree
  ARM: dts: ls1021a: add TQMLS1021A flash partition layout
  ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA LVDS TM070JVHG33 overlay
  ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA HDMI overlay
  ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA LVDS CDTECH DC44 overlay
  ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA LVDS CDTECH FC21 overlay
  ARM: multi_v7_defconfig: Add options to support TQMLS102xA series
  [DNI] ARM: multi_v7_defconfig: Enable CONFIG_ARM_LPAE for
    multi_v7_config

Matthias Schiffer (1):
  dt-bindings: arm: fsl: add TQ-Systems LS1021A board

 .../devicetree/bindings/arm/fsl.yaml          |   7 +
 arch/arm/boot/dts/Makefile                    |  12 +
 ...1021a-tqmls1021a-mbls1021a-cdtech-dc44.dts |  55 +++
 ...1021a-tqmls1021a-mbls1021a-cdtech-fc21.dts |  55 +++
 .../ls1021a-tqmls1021a-mbls1021a-hdmi.dtso    |  36 ++
 ...tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtso |  56 +++
 .../boot/dts/ls1021a-tqmls1021a-mbls1021a.dts | 409 ++++++++++++++++++
 arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi     | 124 ++++++
 arch/arm/configs/multi_v7_defconfig           |  14 +
 9 files changed, 768 insertions(+)
 create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-cdtech-dc44.dts
 create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-cdtech-fc21.dts
 create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-hdmi.dtso
 create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtso
 create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts
 create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi

-- 
2.34.1


_______________________________________________
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] 60+ messages in thread

* [PATCH 1/9] dt-bindings: arm: fsl: add TQ-Systems LS1021A board
  2023-01-19 14:42 ` Alexander Stein
@ 2023-01-19 14:42   ` Alexander Stein
  -1 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-19 14:42 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler
  Cc: Matthias Schiffer, soc, devicetree, linux-arm-kernel, Alexander Stein

From: Matthias Schiffer <matthias.schiffer@tq-group.com>

TQMLS102xA is a SOM family using NXP LS1021A CPU family.
MBLS102xA is an evaluation mainbord for this SOM.

Signed-off-by: Matthias Schiffer <matthias.schiffer@tq-group.com>
Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
 Documentation/devicetree/bindings/arm/fsl.yaml | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
index 3ba354578e8f9..b54a920934c9d 100644
--- a/Documentation/devicetree/bindings/arm/fsl.yaml
+++ b/Documentation/devicetree/bindings/arm/fsl.yaml
@@ -1164,6 +1164,13 @@ properties:
               - fsl,ls1021a-twr
           - const: fsl,ls1021a
 
+      - description: TQ-Systems TQMLS1021A SoM on MBLS102xA board
+        items:
+          - enum:
+              - tq,ls1021a-tqmls1021a-mbls102xa
+          - const: tq,ls1021a-tqmls1021a
+          - const: fsl,ls1021a
+
       - description: LS1028A based Boards
         items:
           - enum:
-- 
2.34.1


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

* [PATCH 1/9] dt-bindings: arm: fsl: add TQ-Systems LS1021A board
@ 2023-01-19 14:42   ` Alexander Stein
  0 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-19 14:42 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler
  Cc: Matthias Schiffer, soc, devicetree, linux-arm-kernel, Alexander Stein

From: Matthias Schiffer <matthias.schiffer@tq-group.com>

TQMLS102xA is a SOM family using NXP LS1021A CPU family.
MBLS102xA is an evaluation mainbord for this SOM.

Signed-off-by: Matthias Schiffer <matthias.schiffer@tq-group.com>
Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
 Documentation/devicetree/bindings/arm/fsl.yaml | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
index 3ba354578e8f9..b54a920934c9d 100644
--- a/Documentation/devicetree/bindings/arm/fsl.yaml
+++ b/Documentation/devicetree/bindings/arm/fsl.yaml
@@ -1164,6 +1164,13 @@ properties:
               - fsl,ls1021a-twr
           - const: fsl,ls1021a
 
+      - description: TQ-Systems TQMLS1021A SoM on MBLS102xA board
+        items:
+          - enum:
+              - tq,ls1021a-tqmls1021a-mbls102xa
+          - const: tq,ls1021a-tqmls1021a
+          - const: fsl,ls1021a
+
       - description: LS1028A based Boards
         items:
           - enum:
-- 
2.34.1


_______________________________________________
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] 60+ messages in thread

* [PATCH 2/9] ARM: dts: ls1021a: add TQ-Systems MBLS102xA device tree
  2023-01-19 14:42 ` Alexander Stein
@ 2023-01-19 14:42   ` Alexander Stein
  -1 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-19 14:42 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler
  Cc: Alexander Stein, soc, devicetree, linux-arm-kernel

Add device tree for the MBLS102xA mainboard with TQMLS1021A SoM.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
 arch/arm/boot/dts/Makefile                    |   1 +
 .../boot/dts/ls1021a-tqmls1021a-mbls1021a.dts | 409 ++++++++++++++++++
 arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi     |  93 ++++
 3 files changed, 503 insertions(+)
 create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts
 create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index d0c07867aeabe..44b5ed44b13d6 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -802,6 +802,7 @@ dtb-$(CONFIG_SOC_LS1021A) += \
 	ls1021a-iot.dtb \
 	ls1021a-moxa-uc-8410a.dtb \
 	ls1021a-qds.dtb \
+	ls1021a-tqmls1021a-mbls1021a.dtb \
 	ls1021a-tsn.dtb \
 	ls1021a-twr.dtb
 dtb-$(CONFIG_SOC_VF610) += \
diff --git a/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts
new file mode 100644
index 0000000000000..21da171b9f38e
--- /dev/null
+++ b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts
@@ -0,0 +1,409 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
+/*
+ * Copyright 2013-2014 Freescale Semiconductor, Inc.
+ * Copyright 2018-2023 TQ-Systems GmbH <linux@ew.tq-group.com>,
+ * D-82229 Seefeld, Germany.
+ * Author: Alexander Stein
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/linux-event-codes.h>
+#include <dt-bindings/leds/common.h>
+#include <dt-bindings/leds/leds-pca9532.h>
+#include <dt-bindings/net/ti-dp83867.h>
+#include "ls1021a-tqmls1021a.dtsi"
+
+/ {
+	model = "TQMLS102xA SOM on MBLS102xA";
+	compatible = "tq,ls1021a-tqmls1021a-mbls102xa", "tq,ls1021a-tqmls1021a", "fsl,ls1021a";
+
+	audio_mclk: audio-clock {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <25000000>;
+	};
+
+	backlight_dcu: backlight {
+		compatible = "gpio-backlight";
+		gpios = <&pca9530 0 GPIO_ACTIVE_LOW>;
+		status = "disabled";
+	};
+
+	gpio-keys {
+		compatible = "gpio-keys";
+		autorepeat;
+
+		switch-1 {
+			label = "S6";
+			linux,code = <BTN_0>;
+			gpios = <&pca9554_0 0 GPIO_ACTIVE_LOW>;
+		};
+
+		btn2: switch-2 {
+			label = "S7";
+			linux,code = <BTN_1>;
+			gpios = <&pca9554_0 1 GPIO_ACTIVE_LOW>;
+		};
+
+		switch-3 {
+			label = "S8";
+			linux,code = <BTN_2>;
+			gpios = <&pca9554_0 2 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	gpio_leds: gpio-leds {
+		compatible = "gpio-leds";
+
+		led-0 {
+			color = <LED_COLOR_ID_GREEN>;
+			function = LED_FUNCTION_STATUS;
+			function-enumerator = <0>;
+			gpios = <&pca9554_2 4 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "default-on";
+		};
+
+		led-1 {
+			color = <LED_COLOR_ID_GREEN>;
+			function = LED_FUNCTION_STATUS;
+			function-enumerator = <1>;
+			gpios = <&pca9554_2 5 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "default-on";
+		};
+
+		led-2 {
+			color = <LED_COLOR_ID_GREEN>;
+			function = LED_FUNCTION_STATUS;
+			function-enumerator = <2>;
+			gpios = <&pca9554_2 6 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "default-on";
+		};
+
+		led-3 {
+			color = <LED_COLOR_ID_GREEN>;
+			function = LED_FUNCTION_HEARTBEAT;
+			function-enumerator = <0>;
+			gpios = <&pca9554_2 7 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "heartbeat";
+		};
+	};
+
+	lvds_encoder: lvds-encoder {
+		compatible = "ti,sn75lvds83", "lvds-encoder";
+		power-supply = <&reg_3p3v>;
+		status = "disabled";
+
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			port@0 {
+				reg = <0>;
+
+				lvds_encoder_in: endpoint {};
+			};
+
+			port@1 {
+				reg = <1>;
+
+				lvds_encoder_out: endpoint {};
+			};
+		};
+	};
+
+	reg_1p2v: regulator-1p2v {
+		compatible = "regulator-fixed";
+		regulator-name = "1P2V";
+		regulator-min-microvolt = <1200000>;
+		regulator-max-microvolt = <1200000>;
+		regulator-always-on;
+		vin-supply = <&reg_3p3v>;
+	};
+
+	reg_3p3v: regulator-3p3v {
+		compatible = "regulator-fixed";
+		regulator-name = "3P3V";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-always-on;
+	};
+
+	hdmi_out: hdmi {
+		compatible = "hdmi-connector";
+		type = "a";
+		ddc-i2c-bus = <&i2c0>;
+		status = "disabled";
+
+		port {
+			hdmi_in: endpoint {
+				remote-endpoint = <&sii9022a_out>;
+			};
+		};
+	};
+
+	display: panel {
+		backlight = <&backlight_dcu>;
+		enable-gpios = <&pca9554_1 3 GPIO_ACTIVE_HIGH>;
+		status = "disabled";
+
+		port {
+			panel_in: endpoint {};
+		};
+	};
+
+	sound {
+		compatible = "fsl,imx-audio-tlv320aic32x4";
+		model = "ls1021a-mbls1021a-tlv320aic32";
+		ssi-controller = <&sai1>;
+		audio-codec = <&tlv320aic32x4>;
+	};
+
+};
+
+&can0 {
+	status = "okay";
+	xceiver-supply = <&reg_3p3v>;
+};
+
+&can1 {
+	status = "okay";
+	xceiver-supply = <&reg_3p3v>;
+};
+
+&dspi0 {
+	bus-num = <0>;
+	status = "okay";
+};
+
+&enet0 {
+	phy-handle = <&rgmii_phy0c>;
+	phy-mode = "rgmii-id";
+	mac-address = [ 00 00 00 00 00 00 ];
+	status = "okay";
+};
+
+&enet1 {
+	tbi-handle = <&tbi1>;
+	phy-handle = <&sgmii_phy03>;
+	phy-mode = "sgmii";
+	mac-address = [ 00 00 00 00 00 00 ];
+	status = "okay";
+};
+
+&enet2 {
+	phy-handle = <&rgmii_phy04>;
+	phy-mode = "rgmii-id";
+	mac-address = [ 00 00 00 00 00 00 ];
+	status = "okay";
+};
+
+&i2c0 {
+	status = "okay";
+
+	tlv320aic32x4: audio-codec@18 {
+		compatible = "ti,tlv320aic32x4";
+		reg = <0x18>;
+		clocks = <&audio_mclk>;
+		clock-names = "mclk";
+		ldoin-supply = <&reg_3p3v>;
+		iov-supply = <&reg_3p3v>;
+	};
+
+	pca9554_0: gpio-expander@20 {
+		compatible = "nxp,pca9554";
+		reg = <0x20>;
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-parent = <&gpio0>;
+		interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+		vcc-supply = <&reg_3p3v>;
+		gpio-line-names = "BUTTON0", "BUTTON1",
+				  "BUTTON2", "EMMC_SEL",
+				  "DIP2", "DIP3",
+				  "EXT_TOUCH_INT", "GPIO_1";
+	};
+
+	pca9554_1: gpio-expander@21 {
+		compatible = "nxp,pca9554";
+		reg = <0x21>;
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-parent = <&gpio0>;
+		interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+		vcc-supply = <&reg_3p3v>;
+		gpio-line-names = "PCIE_PWR_EN", "MPCIE_DISABLE#",
+				  "MPCIE_WAKE#", "LCD_BLT_EN",
+				  "LCD_PWR_EN", "EC1_PHY_PWDN",
+				  "EC3_PHY_PWDN", "SGMII_PHY_PWDN";
+	};
+
+	pca9554_2: gpio-expander@22 {
+		compatible = "nxp,pca9554";
+		reg = <0x22>;
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-parent = <&extirq>;
+		interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+		vcc-supply = <&reg_3p3v>;
+		gpio-line-names = "MUX_SEL0", "MUX_SEL1",
+				  "MUX_SEL2", "MUX_SEL3",
+				  "V95", "V96", "V97", "V98";
+	};
+
+	sii9022a: hdmi-transmitter@3b {
+		compatible = "sil,sii9022";
+		reg = <0x3b>;
+		iovcc-supply = <&reg_3p3v>;
+		cvcc12-supply = <&reg_1p2v>;
+		interrupts = <GIC_SPI 167 IRQ_TYPE_EDGE_RISING>;
+		#sound-dai-cells = <0>;
+		sil,i2s-data-lanes = <0>;
+		status = "disabled";
+
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			port@0 {
+				reg = <0>;
+
+				sii9022a_in: endpoint {};
+			};
+
+			port@1 {
+				reg = <1>;
+
+				sii9022a_out: endpoint {
+					remote-endpoint = <&hdmi_in>;
+				};
+			};
+		};
+	};
+
+	stmpe811: touchscreen@41 {
+		compatible = "st,stmpe811";
+		reg = <0x41>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+		interrupt-parent = <&gpio0>;
+		interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
+		vcc-supply = <&reg_3p3v>;
+		vio-supply = <&reg_3p3v>;
+		status = "okay";
+
+		stmpe_gpio {
+			compatible = "st,stmpe-gpio";
+			gpio-controller;
+			#gpio-cells = <2>;
+			/* GPIO 5-7 used for touch */
+			st,norequest-mask = <0xf0>;
+			gpio-line-names = "GPIO_ADC_I2C1_1",
+					  "GPIO_ADC_I2C1_2",
+					  "GPIO_ADC_I2C1_3",
+					  "GPIO_ADC_I2C1_4";
+		};
+
+		stmpe_touchscreen {
+			compatible = "st,stmpe-ts";
+			status = "disabled";
+		};
+	};
+
+	pca9530: leds@60 {
+		compatible = "nxp,pca9530";
+		reg = <0x60>;
+		gpio-controller;
+		#gpio-cells = <2>;
+		gpio-line-names = "PWM_0", "PWM_1";
+
+		gpio_pwm_0 {
+			label = "pca9530:pwm0";
+			type = <PCA9532_TYPE_GPIO>;
+		};
+
+		gpio_pwm_1 {
+			label = "pca9530:pwm1";
+			type = <PCA9532_TYPE_GPIO>;
+		};
+	};
+
+};
+
+&i2c1 {
+	status = "okay";
+};
+
+&lpuart0 {
+	status = "okay";
+	linux,rs485-enabled-at-boot-time;
+};
+
+&mdio0 {
+	sgmii_phy03: ethernet-phy@3 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <0x03>;
+		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
+		ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
+		ti,dp83867-rxctrl-strap-quirk;
+	};
+
+	rgmii_phy04: ethernet-phy@4 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <0x04>;
+		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>;
+		ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
+		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
+		ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
+	};
+
+	rgmii_phy0c: ethernet-phy@c {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <0x0c>;
+		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>;
+		ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
+		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
+		ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
+	};
+};
+
+&pwm6 {
+	status = "okay";
+};
+
+&pwm7 {
+	status = "okay";
+};
+
+&sai1 {
+	status = "okay";
+};
+
+&sata {
+	/delete-property/ dma-coherent;
+	status = "okay";
+};
+
+&uart0 {
+	status = "okay";
+};
+
+&uart1 {
+	status = "okay";
+};
+
+&usb3 {
+	/*
+	 * Although DR connector, VBUS is always driven, so
+	 * restrict to host mode.
+	 */
+	dr_mode = "host";
+	status = "okay";
+};
diff --git a/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi b/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
new file mode 100644
index 0000000000000..1ab518c489252
--- /dev/null
+++ b/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
@@ -0,0 +1,93 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
+/*
+ * Copyright 2013-2014 Freescale Semiconductor, Inc.
+ * Copyright 2018-2023 TQ-Systems GmbH <linux@ew.tq-group.com>,
+ * D-82229 Seefeld, Germany.
+ * Author: Alexander Stein
+ */
+
+#include "ls1021a.dtsi"
+
+/ {
+	model = "TQMLS102xA SOM";
+	compatible = "tq,ls1021a-tqmls1021a", "fsl,ls1021a";
+
+	reg_3p3v_som: regulator-3p3v-som {
+		compatible = "regulator-fixed";
+		regulator-name = "3P3V_SOM";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-always-on;
+	};
+};
+
+&esdhc {
+	compatible = "fsl,esdhc", "fsl,ls1021a-esdhc";
+	/* e-MMC over 8 data lines */
+	bus-width = <8>;
+	status = "okay";
+};
+
+&i2c0 {
+	status = "okay";
+
+	mc34vr500: pmic@8 {
+		reg = <0x08>;
+		status = "disabled";
+	};
+
+	pmc0: pmc@11 {
+		reg = <0x11>;
+		status = "disabled";
+	};
+
+	sa56004: temperature-sensor@4c {
+		compatible = "nxp,sa56004";
+		reg = <0x4c>;
+		vcc-supply = <&reg_3p3v_som>;
+	};
+
+	adm1069: supervisor@4f {
+		reg = <0x4f>;
+		status = "disabled";
+	};
+
+	rtc0: rtc@51 {
+		compatible = "nxp,pcf85063a";
+		quartz-load-femtofarads = <12500>;
+		reg = <0x51>;
+	};
+
+	m24c64_54: eeprom@54 {
+		compatible = "atmel,24c64";
+		reg = <0x54>;
+		pagesize = <32>;
+		read-only;
+		vcc-supply = <&reg_3p3v_som>;
+	};
+};
+
+&mdio0 {
+	tbi1: tbi-phy@8 {
+		reg = <0x8>;
+		device_type = "tbi-phy";
+	};
+};
+
+&scfg {
+	reg = <0x0 0x1570000 0x0 0x0e00>;
+};
+
+&qspi {
+	status = "okay";
+
+	qflash0: flash@0 {
+		compatible = "jedec,spi-nor";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		spi-max-frequency = <20000000>;
+		spi-rx-bus-width = <4>;
+		spi-tx-bus-width = <4>;
+		reg = <0>;
+	};
+};
-- 
2.34.1


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

* [PATCH 2/9] ARM: dts: ls1021a: add TQ-Systems MBLS102xA device tree
@ 2023-01-19 14:42   ` Alexander Stein
  0 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-19 14:42 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler
  Cc: Alexander Stein, soc, devicetree, linux-arm-kernel

Add device tree for the MBLS102xA mainboard with TQMLS1021A SoM.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
 arch/arm/boot/dts/Makefile                    |   1 +
 .../boot/dts/ls1021a-tqmls1021a-mbls1021a.dts | 409 ++++++++++++++++++
 arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi     |  93 ++++
 3 files changed, 503 insertions(+)
 create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts
 create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index d0c07867aeabe..44b5ed44b13d6 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -802,6 +802,7 @@ dtb-$(CONFIG_SOC_LS1021A) += \
 	ls1021a-iot.dtb \
 	ls1021a-moxa-uc-8410a.dtb \
 	ls1021a-qds.dtb \
+	ls1021a-tqmls1021a-mbls1021a.dtb \
 	ls1021a-tsn.dtb \
 	ls1021a-twr.dtb
 dtb-$(CONFIG_SOC_VF610) += \
diff --git a/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts
new file mode 100644
index 0000000000000..21da171b9f38e
--- /dev/null
+++ b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts
@@ -0,0 +1,409 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
+/*
+ * Copyright 2013-2014 Freescale Semiconductor, Inc.
+ * Copyright 2018-2023 TQ-Systems GmbH <linux@ew.tq-group.com>,
+ * D-82229 Seefeld, Germany.
+ * Author: Alexander Stein
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/linux-event-codes.h>
+#include <dt-bindings/leds/common.h>
+#include <dt-bindings/leds/leds-pca9532.h>
+#include <dt-bindings/net/ti-dp83867.h>
+#include "ls1021a-tqmls1021a.dtsi"
+
+/ {
+	model = "TQMLS102xA SOM on MBLS102xA";
+	compatible = "tq,ls1021a-tqmls1021a-mbls102xa", "tq,ls1021a-tqmls1021a", "fsl,ls1021a";
+
+	audio_mclk: audio-clock {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <25000000>;
+	};
+
+	backlight_dcu: backlight {
+		compatible = "gpio-backlight";
+		gpios = <&pca9530 0 GPIO_ACTIVE_LOW>;
+		status = "disabled";
+	};
+
+	gpio-keys {
+		compatible = "gpio-keys";
+		autorepeat;
+
+		switch-1 {
+			label = "S6";
+			linux,code = <BTN_0>;
+			gpios = <&pca9554_0 0 GPIO_ACTIVE_LOW>;
+		};
+
+		btn2: switch-2 {
+			label = "S7";
+			linux,code = <BTN_1>;
+			gpios = <&pca9554_0 1 GPIO_ACTIVE_LOW>;
+		};
+
+		switch-3 {
+			label = "S8";
+			linux,code = <BTN_2>;
+			gpios = <&pca9554_0 2 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	gpio_leds: gpio-leds {
+		compatible = "gpio-leds";
+
+		led-0 {
+			color = <LED_COLOR_ID_GREEN>;
+			function = LED_FUNCTION_STATUS;
+			function-enumerator = <0>;
+			gpios = <&pca9554_2 4 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "default-on";
+		};
+
+		led-1 {
+			color = <LED_COLOR_ID_GREEN>;
+			function = LED_FUNCTION_STATUS;
+			function-enumerator = <1>;
+			gpios = <&pca9554_2 5 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "default-on";
+		};
+
+		led-2 {
+			color = <LED_COLOR_ID_GREEN>;
+			function = LED_FUNCTION_STATUS;
+			function-enumerator = <2>;
+			gpios = <&pca9554_2 6 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "default-on";
+		};
+
+		led-3 {
+			color = <LED_COLOR_ID_GREEN>;
+			function = LED_FUNCTION_HEARTBEAT;
+			function-enumerator = <0>;
+			gpios = <&pca9554_2 7 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "heartbeat";
+		};
+	};
+
+	lvds_encoder: lvds-encoder {
+		compatible = "ti,sn75lvds83", "lvds-encoder";
+		power-supply = <&reg_3p3v>;
+		status = "disabled";
+
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			port@0 {
+				reg = <0>;
+
+				lvds_encoder_in: endpoint {};
+			};
+
+			port@1 {
+				reg = <1>;
+
+				lvds_encoder_out: endpoint {};
+			};
+		};
+	};
+
+	reg_1p2v: regulator-1p2v {
+		compatible = "regulator-fixed";
+		regulator-name = "1P2V";
+		regulator-min-microvolt = <1200000>;
+		regulator-max-microvolt = <1200000>;
+		regulator-always-on;
+		vin-supply = <&reg_3p3v>;
+	};
+
+	reg_3p3v: regulator-3p3v {
+		compatible = "regulator-fixed";
+		regulator-name = "3P3V";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-always-on;
+	};
+
+	hdmi_out: hdmi {
+		compatible = "hdmi-connector";
+		type = "a";
+		ddc-i2c-bus = <&i2c0>;
+		status = "disabled";
+
+		port {
+			hdmi_in: endpoint {
+				remote-endpoint = <&sii9022a_out>;
+			};
+		};
+	};
+
+	display: panel {
+		backlight = <&backlight_dcu>;
+		enable-gpios = <&pca9554_1 3 GPIO_ACTIVE_HIGH>;
+		status = "disabled";
+
+		port {
+			panel_in: endpoint {};
+		};
+	};
+
+	sound {
+		compatible = "fsl,imx-audio-tlv320aic32x4";
+		model = "ls1021a-mbls1021a-tlv320aic32";
+		ssi-controller = <&sai1>;
+		audio-codec = <&tlv320aic32x4>;
+	};
+
+};
+
+&can0 {
+	status = "okay";
+	xceiver-supply = <&reg_3p3v>;
+};
+
+&can1 {
+	status = "okay";
+	xceiver-supply = <&reg_3p3v>;
+};
+
+&dspi0 {
+	bus-num = <0>;
+	status = "okay";
+};
+
+&enet0 {
+	phy-handle = <&rgmii_phy0c>;
+	phy-mode = "rgmii-id";
+	mac-address = [ 00 00 00 00 00 00 ];
+	status = "okay";
+};
+
+&enet1 {
+	tbi-handle = <&tbi1>;
+	phy-handle = <&sgmii_phy03>;
+	phy-mode = "sgmii";
+	mac-address = [ 00 00 00 00 00 00 ];
+	status = "okay";
+};
+
+&enet2 {
+	phy-handle = <&rgmii_phy04>;
+	phy-mode = "rgmii-id";
+	mac-address = [ 00 00 00 00 00 00 ];
+	status = "okay";
+};
+
+&i2c0 {
+	status = "okay";
+
+	tlv320aic32x4: audio-codec@18 {
+		compatible = "ti,tlv320aic32x4";
+		reg = <0x18>;
+		clocks = <&audio_mclk>;
+		clock-names = "mclk";
+		ldoin-supply = <&reg_3p3v>;
+		iov-supply = <&reg_3p3v>;
+	};
+
+	pca9554_0: gpio-expander@20 {
+		compatible = "nxp,pca9554";
+		reg = <0x20>;
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-parent = <&gpio0>;
+		interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+		vcc-supply = <&reg_3p3v>;
+		gpio-line-names = "BUTTON0", "BUTTON1",
+				  "BUTTON2", "EMMC_SEL",
+				  "DIP2", "DIP3",
+				  "EXT_TOUCH_INT", "GPIO_1";
+	};
+
+	pca9554_1: gpio-expander@21 {
+		compatible = "nxp,pca9554";
+		reg = <0x21>;
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-parent = <&gpio0>;
+		interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+		vcc-supply = <&reg_3p3v>;
+		gpio-line-names = "PCIE_PWR_EN", "MPCIE_DISABLE#",
+				  "MPCIE_WAKE#", "LCD_BLT_EN",
+				  "LCD_PWR_EN", "EC1_PHY_PWDN",
+				  "EC3_PHY_PWDN", "SGMII_PHY_PWDN";
+	};
+
+	pca9554_2: gpio-expander@22 {
+		compatible = "nxp,pca9554";
+		reg = <0x22>;
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-parent = <&extirq>;
+		interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+		vcc-supply = <&reg_3p3v>;
+		gpio-line-names = "MUX_SEL0", "MUX_SEL1",
+				  "MUX_SEL2", "MUX_SEL3",
+				  "V95", "V96", "V97", "V98";
+	};
+
+	sii9022a: hdmi-transmitter@3b {
+		compatible = "sil,sii9022";
+		reg = <0x3b>;
+		iovcc-supply = <&reg_3p3v>;
+		cvcc12-supply = <&reg_1p2v>;
+		interrupts = <GIC_SPI 167 IRQ_TYPE_EDGE_RISING>;
+		#sound-dai-cells = <0>;
+		sil,i2s-data-lanes = <0>;
+		status = "disabled";
+
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			port@0 {
+				reg = <0>;
+
+				sii9022a_in: endpoint {};
+			};
+
+			port@1 {
+				reg = <1>;
+
+				sii9022a_out: endpoint {
+					remote-endpoint = <&hdmi_in>;
+				};
+			};
+		};
+	};
+
+	stmpe811: touchscreen@41 {
+		compatible = "st,stmpe811";
+		reg = <0x41>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+		interrupt-parent = <&gpio0>;
+		interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
+		vcc-supply = <&reg_3p3v>;
+		vio-supply = <&reg_3p3v>;
+		status = "okay";
+
+		stmpe_gpio {
+			compatible = "st,stmpe-gpio";
+			gpio-controller;
+			#gpio-cells = <2>;
+			/* GPIO 5-7 used for touch */
+			st,norequest-mask = <0xf0>;
+			gpio-line-names = "GPIO_ADC_I2C1_1",
+					  "GPIO_ADC_I2C1_2",
+					  "GPIO_ADC_I2C1_3",
+					  "GPIO_ADC_I2C1_4";
+		};
+
+		stmpe_touchscreen {
+			compatible = "st,stmpe-ts";
+			status = "disabled";
+		};
+	};
+
+	pca9530: leds@60 {
+		compatible = "nxp,pca9530";
+		reg = <0x60>;
+		gpio-controller;
+		#gpio-cells = <2>;
+		gpio-line-names = "PWM_0", "PWM_1";
+
+		gpio_pwm_0 {
+			label = "pca9530:pwm0";
+			type = <PCA9532_TYPE_GPIO>;
+		};
+
+		gpio_pwm_1 {
+			label = "pca9530:pwm1";
+			type = <PCA9532_TYPE_GPIO>;
+		};
+	};
+
+};
+
+&i2c1 {
+	status = "okay";
+};
+
+&lpuart0 {
+	status = "okay";
+	linux,rs485-enabled-at-boot-time;
+};
+
+&mdio0 {
+	sgmii_phy03: ethernet-phy@3 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <0x03>;
+		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
+		ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
+		ti,dp83867-rxctrl-strap-quirk;
+	};
+
+	rgmii_phy04: ethernet-phy@4 {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <0x04>;
+		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>;
+		ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
+		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
+		ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
+	};
+
+	rgmii_phy0c: ethernet-phy@c {
+		compatible = "ethernet-phy-ieee802.3-c22";
+		reg = <0x0c>;
+		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>;
+		ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
+		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
+		ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
+	};
+};
+
+&pwm6 {
+	status = "okay";
+};
+
+&pwm7 {
+	status = "okay";
+};
+
+&sai1 {
+	status = "okay";
+};
+
+&sata {
+	/delete-property/ dma-coherent;
+	status = "okay";
+};
+
+&uart0 {
+	status = "okay";
+};
+
+&uart1 {
+	status = "okay";
+};
+
+&usb3 {
+	/*
+	 * Although DR connector, VBUS is always driven, so
+	 * restrict to host mode.
+	 */
+	dr_mode = "host";
+	status = "okay";
+};
diff --git a/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi b/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
new file mode 100644
index 0000000000000..1ab518c489252
--- /dev/null
+++ b/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
@@ -0,0 +1,93 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
+/*
+ * Copyright 2013-2014 Freescale Semiconductor, Inc.
+ * Copyright 2018-2023 TQ-Systems GmbH <linux@ew.tq-group.com>,
+ * D-82229 Seefeld, Germany.
+ * Author: Alexander Stein
+ */
+
+#include "ls1021a.dtsi"
+
+/ {
+	model = "TQMLS102xA SOM";
+	compatible = "tq,ls1021a-tqmls1021a", "fsl,ls1021a";
+
+	reg_3p3v_som: regulator-3p3v-som {
+		compatible = "regulator-fixed";
+		regulator-name = "3P3V_SOM";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-always-on;
+	};
+};
+
+&esdhc {
+	compatible = "fsl,esdhc", "fsl,ls1021a-esdhc";
+	/* e-MMC over 8 data lines */
+	bus-width = <8>;
+	status = "okay";
+};
+
+&i2c0 {
+	status = "okay";
+
+	mc34vr500: pmic@8 {
+		reg = <0x08>;
+		status = "disabled";
+	};
+
+	pmc0: pmc@11 {
+		reg = <0x11>;
+		status = "disabled";
+	};
+
+	sa56004: temperature-sensor@4c {
+		compatible = "nxp,sa56004";
+		reg = <0x4c>;
+		vcc-supply = <&reg_3p3v_som>;
+	};
+
+	adm1069: supervisor@4f {
+		reg = <0x4f>;
+		status = "disabled";
+	};
+
+	rtc0: rtc@51 {
+		compatible = "nxp,pcf85063a";
+		quartz-load-femtofarads = <12500>;
+		reg = <0x51>;
+	};
+
+	m24c64_54: eeprom@54 {
+		compatible = "atmel,24c64";
+		reg = <0x54>;
+		pagesize = <32>;
+		read-only;
+		vcc-supply = <&reg_3p3v_som>;
+	};
+};
+
+&mdio0 {
+	tbi1: tbi-phy@8 {
+		reg = <0x8>;
+		device_type = "tbi-phy";
+	};
+};
+
+&scfg {
+	reg = <0x0 0x1570000 0x0 0x0e00>;
+};
+
+&qspi {
+	status = "okay";
+
+	qflash0: flash@0 {
+		compatible = "jedec,spi-nor";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		spi-max-frequency = <20000000>;
+		spi-rx-bus-width = <4>;
+		spi-tx-bus-width = <4>;
+		reg = <0>;
+	};
+};
-- 
2.34.1


_______________________________________________
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] 60+ messages in thread

* [PATCH 3/9] ARM: dts: ls1021a: add TQMLS1021A flash partition layout
  2023-01-19 14:42 ` Alexander Stein
@ 2023-01-19 14:42   ` Alexander Stein
  -1 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-19 14:42 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler
  Cc: Alexander Stein, soc, devicetree, linux-arm-kernel

The bootloader does not add the partitions into DT, so add them manually
here.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
 arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi | 31 +++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi b/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
index 1ab518c489252..2e71572245303 100644
--- a/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
+++ b/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
@@ -89,5 +89,36 @@ qflash0: flash@0 {
 		spi-rx-bus-width = <4>;
 		spi-tx-bus-width = <4>;
 		reg = <0>;
+
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			uboot@0 {
+				label = "U-Boot-PBL";
+				reg = <0x0 0xe0000>;
+			};
+
+			env@e0000 {
+				label = "U-Boot Environment";
+				reg = <0xe0000 0x10000>;
+			};
+
+			dtb@f0000 {
+				label = "DTB";
+				reg = <0xf0000 0x10000>;
+			};
+
+			linux@100000 {
+				label = "Linux";
+				reg = <0x100000 0x700000>;
+			};
+
+			rootfs@800000 {
+				label = "RootFS";
+				reg = <0x800000 0x3800000>;
+			};
+		};
 	};
 };
-- 
2.34.1


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

* [PATCH 3/9] ARM: dts: ls1021a: add TQMLS1021A flash partition layout
@ 2023-01-19 14:42   ` Alexander Stein
  0 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-19 14:42 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler
  Cc: Alexander Stein, soc, devicetree, linux-arm-kernel

The bootloader does not add the partitions into DT, so add them manually
here.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
 arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi | 31 +++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi b/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
index 1ab518c489252..2e71572245303 100644
--- a/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
+++ b/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
@@ -89,5 +89,36 @@ qflash0: flash@0 {
 		spi-rx-bus-width = <4>;
 		spi-tx-bus-width = <4>;
 		reg = <0>;
+
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			uboot@0 {
+				label = "U-Boot-PBL";
+				reg = <0x0 0xe0000>;
+			};
+
+			env@e0000 {
+				label = "U-Boot Environment";
+				reg = <0xe0000 0x10000>;
+			};
+
+			dtb@f0000 {
+				label = "DTB";
+				reg = <0xf0000 0x10000>;
+			};
+
+			linux@100000 {
+				label = "Linux";
+				reg = <0x100000 0x700000>;
+			};
+
+			rootfs@800000 {
+				label = "RootFS";
+				reg = <0x800000 0x3800000>;
+			};
+		};
 	};
 };
-- 
2.34.1


_______________________________________________
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] 60+ messages in thread

* [PATCH 4/9] ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA LVDS TM070JVHG33 overlay
  2023-01-19 14:42 ` Alexander Stein
@ 2023-01-19 14:42   ` Alexander Stein
  -1 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-19 14:42 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler
  Cc: Alexander Stein, soc, devicetree, linux-arm-kernel

Add device tree overlay for LVDS display usage.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
 arch/arm/boot/dts/Makefile                    |  5 ++
 ...tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtso | 56 +++++++++++++++++++
 2 files changed, 61 insertions(+)
 create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtso

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 44b5ed44b13d6..e6943dc73a3fd 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -805,6 +805,11 @@ dtb-$(CONFIG_SOC_LS1021A) += \
 	ls1021a-tqmls1021a-mbls1021a.dtb \
 	ls1021a-tsn.dtb \
 	ls1021a-twr.dtb
+
+ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33-dtbs := ls1021a-tqmls1021a-mbls1021a.dtb ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtbo
+
+dtb-$(CONFIG_SOC_LS1021A) += ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtb
+
 dtb-$(CONFIG_SOC_VF610) += \
 	vf500-colibri-eval-v3.dtb \
 	vf610-bk4.dtb \
diff --git a/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtso b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtso
new file mode 100644
index 0000000000000..252ef982dd862
--- /dev/null
+++ b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtso
@@ -0,0 +1,56 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
+/*
+ * Copyright 2018-2023 TQ-Systems GmbH <linux@ew.tq-group.com>,
+ * D-82229 Seefeld, Germany.
+ * Author: Alexander Stein
+
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+&backlight_dcu {
+	status = "okay";
+};
+
+&dcu {
+	status = "okay";
+
+	port {
+
+		dcu_out: endpoint {
+			remote-endpoint = <&lvds_encoder_in>;
+		};
+	};
+};
+
+&display {
+	compatible = "tianma,tm070jvhg33";
+	status = "okay";
+
+	port {
+		panel_in: endpoint {
+			remote-endpoint = <&lvds_encoder_out>;
+		};
+	};
+};
+
+&lvds_encoder {
+	status = "okay";
+
+	ports {
+		port@0 {
+			lvds_encoder_in: endpoint {
+				remote-endpoint = <&dcu_out>;
+			};
+		};
+
+		port@1 {
+			lvds_encoder_out: endpoint {
+				remote-endpoint = <&panel_in>;
+			};
+		};
+	};
+};
-- 
2.34.1


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

* [PATCH 4/9] ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA LVDS TM070JVHG33 overlay
@ 2023-01-19 14:42   ` Alexander Stein
  0 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-19 14:42 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler
  Cc: Alexander Stein, soc, devicetree, linux-arm-kernel

Add device tree overlay for LVDS display usage.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
 arch/arm/boot/dts/Makefile                    |  5 ++
 ...tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtso | 56 +++++++++++++++++++
 2 files changed, 61 insertions(+)
 create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtso

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 44b5ed44b13d6..e6943dc73a3fd 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -805,6 +805,11 @@ dtb-$(CONFIG_SOC_LS1021A) += \
 	ls1021a-tqmls1021a-mbls1021a.dtb \
 	ls1021a-tsn.dtb \
 	ls1021a-twr.dtb
+
+ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33-dtbs := ls1021a-tqmls1021a-mbls1021a.dtb ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtbo
+
+dtb-$(CONFIG_SOC_LS1021A) += ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtb
+
 dtb-$(CONFIG_SOC_VF610) += \
 	vf500-colibri-eval-v3.dtb \
 	vf610-bk4.dtb \
diff --git a/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtso b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtso
new file mode 100644
index 0000000000000..252ef982dd862
--- /dev/null
+++ b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtso
@@ -0,0 +1,56 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
+/*
+ * Copyright 2018-2023 TQ-Systems GmbH <linux@ew.tq-group.com>,
+ * D-82229 Seefeld, Germany.
+ * Author: Alexander Stein
+
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+&backlight_dcu {
+	status = "okay";
+};
+
+&dcu {
+	status = "okay";
+
+	port {
+
+		dcu_out: endpoint {
+			remote-endpoint = <&lvds_encoder_in>;
+		};
+	};
+};
+
+&display {
+	compatible = "tianma,tm070jvhg33";
+	status = "okay";
+
+	port {
+		panel_in: endpoint {
+			remote-endpoint = <&lvds_encoder_out>;
+		};
+	};
+};
+
+&lvds_encoder {
+	status = "okay";
+
+	ports {
+		port@0 {
+			lvds_encoder_in: endpoint {
+				remote-endpoint = <&dcu_out>;
+			};
+		};
+
+		port@1 {
+			lvds_encoder_out: endpoint {
+				remote-endpoint = <&panel_in>;
+			};
+		};
+	};
+};
-- 
2.34.1


_______________________________________________
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] 60+ messages in thread

* [PATCH 5/9] ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA HDMI overlay
  2023-01-19 14:42 ` Alexander Stein
@ 2023-01-19 14:42   ` Alexander Stein
  -1 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-19 14:42 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler
  Cc: Alexander Stein, soc, devicetree, linux-arm-kernel

Add device tree overlay for HDMI usage.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
 arch/arm/boot/dts/Makefile                    |  2 ++
 .../ls1021a-tqmls1021a-mbls1021a-hdmi.dtso    | 36 +++++++++++++++++++
 2 files changed, 38 insertions(+)
 create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-hdmi.dtso

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index e6943dc73a3fd..d5105e8179431 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -806,8 +806,10 @@ dtb-$(CONFIG_SOC_LS1021A) += \
 	ls1021a-tsn.dtb \
 	ls1021a-twr.dtb
 
+ls1021a-tqmls1021a-mbls1021a-hdmi-dtbs := ls1021a-tqmls1021a-mbls1021a.dtb ls1021a-tqmls1021a-mbls1021a-hdmi.dtbo
 ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33-dtbs := ls1021a-tqmls1021a-mbls1021a.dtb ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtbo
 
+dtb-$(CONFIG_SOC_LS1021A) += ls1021a-tqmls1021a-mbls1021a-hdmi.dtb
 dtb-$(CONFIG_SOC_LS1021A) += ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtb
 
 dtb-$(CONFIG_SOC_VF610) += \
diff --git a/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-hdmi.dtso b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-hdmi.dtso
new file mode 100644
index 0000000000000..f5ca22643c08e
--- /dev/null
+++ b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-hdmi.dtso
@@ -0,0 +1,36 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
+/*
+ * Copyright 2018-2023 TQ-Systems GmbH <linux@ew.tq-group.com>,
+ * D-82229 Seefeld, Germany.
+ * Author: Alexander Stein
+
+ */
+
+/dts-v1/;
+/plugin/;
+
+&dcu {
+	status = "okay";
+
+	port {
+		dcu_out: endpoint {
+			remote-endpoint = <&sii9022a_in>;
+		};
+	};
+};
+
+&hdmi_out {
+	status = "okay";
+};
+
+&sii9022a {
+	status = "okay";
+
+	ports {
+		port@0 {
+			sii9022a_in: endpoint {
+				remote-endpoint = <&dcu_out>;
+			};
+		};
+	};
+};
-- 
2.34.1


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

* [PATCH 5/9] ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA HDMI overlay
@ 2023-01-19 14:42   ` Alexander Stein
  0 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-19 14:42 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler
  Cc: Alexander Stein, soc, devicetree, linux-arm-kernel

Add device tree overlay for HDMI usage.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
 arch/arm/boot/dts/Makefile                    |  2 ++
 .../ls1021a-tqmls1021a-mbls1021a-hdmi.dtso    | 36 +++++++++++++++++++
 2 files changed, 38 insertions(+)
 create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-hdmi.dtso

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index e6943dc73a3fd..d5105e8179431 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -806,8 +806,10 @@ dtb-$(CONFIG_SOC_LS1021A) += \
 	ls1021a-tsn.dtb \
 	ls1021a-twr.dtb
 
+ls1021a-tqmls1021a-mbls1021a-hdmi-dtbs := ls1021a-tqmls1021a-mbls1021a.dtb ls1021a-tqmls1021a-mbls1021a-hdmi.dtbo
 ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33-dtbs := ls1021a-tqmls1021a-mbls1021a.dtb ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtbo
 
+dtb-$(CONFIG_SOC_LS1021A) += ls1021a-tqmls1021a-mbls1021a-hdmi.dtb
 dtb-$(CONFIG_SOC_LS1021A) += ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtb
 
 dtb-$(CONFIG_SOC_VF610) += \
diff --git a/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-hdmi.dtso b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-hdmi.dtso
new file mode 100644
index 0000000000000..f5ca22643c08e
--- /dev/null
+++ b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-hdmi.dtso
@@ -0,0 +1,36 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
+/*
+ * Copyright 2018-2023 TQ-Systems GmbH <linux@ew.tq-group.com>,
+ * D-82229 Seefeld, Germany.
+ * Author: Alexander Stein
+
+ */
+
+/dts-v1/;
+/plugin/;
+
+&dcu {
+	status = "okay";
+
+	port {
+		dcu_out: endpoint {
+			remote-endpoint = <&sii9022a_in>;
+		};
+	};
+};
+
+&hdmi_out {
+	status = "okay";
+};
+
+&sii9022a {
+	status = "okay";
+
+	ports {
+		port@0 {
+			sii9022a_in: endpoint {
+				remote-endpoint = <&dcu_out>;
+			};
+		};
+	};
+};
-- 
2.34.1


_______________________________________________
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] 60+ messages in thread

* [PATCH 6/9] ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA LVDS CDTECH DC44 overlay
  2023-01-19 14:42 ` Alexander Stein
@ 2023-01-19 14:42   ` Alexander Stein
  -1 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-19 14:42 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler
  Cc: Alexander Stein, soc, devicetree, linux-arm-kernel

Add device tree overlay for LVDS display usage.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
 arch/arm/boot/dts/Makefile                    |  2 +
 ...1021a-tqmls1021a-mbls1021a-cdtech-dc44.dts | 55 +++++++++++++++++++
 2 files changed, 57 insertions(+)
 create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-cdtech-dc44.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index d5105e8179431..774cc57274e20 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -806,9 +806,11 @@ dtb-$(CONFIG_SOC_LS1021A) += \
 	ls1021a-tsn.dtb \
 	ls1021a-twr.dtb
 
+ls1021a-tqmls1021a-mbls1021a-cdtech-dc44-dtbs := ls1021a-tqmls1021a-mbls1021a.dtb ls1021a-tqmls1021a-mbls1021a-cdtech-dc44.dtbo
 ls1021a-tqmls1021a-mbls1021a-hdmi-dtbs := ls1021a-tqmls1021a-mbls1021a.dtb ls1021a-tqmls1021a-mbls1021a-hdmi.dtbo
 ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33-dtbs := ls1021a-tqmls1021a-mbls1021a.dtb ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtbo
 
+dtb-$(CONFIG_SOC_LS1021A) += ls1021a-tqmls1021a-mbls1021a-cdtech-dc44.dtb
 dtb-$(CONFIG_SOC_LS1021A) += ls1021a-tqmls1021a-mbls1021a-hdmi.dtb
 dtb-$(CONFIG_SOC_LS1021A) += ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtb
 
diff --git a/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-cdtech-dc44.dts b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-cdtech-dc44.dts
new file mode 100644
index 0000000000000..ddc71bc597295
--- /dev/null
+++ b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-cdtech-dc44.dts
@@ -0,0 +1,55 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
+/*
+ * Copyright 2018-2023 TQ-Systems GmbH <linux@ew.tq-group.com>,
+ * D-82229 Seefeld, Germany.
+ * Author: Alexander Stein
+
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+&backlight_dcu {
+	status = "okay";
+};
+
+&dcu {
+	status = "okay";
+
+	port {
+		dcu_out: endpoint {
+			remote-endpoint = <&panel_in>;
+		};
+	};
+};
+
+&display {
+	compatible = "cdtech,s070swv29hg-dc44";
+	status = "okay";
+
+	port {
+		panel_in: endpoint {
+			remote-endpoint = <&dcu_out>;
+		};
+	};
+};
+
+&i2c0 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+
+	polytouch: touchscreen@38 {
+		compatible = "edt,edt-ft5406";
+		reg = <0x38>;
+		interrupt-parent = <&pca9554_0>;
+		interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
+		/* LCD_PWR_EN -> TSC_WAKE */
+		wake-gpios = <&pca9554_1 4 GPIO_ACTIVE_HIGH>;
+		gain = <20>;
+		touchscreen-size-x = <800>;
+		touchscreen-size-y = <480>;
+	};
+};
-- 
2.34.1


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

* [PATCH 6/9] ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA LVDS CDTECH DC44 overlay
@ 2023-01-19 14:42   ` Alexander Stein
  0 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-19 14:42 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler
  Cc: Alexander Stein, soc, devicetree, linux-arm-kernel

Add device tree overlay for LVDS display usage.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
 arch/arm/boot/dts/Makefile                    |  2 +
 ...1021a-tqmls1021a-mbls1021a-cdtech-dc44.dts | 55 +++++++++++++++++++
 2 files changed, 57 insertions(+)
 create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-cdtech-dc44.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index d5105e8179431..774cc57274e20 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -806,9 +806,11 @@ dtb-$(CONFIG_SOC_LS1021A) += \
 	ls1021a-tsn.dtb \
 	ls1021a-twr.dtb
 
+ls1021a-tqmls1021a-mbls1021a-cdtech-dc44-dtbs := ls1021a-tqmls1021a-mbls1021a.dtb ls1021a-tqmls1021a-mbls1021a-cdtech-dc44.dtbo
 ls1021a-tqmls1021a-mbls1021a-hdmi-dtbs := ls1021a-tqmls1021a-mbls1021a.dtb ls1021a-tqmls1021a-mbls1021a-hdmi.dtbo
 ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33-dtbs := ls1021a-tqmls1021a-mbls1021a.dtb ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtbo
 
+dtb-$(CONFIG_SOC_LS1021A) += ls1021a-tqmls1021a-mbls1021a-cdtech-dc44.dtb
 dtb-$(CONFIG_SOC_LS1021A) += ls1021a-tqmls1021a-mbls1021a-hdmi.dtb
 dtb-$(CONFIG_SOC_LS1021A) += ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtb
 
diff --git a/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-cdtech-dc44.dts b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-cdtech-dc44.dts
new file mode 100644
index 0000000000000..ddc71bc597295
--- /dev/null
+++ b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-cdtech-dc44.dts
@@ -0,0 +1,55 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
+/*
+ * Copyright 2018-2023 TQ-Systems GmbH <linux@ew.tq-group.com>,
+ * D-82229 Seefeld, Germany.
+ * Author: Alexander Stein
+
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+&backlight_dcu {
+	status = "okay";
+};
+
+&dcu {
+	status = "okay";
+
+	port {
+		dcu_out: endpoint {
+			remote-endpoint = <&panel_in>;
+		};
+	};
+};
+
+&display {
+	compatible = "cdtech,s070swv29hg-dc44";
+	status = "okay";
+
+	port {
+		panel_in: endpoint {
+			remote-endpoint = <&dcu_out>;
+		};
+	};
+};
+
+&i2c0 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+
+	polytouch: touchscreen@38 {
+		compatible = "edt,edt-ft5406";
+		reg = <0x38>;
+		interrupt-parent = <&pca9554_0>;
+		interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
+		/* LCD_PWR_EN -> TSC_WAKE */
+		wake-gpios = <&pca9554_1 4 GPIO_ACTIVE_HIGH>;
+		gain = <20>;
+		touchscreen-size-x = <800>;
+		touchscreen-size-y = <480>;
+	};
+};
-- 
2.34.1


_______________________________________________
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] 60+ messages in thread

* [PATCH 7/9] ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA LVDS CDTECH FC21 overlay
  2023-01-19 14:42 ` Alexander Stein
@ 2023-01-19 14:42   ` Alexander Stein
  -1 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-19 14:42 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler
  Cc: Alexander Stein, soc, devicetree, linux-arm-kernel

Add device tree overlay for LVDS display usage.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
 arch/arm/boot/dts/Makefile                    |  2 +
 ...1021a-tqmls1021a-mbls1021a-cdtech-fc21.dts | 55 +++++++++++++++++++
 2 files changed, 57 insertions(+)
 create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-cdtech-fc21.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 774cc57274e20..bc51a5b868c10 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -806,10 +806,12 @@ dtb-$(CONFIG_SOC_LS1021A) += \
 	ls1021a-tsn.dtb \
 	ls1021a-twr.dtb
 
+ls1021a-tqmls1021a-mbls1021a-cdtech-fc21-dtbs := ls1021a-tqmls1021a-mbls1021a.dtb ls1021a-tqmls1021a-mbls1021a-cdtech-fc21.dtbo
 ls1021a-tqmls1021a-mbls1021a-cdtech-dc44-dtbs := ls1021a-tqmls1021a-mbls1021a.dtb ls1021a-tqmls1021a-mbls1021a-cdtech-dc44.dtbo
 ls1021a-tqmls1021a-mbls1021a-hdmi-dtbs := ls1021a-tqmls1021a-mbls1021a.dtb ls1021a-tqmls1021a-mbls1021a-hdmi.dtbo
 ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33-dtbs := ls1021a-tqmls1021a-mbls1021a.dtb ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtbo
 
+dtb-$(CONFIG_SOC_LS1021A) += ls1021a-tqmls1021a-mbls1021a-cdtech-fc21.dtb
 dtb-$(CONFIG_SOC_LS1021A) += ls1021a-tqmls1021a-mbls1021a-cdtech-dc44.dtb
 dtb-$(CONFIG_SOC_LS1021A) += ls1021a-tqmls1021a-mbls1021a-hdmi.dtb
 dtb-$(CONFIG_SOC_LS1021A) += ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtb
diff --git a/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-cdtech-fc21.dts b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-cdtech-fc21.dts
new file mode 100644
index 0000000000000..4bd10d0e17b90
--- /dev/null
+++ b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-cdtech-fc21.dts
@@ -0,0 +1,55 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
+/*
+ * Copyright 2018-2023 TQ-Systems GmbH <linux@ew.tq-group.com>,
+ * D-82229 Seefeld, Germany.
+ * Author: Alexander Stein
+
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+&backlight_dcu {
+	status = "okay";
+};
+
+&dcu {
+	status = "okay";
+
+	port {
+		dcu_out: endpoint {
+			remote-endpoint = <&panel_in>;
+		};
+	};
+};
+
+&display {
+	compatible = "cdtech,s070pws19hp-fc21";
+	status = "okay";
+
+	port {
+		panel_in: endpoint {
+			remote-endpoint = <&dcu_out>;
+		};
+	};
+};
+
+&i2c0 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+
+	polytouch: touchscreen@38 {
+		compatible = "edt,edt-ft5406";
+		reg = <0x38>;
+		interrupt-parent = <&pca9554_0>;
+		interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
+		/* LCD_PWR_EN -> TSC_WAKE */
+		wake-gpios = <&pca9554_1 4 GPIO_ACTIVE_HIGH>;
+		gain = <20>;
+		touchscreen-size-x = <1024>;
+		touchscreen-size-y = <600>;
+	};
+};
-- 
2.34.1


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

* [PATCH 7/9] ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA LVDS CDTECH FC21 overlay
@ 2023-01-19 14:42   ` Alexander Stein
  0 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-19 14:42 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler
  Cc: Alexander Stein, soc, devicetree, linux-arm-kernel

Add device tree overlay for LVDS display usage.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
 arch/arm/boot/dts/Makefile                    |  2 +
 ...1021a-tqmls1021a-mbls1021a-cdtech-fc21.dts | 55 +++++++++++++++++++
 2 files changed, 57 insertions(+)
 create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-cdtech-fc21.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 774cc57274e20..bc51a5b868c10 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -806,10 +806,12 @@ dtb-$(CONFIG_SOC_LS1021A) += \
 	ls1021a-tsn.dtb \
 	ls1021a-twr.dtb
 
+ls1021a-tqmls1021a-mbls1021a-cdtech-fc21-dtbs := ls1021a-tqmls1021a-mbls1021a.dtb ls1021a-tqmls1021a-mbls1021a-cdtech-fc21.dtbo
 ls1021a-tqmls1021a-mbls1021a-cdtech-dc44-dtbs := ls1021a-tqmls1021a-mbls1021a.dtb ls1021a-tqmls1021a-mbls1021a-cdtech-dc44.dtbo
 ls1021a-tqmls1021a-mbls1021a-hdmi-dtbs := ls1021a-tqmls1021a-mbls1021a.dtb ls1021a-tqmls1021a-mbls1021a-hdmi.dtbo
 ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33-dtbs := ls1021a-tqmls1021a-mbls1021a.dtb ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtbo
 
+dtb-$(CONFIG_SOC_LS1021A) += ls1021a-tqmls1021a-mbls1021a-cdtech-fc21.dtb
 dtb-$(CONFIG_SOC_LS1021A) += ls1021a-tqmls1021a-mbls1021a-cdtech-dc44.dtb
 dtb-$(CONFIG_SOC_LS1021A) += ls1021a-tqmls1021a-mbls1021a-hdmi.dtb
 dtb-$(CONFIG_SOC_LS1021A) += ls1021a-tqmls1021a-mbls1021a-lvds-tm070jvhg33.dtb
diff --git a/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-cdtech-fc21.dts b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-cdtech-fc21.dts
new file mode 100644
index 0000000000000..4bd10d0e17b90
--- /dev/null
+++ b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a-cdtech-fc21.dts
@@ -0,0 +1,55 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
+/*
+ * Copyright 2018-2023 TQ-Systems GmbH <linux@ew.tq-group.com>,
+ * D-82229 Seefeld, Germany.
+ * Author: Alexander Stein
+
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+&backlight_dcu {
+	status = "okay";
+};
+
+&dcu {
+	status = "okay";
+
+	port {
+		dcu_out: endpoint {
+			remote-endpoint = <&panel_in>;
+		};
+	};
+};
+
+&display {
+	compatible = "cdtech,s070pws19hp-fc21";
+	status = "okay";
+
+	port {
+		panel_in: endpoint {
+			remote-endpoint = <&dcu_out>;
+		};
+	};
+};
+
+&i2c0 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+
+	polytouch: touchscreen@38 {
+		compatible = "edt,edt-ft5406";
+		reg = <0x38>;
+		interrupt-parent = <&pca9554_0>;
+		interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
+		/* LCD_PWR_EN -> TSC_WAKE */
+		wake-gpios = <&pca9554_1 4 GPIO_ACTIVE_HIGH>;
+		gain = <20>;
+		touchscreen-size-x = <1024>;
+		touchscreen-size-y = <600>;
+	};
+};
-- 
2.34.1


_______________________________________________
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] 60+ messages in thread

* [PATCH 8/9] ARM: multi_v7_defconfig: Add options to support TQMLS102xA series
  2023-01-19 14:42 ` Alexander Stein
@ 2023-01-19 14:42   ` Alexander Stein
  -1 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-19 14:42 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler
  Cc: Alexander Stein, soc, devicetree, linux-arm-kernel

This enables drivers used on TQMLS102xA + MBLS1021A.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
 arch/arm/configs/multi_v7_defconfig | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
index ee184eb37adcf..441a449172368 100644
--- a/arch/arm/configs/multi_v7_defconfig
+++ b/arch/arm/configs/multi_v7_defconfig
@@ -191,6 +191,7 @@ CONFIG_PCI_TEGRA=y
 CONFIG_PCI_RCAR_GEN2=y
 CONFIG_PCIE_RCAR_HOST=y
 CONFIG_PCI_DRA7XX_EP=y
+CONFIG_PCI_LAYERSCAPE=y
 CONFIG_PCI_ENDPOINT=y
 CONFIG_PCI_ENDPOINT_CONFIGFS=y
 CONFIG_PCI_EPF_TEST=m
@@ -249,6 +250,7 @@ CONFIG_AHCI_ST=y
 CONFIG_AHCI_IMX=y
 CONFIG_AHCI_SUNXI=y
 CONFIG_AHCI_TEGRA=y
+CONFIG_AHCI_QORIQ=y
 CONFIG_SATA_HIGHBANK=y
 CONFIG_SATA_MV=y
 CONFIG_SATA_RCAR=y
@@ -329,6 +331,7 @@ CONFIG_TOUCHSCREEN_ADC=m
 CONFIG_TOUCHSCREEN_ATMEL_MXT=m
 CONFIG_TOUCHSCREEN_ELAN=m
 CONFIG_TOUCHSCREEN_MMS114=m
+CONFIG_TOUCHSCREEN_EDT_FT5X06=m
 CONFIG_TOUCHSCREEN_WM97XX=m
 CONFIG_TOUCHSCREEN_ST1232=m
 CONFIG_TOUCHSCREEN_STMPE=y
@@ -483,6 +486,7 @@ CONFIG_GPIO_ASPEED_SGPIO=y
 CONFIG_GPIO_DAVINCI=y
 CONFIG_GPIO_DWAPB=y
 CONFIG_GPIO_EM=y
+CONFIG_GPIO_MPC8XXX=y
 CONFIG_GPIO_MXC=y
 CONFIG_GPIO_RCAR=y
 CONFIG_GPIO_SYSCON=y
@@ -493,6 +497,7 @@ CONFIG_GPIO_PCA953X=y
 CONFIG_GPIO_PCA953X_IRQ=y
 CONFIG_GPIO_PCF857X=y
 CONFIG_GPIO_PALMAS=y
+CONFIG_GPIO_STMPE=y
 CONFIG_GPIO_TPS6586X=y
 CONFIG_GPIO_TPS65910=y
 CONFIG_GPIO_TWL4030=y
@@ -533,6 +538,7 @@ CONFIG_SENSORS_INA2XX=m
 CONFIG_CPU_THERMAL=y
 CONFIG_DEVFREQ_THERMAL=y
 CONFIG_IMX_THERMAL=y
+CONFIG_QORIQ_THERMAL=m
 CONFIG_ROCKCHIP_THERMAL=y
 CONFIG_RCAR_THERMAL=y
 CONFIG_ARMADA_THERMAL=y
@@ -821,6 +827,8 @@ CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
 CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
 CONFIG_SND_SOC_SGTL5000=m
 CONFIG_SND_SOC_STI_SAS=m
+CONFIG_SND_SOC_TLV320AIC32X4=m
+CONFIG_SND_SOC_TLV320AIC32X4_I2C=m
 CONFIG_SND_SOC_WM8978=m
 CONFIG_SND_AUDIO_GRAPH_CARD=m
 CONFIG_USB=y
@@ -830,6 +838,7 @@ CONFIG_USB_XHCI_MVEBU=y
 CONFIG_USB_XHCI_TEGRA=m
 CONFIG_USB_BRCMSTB=m
 CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_FSL=y
 CONFIG_USB_EHCI_HCD_STI=y
 CONFIG_USB_EHCI_EXYNOS=m
 CONFIG_USB_EHCI_MV=m
@@ -933,6 +942,8 @@ CONFIG_NEW_LEDS=y
 CONFIG_LEDS_CLASS=y
 CONFIG_LEDS_CLASS_FLASH=m
 CONFIG_LEDS_CPCAP=m
+CONFIG_LEDS_PCA9532=m
+CONFIG_LEDS_PCA9532_GPIO=y
 CONFIG_LEDS_GPIO=y
 CONFIG_LEDS_PWM=y
 CONFIG_LEDS_MAX8997=m
@@ -949,6 +960,7 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
 CONFIG_LEDS_TRIGGER_TRANSIENT=y
 CONFIG_LEDS_TRIGGER_CAMERA=y
 CONFIG_EDAC=y
+CONFIG_EDAC_LAYERSCAPE=y
 CONFIG_EDAC_HIGHBANK_MC=y
 CONFIG_EDAC_HIGHBANK_L2=y
 CONFIG_RTC_CLASS=y
@@ -962,6 +974,7 @@ CONFIG_RTC_DRV_MAX8997=m
 CONFIG_RTC_DRV_MAX77686=y
 CONFIG_RTC_DRV_RK808=m
 CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_PCF85063=y
 CONFIG_RTC_DRV_PCF85363=m
 CONFIG_RTC_DRV_BQ32K=m
 CONFIG_RTC_DRV_TWL4030=y
-- 
2.34.1


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

* [PATCH 8/9] ARM: multi_v7_defconfig: Add options to support TQMLS102xA series
@ 2023-01-19 14:42   ` Alexander Stein
  0 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-19 14:42 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler
  Cc: Alexander Stein, soc, devicetree, linux-arm-kernel

This enables drivers used on TQMLS102xA + MBLS1021A.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
 arch/arm/configs/multi_v7_defconfig | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
index ee184eb37adcf..441a449172368 100644
--- a/arch/arm/configs/multi_v7_defconfig
+++ b/arch/arm/configs/multi_v7_defconfig
@@ -191,6 +191,7 @@ CONFIG_PCI_TEGRA=y
 CONFIG_PCI_RCAR_GEN2=y
 CONFIG_PCIE_RCAR_HOST=y
 CONFIG_PCI_DRA7XX_EP=y
+CONFIG_PCI_LAYERSCAPE=y
 CONFIG_PCI_ENDPOINT=y
 CONFIG_PCI_ENDPOINT_CONFIGFS=y
 CONFIG_PCI_EPF_TEST=m
@@ -249,6 +250,7 @@ CONFIG_AHCI_ST=y
 CONFIG_AHCI_IMX=y
 CONFIG_AHCI_SUNXI=y
 CONFIG_AHCI_TEGRA=y
+CONFIG_AHCI_QORIQ=y
 CONFIG_SATA_HIGHBANK=y
 CONFIG_SATA_MV=y
 CONFIG_SATA_RCAR=y
@@ -329,6 +331,7 @@ CONFIG_TOUCHSCREEN_ADC=m
 CONFIG_TOUCHSCREEN_ATMEL_MXT=m
 CONFIG_TOUCHSCREEN_ELAN=m
 CONFIG_TOUCHSCREEN_MMS114=m
+CONFIG_TOUCHSCREEN_EDT_FT5X06=m
 CONFIG_TOUCHSCREEN_WM97XX=m
 CONFIG_TOUCHSCREEN_ST1232=m
 CONFIG_TOUCHSCREEN_STMPE=y
@@ -483,6 +486,7 @@ CONFIG_GPIO_ASPEED_SGPIO=y
 CONFIG_GPIO_DAVINCI=y
 CONFIG_GPIO_DWAPB=y
 CONFIG_GPIO_EM=y
+CONFIG_GPIO_MPC8XXX=y
 CONFIG_GPIO_MXC=y
 CONFIG_GPIO_RCAR=y
 CONFIG_GPIO_SYSCON=y
@@ -493,6 +497,7 @@ CONFIG_GPIO_PCA953X=y
 CONFIG_GPIO_PCA953X_IRQ=y
 CONFIG_GPIO_PCF857X=y
 CONFIG_GPIO_PALMAS=y
+CONFIG_GPIO_STMPE=y
 CONFIG_GPIO_TPS6586X=y
 CONFIG_GPIO_TPS65910=y
 CONFIG_GPIO_TWL4030=y
@@ -533,6 +538,7 @@ CONFIG_SENSORS_INA2XX=m
 CONFIG_CPU_THERMAL=y
 CONFIG_DEVFREQ_THERMAL=y
 CONFIG_IMX_THERMAL=y
+CONFIG_QORIQ_THERMAL=m
 CONFIG_ROCKCHIP_THERMAL=y
 CONFIG_RCAR_THERMAL=y
 CONFIG_ARMADA_THERMAL=y
@@ -821,6 +827,8 @@ CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
 CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
 CONFIG_SND_SOC_SGTL5000=m
 CONFIG_SND_SOC_STI_SAS=m
+CONFIG_SND_SOC_TLV320AIC32X4=m
+CONFIG_SND_SOC_TLV320AIC32X4_I2C=m
 CONFIG_SND_SOC_WM8978=m
 CONFIG_SND_AUDIO_GRAPH_CARD=m
 CONFIG_USB=y
@@ -830,6 +838,7 @@ CONFIG_USB_XHCI_MVEBU=y
 CONFIG_USB_XHCI_TEGRA=m
 CONFIG_USB_BRCMSTB=m
 CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_FSL=y
 CONFIG_USB_EHCI_HCD_STI=y
 CONFIG_USB_EHCI_EXYNOS=m
 CONFIG_USB_EHCI_MV=m
@@ -933,6 +942,8 @@ CONFIG_NEW_LEDS=y
 CONFIG_LEDS_CLASS=y
 CONFIG_LEDS_CLASS_FLASH=m
 CONFIG_LEDS_CPCAP=m
+CONFIG_LEDS_PCA9532=m
+CONFIG_LEDS_PCA9532_GPIO=y
 CONFIG_LEDS_GPIO=y
 CONFIG_LEDS_PWM=y
 CONFIG_LEDS_MAX8997=m
@@ -949,6 +960,7 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
 CONFIG_LEDS_TRIGGER_TRANSIENT=y
 CONFIG_LEDS_TRIGGER_CAMERA=y
 CONFIG_EDAC=y
+CONFIG_EDAC_LAYERSCAPE=y
 CONFIG_EDAC_HIGHBANK_MC=y
 CONFIG_EDAC_HIGHBANK_L2=y
 CONFIG_RTC_CLASS=y
@@ -962,6 +974,7 @@ CONFIG_RTC_DRV_MAX8997=m
 CONFIG_RTC_DRV_MAX77686=y
 CONFIG_RTC_DRV_RK808=m
 CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_PCF85063=y
 CONFIG_RTC_DRV_PCF85363=m
 CONFIG_RTC_DRV_BQ32K=m
 CONFIG_RTC_DRV_TWL4030=y
-- 
2.34.1


_______________________________________________
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] 60+ messages in thread

* [PATCH 9/9] [DNI] ARM: multi_v7_defconfig: Enable CONFIG_ARM_LPAE for multi_v7_config
  2023-01-19 14:42 ` Alexander Stein
@ 2023-01-19 14:42   ` Alexander Stein
  -1 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-19 14:42 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler
  Cc: Alexander Stein, soc, devicetree, linux-arm-kernel

This is necessary to support PCIe on LS1021A.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
 arch/arm/configs/multi_v7_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
index 441a449172368..f0757f05ec2c2 100644
--- a/arch/arm/configs/multi_v7_defconfig
+++ b/arch/arm/configs/multi_v7_defconfig
@@ -105,6 +105,7 @@ CONFIG_ARCH_VEXPRESS=y
 CONFIG_ARCH_VEXPRESS_TC2_PM=y
 CONFIG_ARCH_WM8850=y
 CONFIG_ARCH_ZYNQ=y
+CONFIG_ARM_LPAE=y
 CONFIG_SMP=y
 CONFIG_NR_CPUS=16
 CONFIG_ARM_APPENDED_DTB=y
-- 
2.34.1


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

* [PATCH 9/9] [DNI] ARM: multi_v7_defconfig: Enable CONFIG_ARM_LPAE for multi_v7_config
@ 2023-01-19 14:42   ` Alexander Stein
  0 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-19 14:42 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler
  Cc: Alexander Stein, soc, devicetree, linux-arm-kernel

This is necessary to support PCIe on LS1021A.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
 arch/arm/configs/multi_v7_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
index 441a449172368..f0757f05ec2c2 100644
--- a/arch/arm/configs/multi_v7_defconfig
+++ b/arch/arm/configs/multi_v7_defconfig
@@ -105,6 +105,7 @@ CONFIG_ARCH_VEXPRESS=y
 CONFIG_ARCH_VEXPRESS_TC2_PM=y
 CONFIG_ARCH_WM8850=y
 CONFIG_ARCH_ZYNQ=y
+CONFIG_ARM_LPAE=y
 CONFIG_SMP=y
 CONFIG_NR_CPUS=16
 CONFIG_ARM_APPENDED_DTB=y
-- 
2.34.1


_______________________________________________
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] 60+ messages in thread

* Re: [PATCH 9/9] [DNI] ARM: multi_v7_defconfig: Enable CONFIG_ARM_LPAE for multi_v7_config
  2023-01-19 14:42   ` Alexander Stein
@ 2023-01-19 15:09     ` Arnd Bergmann
  -1 siblings, 0 replies; 60+ messages in thread
From: Arnd Bergmann @ 2023-01-19 15:09 UTC (permalink / raw)
  To: Alexander Stein, Rob Herring, Krzysztof Kozlowski,
	Olof Johansson, Shawn Guo, Li Yang, Russell King, Marek Vasut,
	Marcel Ziswiler
  Cc: soc, devicetree, linux-arm-kernel

On Thu, Jan 19, 2023, at 15:42, Alexander Stein wrote:
> This is necessary to support PCIe on LS1021A.
>
> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>

Can you explain why this is actually required? I can see that the
ranges in the PCIe device point to a high address (0x4000000000,
2^40), but I can't tell if this is hardwired in the SoC or a
setting that is applied by software (either the bootloader or
the PCIe driver).

If you can reprogram the memory map, I would expect this to fit
easily into the 32-bit address space, with 1GB for DDR3 memory
and 1GB for PCIe BARs.

I don't mind having a defconfig with LPAE enabled, I think this
can be done using a Makefile target that applies a config
fragment on top of the normal multi_v7_defconfig, you can find
some examples in arch/powerpc/configs/*.config.

   Arnd

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

* Re: [PATCH 9/9] [DNI] ARM: multi_v7_defconfig: Enable CONFIG_ARM_LPAE for multi_v7_config
@ 2023-01-19 15:09     ` Arnd Bergmann
  0 siblings, 0 replies; 60+ messages in thread
From: Arnd Bergmann @ 2023-01-19 15:09 UTC (permalink / raw)
  To: Alexander Stein, Rob Herring, Krzysztof Kozlowski,
	Olof Johansson, Shawn Guo, Li Yang, Russell King, Marek Vasut,
	Marcel Ziswiler
  Cc: soc, devicetree, linux-arm-kernel

On Thu, Jan 19, 2023, at 15:42, Alexander Stein wrote:
> This is necessary to support PCIe on LS1021A.
>
> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>

Can you explain why this is actually required? I can see that the
ranges in the PCIe device point to a high address (0x4000000000,
2^40), but I can't tell if this is hardwired in the SoC or a
setting that is applied by software (either the bootloader or
the PCIe driver).

If you can reprogram the memory map, I would expect this to fit
easily into the 32-bit address space, with 1GB for DDR3 memory
and 1GB for PCIe BARs.

I don't mind having a defconfig with LPAE enabled, I think this
can be done using a Makefile target that applies a config
fragment on top of the normal multi_v7_defconfig, you can find
some examples in arch/powerpc/configs/*.config.

   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] 60+ messages in thread

* Re: [PATCH 9/9] [DNI] ARM: multi_v7_defconfig: Enable CONFIG_ARM_LPAE for multi_v7_config
  2023-01-19 15:09     ` Arnd Bergmann
@ 2023-01-19 15:27       ` Alexander Stein
  -1 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-19 15:27 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Olof Johansson, Shawn Guo,
	Li Yang, Russell King, Marek Vasut, Marcel Ziswiler,
	Arnd Bergmann
  Cc: soc, devicetree, linux-arm-kernel

Hi Arnd,

thanks for the fast response.

Am Donnerstag, 19. Januar 2023, 16:09:05 CET schrieb Arnd Bergmann:
> On Thu, Jan 19, 2023, at 15:42, Alexander Stein wrote:
> > This is necessary to support PCIe on LS1021A.
> > 
> > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> 
> Can you explain why this is actually required? I can see that the
> ranges in the PCIe device point to a high address (0x4000000000,
> 2^40), but I can't tell if this is hardwired in the SoC or a
> setting that is applied by software (either the bootloader or
> the PCIe driver).

The RM ([1]) memory map (Table 2-1) says that 'PCI Express 1' is located at 
'400000_0000', 'PCI Express 2' at '480000_0000', so I assume this is hardcoded 
in SoC.
It also explicitly lists in that table PCIe 1&2 is only accessible with 40-bit 
addressing.

> If you can reprogram the memory map, I would expect this to fit
> easily into the 32-bit address space, with 1GB for DDR3 memory
> and 1GB for PCIe BARs.

I'm not sure which part of memory map you can reprogram and where, but I guess 
this is fixed on this SoC.

> I don't mind having a defconfig with LPAE enabled, I think this
> can be done using a Makefile target that applies a config
> fragment on top of the normal multi_v7_defconfig, you can find
> some examples in arch/powerpc/configs/*.config.

Ah, nice. This can be a good starter. Thanks.

Best regards,
Alexander

[1] https://www.nxp.com/webapp/Download?colCode=LS1021ARM




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

* Re: [PATCH 9/9] [DNI] ARM: multi_v7_defconfig: Enable CONFIG_ARM_LPAE for multi_v7_config
@ 2023-01-19 15:27       ` Alexander Stein
  0 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-19 15:27 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Olof Johansson, Shawn Guo,
	Li Yang, Russell King, Marek Vasut, Marcel Ziswiler,
	Arnd Bergmann
  Cc: soc, devicetree, linux-arm-kernel

Hi Arnd,

thanks for the fast response.

Am Donnerstag, 19. Januar 2023, 16:09:05 CET schrieb Arnd Bergmann:
> On Thu, Jan 19, 2023, at 15:42, Alexander Stein wrote:
> > This is necessary to support PCIe on LS1021A.
> > 
> > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> 
> Can you explain why this is actually required? I can see that the
> ranges in the PCIe device point to a high address (0x4000000000,
> 2^40), but I can't tell if this is hardwired in the SoC or a
> setting that is applied by software (either the bootloader or
> the PCIe driver).

The RM ([1]) memory map (Table 2-1) says that 'PCI Express 1' is located at 
'400000_0000', 'PCI Express 2' at '480000_0000', so I assume this is hardcoded 
in SoC.
It also explicitly lists in that table PCIe 1&2 is only accessible with 40-bit 
addressing.

> If you can reprogram the memory map, I would expect this to fit
> easily into the 32-bit address space, with 1GB for DDR3 memory
> and 1GB for PCIe BARs.

I'm not sure which part of memory map you can reprogram and where, but I guess 
this is fixed on this SoC.

> I don't mind having a defconfig with LPAE enabled, I think this
> can be done using a Makefile target that applies a config
> fragment on top of the normal multi_v7_defconfig, you can find
> some examples in arch/powerpc/configs/*.config.

Ah, nice. This can be a good starter. Thanks.

Best regards,
Alexander

[1] https://www.nxp.com/webapp/Download?colCode=LS1021ARM




_______________________________________________
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] 60+ messages in thread

* Re: [PATCH 9/9] [DNI] ARM: multi_v7_defconfig: Enable CONFIG_ARM_LPAE for multi_v7_config
  2023-01-19 14:42   ` Alexander Stein
@ 2023-01-19 16:00     ` Russell King (Oracle)
  -1 siblings, 0 replies; 60+ messages in thread
From: Russell King (Oracle) @ 2023-01-19 16:00 UTC (permalink / raw)
  To: Alexander Stein
  Cc: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Marek Vasut, Marcel Ziswiler, soc,
	devicetree, linux-arm-kernel

On Thu, Jan 19, 2023 at 03:42:36PM +0100, Alexander Stein wrote:
> This is necessary to support PCIe on LS1021A.
> 
> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> ---
>  arch/arm/configs/multi_v7_defconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
> index 441a449172368..f0757f05ec2c2 100644
> --- a/arch/arm/configs/multi_v7_defconfig
> +++ b/arch/arm/configs/multi_v7_defconfig
> @@ -105,6 +105,7 @@ CONFIG_ARCH_VEXPRESS=y
>  CONFIG_ARCH_VEXPRESS_TC2_PM=y
>  CONFIG_ARCH_WM8850=y
>  CONFIG_ARCH_ZYNQ=y
> +CONFIG_ARM_LPAE=y
>  CONFIG_SMP=y
>  CONFIG_NR_CPUS=16
>  CONFIG_ARM_APPENDED_DTB=y

Enabling LPAE will break multi_v7 on CPUs that do not support LPAE,
such as Cortex A9, rendering iMX6 platforms unbootable with this
defconfig.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

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

* Re: [PATCH 9/9] [DNI] ARM: multi_v7_defconfig: Enable CONFIG_ARM_LPAE for multi_v7_config
@ 2023-01-19 16:00     ` Russell King (Oracle)
  0 siblings, 0 replies; 60+ messages in thread
From: Russell King (Oracle) @ 2023-01-19 16:00 UTC (permalink / raw)
  To: Alexander Stein
  Cc: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Marek Vasut, Marcel Ziswiler, soc,
	devicetree, linux-arm-kernel

On Thu, Jan 19, 2023 at 03:42:36PM +0100, Alexander Stein wrote:
> This is necessary to support PCIe on LS1021A.
> 
> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> ---
>  arch/arm/configs/multi_v7_defconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
> index 441a449172368..f0757f05ec2c2 100644
> --- a/arch/arm/configs/multi_v7_defconfig
> +++ b/arch/arm/configs/multi_v7_defconfig
> @@ -105,6 +105,7 @@ CONFIG_ARCH_VEXPRESS=y
>  CONFIG_ARCH_VEXPRESS_TC2_PM=y
>  CONFIG_ARCH_WM8850=y
>  CONFIG_ARCH_ZYNQ=y
> +CONFIG_ARM_LPAE=y
>  CONFIG_SMP=y
>  CONFIG_NR_CPUS=16
>  CONFIG_ARM_APPENDED_DTB=y

Enabling LPAE will break multi_v7 on CPUs that do not support LPAE,
such as Cortex A9, rendering iMX6 platforms unbootable with this
defconfig.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

_______________________________________________
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] 60+ messages in thread

* Re: [PATCH 9/9] [DNI] ARM: multi_v7_defconfig: Enable CONFIG_ARM_LPAE for multi_v7_config
  2023-01-19 15:27       ` Alexander Stein
@ 2023-01-19 16:07         ` Arnd Bergmann
  -1 siblings, 0 replies; 60+ messages in thread
From: Arnd Bergmann @ 2023-01-19 16:07 UTC (permalink / raw)
  To: Alexander Stein, Rob Herring, Krzysztof Kozlowski,
	Olof Johansson, Shawn Guo, Li Yang, Russell King, Marek Vasut,
	Marcel Ziswiler
  Cc: soc, devicetree, linux-arm-kernel

On Thu, Jan 19, 2023, at 16:27, Alexander Stein wrote:
> Am Donnerstag, 19. Januar 2023, 16:09:05 CET schrieb Arnd Bergmann:
>> On Thu, Jan 19, 2023, at 15:42, Alexander Stein wrote:
>> > This is necessary to support PCIe on LS1021A.
>> > 
>> > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
>> 
>> Can you explain why this is actually required? I can see that the
>> ranges in the PCIe device point to a high address (0x4000000000,
>> 2^40), but I can't tell if this is hardwired in the SoC or a
>> setting that is applied by software (either the bootloader or
>> the PCIe driver).
>
> The RM ([1]) memory map (Table 2-1) says that 'PCI Express 1' is located at 
> '400000_0000', 'PCI Express 2' at '480000_0000', so I assume this is hardcoded 
> in SoC.
> It also explicitly lists in that table PCIe 1&2 is only accessible with 40-bit 
> addressing.
>
>> If you can reprogram the memory map, I would expect this to fit
>> easily into the 32-bit address space, with 1GB for DDR3 memory
>> and 1GB for PCIe BARs.
>
> I'm not sure which part of memory map you can reprogram and where, but I guess 
> this is fixed on this SoC.

Ok, I see it now. It looks like they fell victim to the 
cursed "Principles of ARM® Memory Maps White Paper"
document and messed it up even further ;-)

In particular, it seems that the memory map of the PCI address
spaces is configurable, but only within that area you listed.
I see that section "28.4.2 PEX register descriptions" does list
a 64-bit prefetchable address space in addition to the 32-bit
non-prefetchable memory space, but the 64-bit space is not
listed in the DT. It would be a good idea to configure that
as well in order for devices to work that need a larger BAR,
such as a GPU, but it wouldn't help with fitting the PCIe
into non-LPAE 32-bit CPU address space.

In the datasheet I also see that the chip theoretically
supports 8GB of DDR4, which would definitely put it beyond
the highmem limit, even with the 4G:4G memory split. Do you
know if there are ls1021a devices with more than 4GB of
installed memory?

    Arnd

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

* Re: [PATCH 9/9] [DNI] ARM: multi_v7_defconfig: Enable CONFIG_ARM_LPAE for multi_v7_config
@ 2023-01-19 16:07         ` Arnd Bergmann
  0 siblings, 0 replies; 60+ messages in thread
From: Arnd Bergmann @ 2023-01-19 16:07 UTC (permalink / raw)
  To: Alexander Stein, Rob Herring, Krzysztof Kozlowski,
	Olof Johansson, Shawn Guo, Li Yang, Russell King, Marek Vasut,
	Marcel Ziswiler
  Cc: soc, devicetree, linux-arm-kernel

On Thu, Jan 19, 2023, at 16:27, Alexander Stein wrote:
> Am Donnerstag, 19. Januar 2023, 16:09:05 CET schrieb Arnd Bergmann:
>> On Thu, Jan 19, 2023, at 15:42, Alexander Stein wrote:
>> > This is necessary to support PCIe on LS1021A.
>> > 
>> > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
>> 
>> Can you explain why this is actually required? I can see that the
>> ranges in the PCIe device point to a high address (0x4000000000,
>> 2^40), but I can't tell if this is hardwired in the SoC or a
>> setting that is applied by software (either the bootloader or
>> the PCIe driver).
>
> The RM ([1]) memory map (Table 2-1) says that 'PCI Express 1' is located at 
> '400000_0000', 'PCI Express 2' at '480000_0000', so I assume this is hardcoded 
> in SoC.
> It also explicitly lists in that table PCIe 1&2 is only accessible with 40-bit 
> addressing.
>
>> If you can reprogram the memory map, I would expect this to fit
>> easily into the 32-bit address space, with 1GB for DDR3 memory
>> and 1GB for PCIe BARs.
>
> I'm not sure which part of memory map you can reprogram and where, but I guess 
> this is fixed on this SoC.

Ok, I see it now. It looks like they fell victim to the 
cursed "Principles of ARM® Memory Maps White Paper"
document and messed it up even further ;-)

In particular, it seems that the memory map of the PCI address
spaces is configurable, but only within that area you listed.
I see that section "28.4.2 PEX register descriptions" does list
a 64-bit prefetchable address space in addition to the 32-bit
non-prefetchable memory space, but the 64-bit space is not
listed in the DT. It would be a good idea to configure that
as well in order for devices to work that need a larger BAR,
such as a GPU, but it wouldn't help with fitting the PCIe
into non-LPAE 32-bit CPU address space.

In the datasheet I also see that the chip theoretically
supports 8GB of DDR4, which would definitely put it beyond
the highmem limit, even with the 4G:4G memory split. Do you
know if there are ls1021a devices with more than 4GB of
installed memory?

    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] 60+ messages in thread

* Re: [PATCH 1/9] dt-bindings: arm: fsl: add TQ-Systems LS1021A board
  2023-01-19 14:42   ` Alexander Stein
@ 2023-01-19 16:59     ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 60+ messages in thread
From: Krzysztof Kozlowski @ 2023-01-19 16:59 UTC (permalink / raw)
  To: Alexander Stein, Rob Herring, Krzysztof Kozlowski, Arnd Bergmann,
	Olof Johansson, Shawn Guo, Li Yang, Russell King, Marek Vasut,
	Marcel Ziswiler
  Cc: Matthias Schiffer, soc, devicetree, linux-arm-kernel

On 19/01/2023 15:42, Alexander Stein wrote:
> From: Matthias Schiffer <matthias.schiffer@tq-group.com>
> 
> TQMLS102xA is a SOM family using NXP LS1021A CPU family.
> MBLS102xA is an evaluation mainbord for this SOM.

typo: mainboard

> 
> Signed-off-by: Matthias Schiffer <matthias.schiffer@tq-group.com>
> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> ---
>  Documentation/devicetree/bindings/arm/fsl.yaml | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
> index 3ba354578e8f9..b54a920934c9d 100644
> --- a/Documentation/devicetree/bindings/arm/fsl.yaml
> +++ b/Documentation/devicetree/bindings/arm/fsl.yaml
> @@ -1164,6 +1164,13 @@ properties:
>                - fsl,ls1021a-twr
>            - const: fsl,ls1021a
>  
> +      - description: TQ-Systems TQMLS1021A SoM on MBLS102xA board
> +        items:
> +          - enum:
> +              - tq,ls1021a-tqmls1021a-mbls102xa

Can mbls102xa come with something else than tqmls1021a?


> +          - const: tq,ls1021a-tqmls1021a

Why duplicating ls1021a? Can tqmls1021a come with something else? This
is redundant.

> +          - const: fsl,ls1021a
> +
>        - description: LS1028A based Boards
>          items:
>            - enum:

Best regards,
Krzysztof


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

* Re: [PATCH 1/9] dt-bindings: arm: fsl: add TQ-Systems LS1021A board
@ 2023-01-19 16:59     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 60+ messages in thread
From: Krzysztof Kozlowski @ 2023-01-19 16:59 UTC (permalink / raw)
  To: Alexander Stein, Rob Herring, Krzysztof Kozlowski, Arnd Bergmann,
	Olof Johansson, Shawn Guo, Li Yang, Russell King, Marek Vasut,
	Marcel Ziswiler
  Cc: Matthias Schiffer, soc, devicetree, linux-arm-kernel

On 19/01/2023 15:42, Alexander Stein wrote:
> From: Matthias Schiffer <matthias.schiffer@tq-group.com>
> 
> TQMLS102xA is a SOM family using NXP LS1021A CPU family.
> MBLS102xA is an evaluation mainbord for this SOM.

typo: mainboard

> 
> Signed-off-by: Matthias Schiffer <matthias.schiffer@tq-group.com>
> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> ---
>  Documentation/devicetree/bindings/arm/fsl.yaml | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
> index 3ba354578e8f9..b54a920934c9d 100644
> --- a/Documentation/devicetree/bindings/arm/fsl.yaml
> +++ b/Documentation/devicetree/bindings/arm/fsl.yaml
> @@ -1164,6 +1164,13 @@ properties:
>                - fsl,ls1021a-twr
>            - const: fsl,ls1021a
>  
> +      - description: TQ-Systems TQMLS1021A SoM on MBLS102xA board
> +        items:
> +          - enum:
> +              - tq,ls1021a-tqmls1021a-mbls102xa

Can mbls102xa come with something else than tqmls1021a?


> +          - const: tq,ls1021a-tqmls1021a

Why duplicating ls1021a? Can tqmls1021a come with something else? This
is redundant.

> +          - const: fsl,ls1021a
> +
>        - description: LS1028A based Boards
>          items:
>            - enum:

Best regards,
Krzysztof


_______________________________________________
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] 60+ messages in thread

* Re: [PATCH 2/9] ARM: dts: ls1021a: add TQ-Systems MBLS102xA device tree
  2023-01-19 14:42   ` Alexander Stein
@ 2023-01-19 17:03     ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 60+ messages in thread
From: Krzysztof Kozlowski @ 2023-01-19 17:03 UTC (permalink / raw)
  To: Alexander Stein, Rob Herring, Krzysztof Kozlowski, Arnd Bergmann,
	Olof Johansson, Shawn Guo, Li Yang, Russell King, Marek Vasut,
	Marcel Ziswiler
  Cc: soc, devicetree, linux-arm-kernel

On 19/01/2023 15:42, Alexander Stein wrote:
> Add device tree for the MBLS102xA mainboard with TQMLS1021A SoM.
> 
> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> ---
>  arch/arm/boot/dts/Makefile                    |   1 +
>  .../boot/dts/ls1021a-tqmls1021a-mbls1021a.dts | 409 ++++++++++++++++++
>  arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi     |  93 ++++
>  3 files changed, 503 insertions(+)
>  create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts
>  create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index d0c07867aeabe..44b5ed44b13d6 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -802,6 +802,7 @@ dtb-$(CONFIG_SOC_LS1021A) += \
>  	ls1021a-iot.dtb \
>  	ls1021a-moxa-uc-8410a.dtb \
>  	ls1021a-qds.dtb \
> +	ls1021a-tqmls1021a-mbls1021a.dtb \
>  	ls1021a-tsn.dtb \
>  	ls1021a-twr.dtb
>  dtb-$(CONFIG_SOC_VF610) += \
> diff --git a/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts
> new file mode 100644
> index 0000000000000..21da171b9f38e
> --- /dev/null
> +++ b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts
> @@ -0,0 +1,409 @@
> +// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
> +/*
> + * Copyright 2013-2014 Freescale Semiconductor, Inc.
> + * Copyright 2018-2023 TQ-Systems GmbH <linux@ew.tq-group.com>,
> + * D-82229 Seefeld, Germany.
> + * Author: Alexander Stein
> + */
> +
> +/dts-v1/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/linux-event-codes.h>
> +#include <dt-bindings/leds/common.h>
> +#include <dt-bindings/leds/leds-pca9532.h>
> +#include <dt-bindings/net/ti-dp83867.h>
> +#include "ls1021a-tqmls1021a.dtsi"
> +
> +/ {
> +	model = "TQMLS102xA SOM on MBLS102xA";
> +	compatible = "tq,ls1021a-tqmls1021a-mbls102xa", "tq,ls1021a-tqmls1021a", "fsl,ls1021a";
> +
> +	audio_mclk: audio-clock {
> +		compatible = "fixed-clock";
> +		#clock-cells = <0>;
> +		clock-frequency = <25000000>;
> +	};
> +
> +	backlight_dcu: backlight {
> +		compatible = "gpio-backlight";
> +		gpios = <&pca9530 0 GPIO_ACTIVE_LOW>;
> +		status = "disabled";
> +	};
> +
> +	gpio-keys {
> +		compatible = "gpio-keys";
> +		autorepeat;
> +
> +		switch-1 {
> +			label = "S6";
> +			linux,code = <BTN_0>;
> +			gpios = <&pca9554_0 0 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		btn2: switch-2 {
> +			label = "S7";
> +			linux,code = <BTN_1>;
> +			gpios = <&pca9554_0 1 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		switch-3 {
> +			label = "S8";
> +			linux,code = <BTN_2>;
> +			gpios = <&pca9554_0 2 GPIO_ACTIVE_LOW>;
> +		};
> +	};
> +
> +	gpio_leds: gpio-leds {
> +		compatible = "gpio-leds";
> +
> +		led-0 {
> +			color = <LED_COLOR_ID_GREEN>;
> +			function = LED_FUNCTION_STATUS;
> +			function-enumerator = <0>;
> +			gpios = <&pca9554_2 4 GPIO_ACTIVE_LOW>;
> +			linux,default-trigger = "default-on";
> +		};
> +
> +		led-1 {
> +			color = <LED_COLOR_ID_GREEN>;
> +			function = LED_FUNCTION_STATUS;
> +			function-enumerator = <1>;
> +			gpios = <&pca9554_2 5 GPIO_ACTIVE_LOW>;
> +			linux,default-trigger = "default-on";
> +		};
> +
> +		led-2 {
> +			color = <LED_COLOR_ID_GREEN>;
> +			function = LED_FUNCTION_STATUS;
> +			function-enumerator = <2>;
> +			gpios = <&pca9554_2 6 GPIO_ACTIVE_LOW>;
> +			linux,default-trigger = "default-on";
> +		};
> +
> +		led-3 {
> +			color = <LED_COLOR_ID_GREEN>;
> +			function = LED_FUNCTION_HEARTBEAT;
> +			function-enumerator = <0>;
> +			gpios = <&pca9554_2 7 GPIO_ACTIVE_LOW>;
> +			linux,default-trigger = "heartbeat";
> +		};
> +	};
> +
> +	lvds_encoder: lvds-encoder {
> +		compatible = "ti,sn75lvds83", "lvds-encoder";
> +		power-supply = <&reg_3p3v>;
> +		status = "disabled";
> +
> +		ports {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			port@0 {
> +				reg = <0>;
> +
> +				lvds_encoder_in: endpoint {};
> +			};
> +
> +			port@1 {
> +				reg = <1>;
> +
> +				lvds_encoder_out: endpoint {};
> +			};
> +		};
> +	};
> +
> +	reg_1p2v: regulator-1p2v {
> +		compatible = "regulator-fixed";
> +		regulator-name = "1P2V";
> +		regulator-min-microvolt = <1200000>;
> +		regulator-max-microvolt = <1200000>;
> +		regulator-always-on;
> +		vin-supply = <&reg_3p3v>;
> +	};
> +
> +	reg_3p3v: regulator-3p3v {
> +		compatible = "regulator-fixed";
> +		regulator-name = "3P3V";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		regulator-always-on;
> +	};
> +
> +	hdmi_out: hdmi {
> +		compatible = "hdmi-connector";
> +		type = "a";
> +		ddc-i2c-bus = <&i2c0>;
> +		status = "disabled";
> +
> +		port {
> +			hdmi_in: endpoint {
> +				remote-endpoint = <&sii9022a_out>;
> +			};
> +		};
> +	};
> +
> +	display: panel {
> +		backlight = <&backlight_dcu>;
> +		enable-gpios = <&pca9554_1 3 GPIO_ACTIVE_HIGH>;
> +		status = "disabled";
> +
> +		port {
> +			panel_in: endpoint {};
> +		};
> +	};
> +
> +	sound {
> +		compatible = "fsl,imx-audio-tlv320aic32x4";
> +		model = "ls1021a-mbls1021a-tlv320aic32";
> +		ssi-controller = <&sai1>;
> +		audio-codec = <&tlv320aic32x4>;
> +	};
> +
> +};
> +
> +&can0 {
> +	status = "okay";
> +	xceiver-supply = <&reg_3p3v>;
> +};
> +
> +&can1 {
> +	status = "okay";
> +	xceiver-supply = <&reg_3p3v>;
> +};
> +
> +&dspi0 {
> +	bus-num = <0>;
> +	status = "okay";
> +};
> +
> +&enet0 {
> +	phy-handle = <&rgmii_phy0c>;
> +	phy-mode = "rgmii-id";
> +	mac-address = [ 00 00 00 00 00 00 ];
> +	status = "okay";
> +};
> +
> +&enet1 {
> +	tbi-handle = <&tbi1>;
> +	phy-handle = <&sgmii_phy03>;
> +	phy-mode = "sgmii";
> +	mac-address = [ 00 00 00 00 00 00 ];
> +	status = "okay";
> +};
> +
> +&enet2 {
> +	phy-handle = <&rgmii_phy04>;
> +	phy-mode = "rgmii-id";
> +	mac-address = [ 00 00 00 00 00 00 ];
> +	status = "okay";
> +};
> +
> +&i2c0 {
> +	status = "okay";
> +
> +	tlv320aic32x4: audio-codec@18 {
> +		compatible = "ti,tlv320aic32x4";
> +		reg = <0x18>;
> +		clocks = <&audio_mclk>;
> +		clock-names = "mclk";
> +		ldoin-supply = <&reg_3p3v>;
> +		iov-supply = <&reg_3p3v>;
> +	};
> +
> +	pca9554_0: gpio-expander@20 {
> +		compatible = "nxp,pca9554";
> +		reg = <0x20>;
> +		gpio-controller;
> +		#gpio-cells = <2>;
> +		interrupt-parent = <&gpio0>;
> +		interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
> +		interrupt-controller;
> +		#interrupt-cells = <2>;
> +		vcc-supply = <&reg_3p3v>;
> +		gpio-line-names = "BUTTON0", "BUTTON1",
> +				  "BUTTON2", "EMMC_SEL",
> +				  "DIP2", "DIP3",
> +				  "EXT_TOUCH_INT", "GPIO_1";
> +	};
> +
> +	pca9554_1: gpio-expander@21 {
> +		compatible = "nxp,pca9554";
> +		reg = <0x21>;
> +		gpio-controller;
> +		#gpio-cells = <2>;
> +		interrupt-parent = <&gpio0>;
> +		interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
> +		interrupt-controller;
> +		#interrupt-cells = <2>;
> +		vcc-supply = <&reg_3p3v>;
> +		gpio-line-names = "PCIE_PWR_EN", "MPCIE_DISABLE#",
> +				  "MPCIE_WAKE#", "LCD_BLT_EN",
> +				  "LCD_PWR_EN", "EC1_PHY_PWDN",
> +				  "EC3_PHY_PWDN", "SGMII_PHY_PWDN";
> +	};
> +
> +	pca9554_2: gpio-expander@22 {
> +		compatible = "nxp,pca9554";
> +		reg = <0x22>;
> +		gpio-controller;
> +		#gpio-cells = <2>;
> +		interrupt-parent = <&extirq>;
> +		interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
> +		interrupt-controller;
> +		#interrupt-cells = <2>;
> +		vcc-supply = <&reg_3p3v>;
> +		gpio-line-names = "MUX_SEL0", "MUX_SEL1",
> +				  "MUX_SEL2", "MUX_SEL3",
> +				  "V95", "V96", "V97", "V98";
> +	};
> +
> +	sii9022a: hdmi-transmitter@3b {
> +		compatible = "sil,sii9022";
> +		reg = <0x3b>;
> +		iovcc-supply = <&reg_3p3v>;
> +		cvcc12-supply = <&reg_1p2v>;
> +		interrupts = <GIC_SPI 167 IRQ_TYPE_EDGE_RISING>;
> +		#sound-dai-cells = <0>;
> +		sil,i2s-data-lanes = <0>;
> +		status = "disabled";
> +
> +		ports {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			port@0 {
> +				reg = <0>;
> +
> +				sii9022a_in: endpoint {};
> +			};
> +
> +			port@1 {
> +				reg = <1>;
> +
> +				sii9022a_out: endpoint {
> +					remote-endpoint = <&hdmi_in>;
> +				};
> +			};
> +		};
> +	};
> +
> +	stmpe811: touchscreen@41 {
> +		compatible = "st,stmpe811";
> +		reg = <0x41>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		interrupt-parent = <&gpio0>;
> +		interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
> +		vcc-supply = <&reg_3p3v>;
> +		vio-supply = <&reg_3p3v>;
> +		status = "okay";

Drop, why do you need it?

> +
> +		stmpe_gpio {

No underscores in node names, generic node names, so "gpio". Does
anything depend on odd naming?

> +			compatible = "st,stmpe-gpio";
> +			gpio-controller;
> +			#gpio-cells = <2>;
> +			/* GPIO 5-7 used for touch */
> +			st,norequest-mask = <0xf0>;
> +			gpio-line-names = "GPIO_ADC_I2C1_1",
> +					  "GPIO_ADC_I2C1_2",
> +					  "GPIO_ADC_I2C1_3",
> +					  "GPIO_ADC_I2C1_4";
> +		};
> +
> +		stmpe_touchscreen {

Same problems.

> +			compatible = "st,stmpe-ts";
> +			status = "disabled";
> +		};
> +	};
> +
> +	pca9530: leds@60 {
> +		compatible = "nxp,pca9530";
> +		reg = <0x60>;
> +		gpio-controller;
> +		#gpio-cells = <2>;
> +		gpio-line-names = "PWM_0", "PWM_1";
> +
> +		gpio_pwm_0 {

No underscores in node names, generic node names. This is neither GPIO
nor PWM.

> +			label = "pca9530:pwm0";
> +			type = <PCA9532_TYPE_GPIO>;
> +		};
> +
> +		gpio_pwm_1 {
> +			label = "pca9530:pwm1";
> +			type = <PCA9532_TYPE_GPIO>;
> +		};
> +	};
> +
> +};
> +
> +&i2c1 {
> +	status = "okay";
> +};
> +
> +&lpuart0 {
> +	status = "okay";
> +	linux,rs485-enabled-at-boot-time;
> +};
> +
> +&mdio0 {
> +	sgmii_phy03: ethernet-phy@3 {
> +		compatible = "ethernet-phy-ieee802.3-c22";
> +		reg = <0x03>;
> +		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
> +		ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
> +		ti,dp83867-rxctrl-strap-quirk;
> +	};
> +
> +	rgmii_phy04: ethernet-phy@4 {
> +		compatible = "ethernet-phy-ieee802.3-c22";
> +		reg = <0x04>;
> +		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>;
> +		ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
> +		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
> +		ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
> +	};
> +
> +	rgmii_phy0c: ethernet-phy@c {
> +		compatible = "ethernet-phy-ieee802.3-c22";
> +		reg = <0x0c>;
> +		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>;
> +		ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
> +		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
> +		ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
> +	};
> +};
> +
> +&pwm6 {
> +	status = "okay";
> +};
> +
> +&pwm7 {
> +	status = "okay";
> +};
> +
> +&sai1 {
> +	status = "okay";
> +};
> +
> +&sata {
> +	/delete-property/ dma-coherent;
> +	status = "okay";
> +};
> +
> +&uart0 {
> +	status = "okay";
> +};
> +
> +&uart1 {
> +	status = "okay";
> +};
> +
> +&usb3 {
> +	/*
> +	 * Although DR connector, VBUS is always driven, so
> +	 * restrict to host mode.
> +	 */
> +	dr_mode = "host";
> +	status = "okay";
> +};
> diff --git a/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi b/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
> new file mode 100644
> index 0000000000000..1ab518c489252
> --- /dev/null
> +++ b/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
> @@ -0,0 +1,93 @@
> +// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
> +/*
> + * Copyright 2013-2014 Freescale Semiconductor, Inc.
> + * Copyright 2018-2023 TQ-Systems GmbH <linux@ew.tq-group.com>,
> + * D-82229 Seefeld, Germany.
> + * Author: Alexander Stein
> + */
> +
> +#include "ls1021a.dtsi"
> +
> +/ {
> +	model = "TQMLS102xA SOM";
> +	compatible = "tq,ls1021a-tqmls1021a", "fsl,ls1021a";
> +
> +	reg_3p3v_som: regulator-3p3v-som {
> +		compatible = "regulator-fixed";
> +		regulator-name = "3P3V_SOM";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		regulator-always-on;
> +	};
> +};
> +
> +&esdhc {
> +	compatible = "fsl,esdhc", "fsl,ls1021a-esdhc";
> +	/* e-MMC over 8 data lines */
> +	bus-width = <8>;
> +	status = "okay";
> +};
> +
> +&i2c0 {
> +	status = "okay";
> +
> +	mc34vr500: pmic@8 {
> +		reg = <0x08>;

No compatible? What's this?

> +		status = "disabled";
> +	};
> +
> +	pmc0: pmc@11 {

No compatible? What's this?

> +		reg = <0x11>;
> +		status = "disabled";
> +	};
> +
> +	sa56004: temperature-sensor@4c {
> +		compatible = "nxp,sa56004";
> +		reg = <0x4c>;
> +		vcc-supply = <&reg_3p3v_som>;
> +	};
> +
> +	adm1069: supervisor@4f {

No compatible? What's this?

> +		reg = <0x4f>;
> +		status = "disabled";
> +	};
> +
> +	rtc0: rtc@51 {
> +		compatible = "nxp,pcf85063a";
> +		quartz-load-femtofarads = <12500>;
> +		reg = <0x51>;

Reg is second property

> +	};
> +
> +	m24c64_54: eeprom@54 {
> +		compatible = "atmel,24c64";
> +		reg = <0x54>;
> +		pagesize = <32>;
> +		read-only;
> +		vcc-supply = <&reg_3p3v_som>;
> +	};
> +};
Best regards,
Krzysztof


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

* Re: [PATCH 2/9] ARM: dts: ls1021a: add TQ-Systems MBLS102xA device tree
@ 2023-01-19 17:03     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 60+ messages in thread
From: Krzysztof Kozlowski @ 2023-01-19 17:03 UTC (permalink / raw)
  To: Alexander Stein, Rob Herring, Krzysztof Kozlowski, Arnd Bergmann,
	Olof Johansson, Shawn Guo, Li Yang, Russell King, Marek Vasut,
	Marcel Ziswiler
  Cc: soc, devicetree, linux-arm-kernel

On 19/01/2023 15:42, Alexander Stein wrote:
> Add device tree for the MBLS102xA mainboard with TQMLS1021A SoM.
> 
> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> ---
>  arch/arm/boot/dts/Makefile                    |   1 +
>  .../boot/dts/ls1021a-tqmls1021a-mbls1021a.dts | 409 ++++++++++++++++++
>  arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi     |  93 ++++
>  3 files changed, 503 insertions(+)
>  create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts
>  create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index d0c07867aeabe..44b5ed44b13d6 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -802,6 +802,7 @@ dtb-$(CONFIG_SOC_LS1021A) += \
>  	ls1021a-iot.dtb \
>  	ls1021a-moxa-uc-8410a.dtb \
>  	ls1021a-qds.dtb \
> +	ls1021a-tqmls1021a-mbls1021a.dtb \
>  	ls1021a-tsn.dtb \
>  	ls1021a-twr.dtb
>  dtb-$(CONFIG_SOC_VF610) += \
> diff --git a/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts
> new file mode 100644
> index 0000000000000..21da171b9f38e
> --- /dev/null
> +++ b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts
> @@ -0,0 +1,409 @@
> +// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
> +/*
> + * Copyright 2013-2014 Freescale Semiconductor, Inc.
> + * Copyright 2018-2023 TQ-Systems GmbH <linux@ew.tq-group.com>,
> + * D-82229 Seefeld, Germany.
> + * Author: Alexander Stein
> + */
> +
> +/dts-v1/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/linux-event-codes.h>
> +#include <dt-bindings/leds/common.h>
> +#include <dt-bindings/leds/leds-pca9532.h>
> +#include <dt-bindings/net/ti-dp83867.h>
> +#include "ls1021a-tqmls1021a.dtsi"
> +
> +/ {
> +	model = "TQMLS102xA SOM on MBLS102xA";
> +	compatible = "tq,ls1021a-tqmls1021a-mbls102xa", "tq,ls1021a-tqmls1021a", "fsl,ls1021a";
> +
> +	audio_mclk: audio-clock {
> +		compatible = "fixed-clock";
> +		#clock-cells = <0>;
> +		clock-frequency = <25000000>;
> +	};
> +
> +	backlight_dcu: backlight {
> +		compatible = "gpio-backlight";
> +		gpios = <&pca9530 0 GPIO_ACTIVE_LOW>;
> +		status = "disabled";
> +	};
> +
> +	gpio-keys {
> +		compatible = "gpio-keys";
> +		autorepeat;
> +
> +		switch-1 {
> +			label = "S6";
> +			linux,code = <BTN_0>;
> +			gpios = <&pca9554_0 0 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		btn2: switch-2 {
> +			label = "S7";
> +			linux,code = <BTN_1>;
> +			gpios = <&pca9554_0 1 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		switch-3 {
> +			label = "S8";
> +			linux,code = <BTN_2>;
> +			gpios = <&pca9554_0 2 GPIO_ACTIVE_LOW>;
> +		};
> +	};
> +
> +	gpio_leds: gpio-leds {
> +		compatible = "gpio-leds";
> +
> +		led-0 {
> +			color = <LED_COLOR_ID_GREEN>;
> +			function = LED_FUNCTION_STATUS;
> +			function-enumerator = <0>;
> +			gpios = <&pca9554_2 4 GPIO_ACTIVE_LOW>;
> +			linux,default-trigger = "default-on";
> +		};
> +
> +		led-1 {
> +			color = <LED_COLOR_ID_GREEN>;
> +			function = LED_FUNCTION_STATUS;
> +			function-enumerator = <1>;
> +			gpios = <&pca9554_2 5 GPIO_ACTIVE_LOW>;
> +			linux,default-trigger = "default-on";
> +		};
> +
> +		led-2 {
> +			color = <LED_COLOR_ID_GREEN>;
> +			function = LED_FUNCTION_STATUS;
> +			function-enumerator = <2>;
> +			gpios = <&pca9554_2 6 GPIO_ACTIVE_LOW>;
> +			linux,default-trigger = "default-on";
> +		};
> +
> +		led-3 {
> +			color = <LED_COLOR_ID_GREEN>;
> +			function = LED_FUNCTION_HEARTBEAT;
> +			function-enumerator = <0>;
> +			gpios = <&pca9554_2 7 GPIO_ACTIVE_LOW>;
> +			linux,default-trigger = "heartbeat";
> +		};
> +	};
> +
> +	lvds_encoder: lvds-encoder {
> +		compatible = "ti,sn75lvds83", "lvds-encoder";
> +		power-supply = <&reg_3p3v>;
> +		status = "disabled";
> +
> +		ports {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			port@0 {
> +				reg = <0>;
> +
> +				lvds_encoder_in: endpoint {};
> +			};
> +
> +			port@1 {
> +				reg = <1>;
> +
> +				lvds_encoder_out: endpoint {};
> +			};
> +		};
> +	};
> +
> +	reg_1p2v: regulator-1p2v {
> +		compatible = "regulator-fixed";
> +		regulator-name = "1P2V";
> +		regulator-min-microvolt = <1200000>;
> +		regulator-max-microvolt = <1200000>;
> +		regulator-always-on;
> +		vin-supply = <&reg_3p3v>;
> +	};
> +
> +	reg_3p3v: regulator-3p3v {
> +		compatible = "regulator-fixed";
> +		regulator-name = "3P3V";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		regulator-always-on;
> +	};
> +
> +	hdmi_out: hdmi {
> +		compatible = "hdmi-connector";
> +		type = "a";
> +		ddc-i2c-bus = <&i2c0>;
> +		status = "disabled";
> +
> +		port {
> +			hdmi_in: endpoint {
> +				remote-endpoint = <&sii9022a_out>;
> +			};
> +		};
> +	};
> +
> +	display: panel {
> +		backlight = <&backlight_dcu>;
> +		enable-gpios = <&pca9554_1 3 GPIO_ACTIVE_HIGH>;
> +		status = "disabled";
> +
> +		port {
> +			panel_in: endpoint {};
> +		};
> +	};
> +
> +	sound {
> +		compatible = "fsl,imx-audio-tlv320aic32x4";
> +		model = "ls1021a-mbls1021a-tlv320aic32";
> +		ssi-controller = <&sai1>;
> +		audio-codec = <&tlv320aic32x4>;
> +	};
> +
> +};
> +
> +&can0 {
> +	status = "okay";
> +	xceiver-supply = <&reg_3p3v>;
> +};
> +
> +&can1 {
> +	status = "okay";
> +	xceiver-supply = <&reg_3p3v>;
> +};
> +
> +&dspi0 {
> +	bus-num = <0>;
> +	status = "okay";
> +};
> +
> +&enet0 {
> +	phy-handle = <&rgmii_phy0c>;
> +	phy-mode = "rgmii-id";
> +	mac-address = [ 00 00 00 00 00 00 ];
> +	status = "okay";
> +};
> +
> +&enet1 {
> +	tbi-handle = <&tbi1>;
> +	phy-handle = <&sgmii_phy03>;
> +	phy-mode = "sgmii";
> +	mac-address = [ 00 00 00 00 00 00 ];
> +	status = "okay";
> +};
> +
> +&enet2 {
> +	phy-handle = <&rgmii_phy04>;
> +	phy-mode = "rgmii-id";
> +	mac-address = [ 00 00 00 00 00 00 ];
> +	status = "okay";
> +};
> +
> +&i2c0 {
> +	status = "okay";
> +
> +	tlv320aic32x4: audio-codec@18 {
> +		compatible = "ti,tlv320aic32x4";
> +		reg = <0x18>;
> +		clocks = <&audio_mclk>;
> +		clock-names = "mclk";
> +		ldoin-supply = <&reg_3p3v>;
> +		iov-supply = <&reg_3p3v>;
> +	};
> +
> +	pca9554_0: gpio-expander@20 {
> +		compatible = "nxp,pca9554";
> +		reg = <0x20>;
> +		gpio-controller;
> +		#gpio-cells = <2>;
> +		interrupt-parent = <&gpio0>;
> +		interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
> +		interrupt-controller;
> +		#interrupt-cells = <2>;
> +		vcc-supply = <&reg_3p3v>;
> +		gpio-line-names = "BUTTON0", "BUTTON1",
> +				  "BUTTON2", "EMMC_SEL",
> +				  "DIP2", "DIP3",
> +				  "EXT_TOUCH_INT", "GPIO_1";
> +	};
> +
> +	pca9554_1: gpio-expander@21 {
> +		compatible = "nxp,pca9554";
> +		reg = <0x21>;
> +		gpio-controller;
> +		#gpio-cells = <2>;
> +		interrupt-parent = <&gpio0>;
> +		interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
> +		interrupt-controller;
> +		#interrupt-cells = <2>;
> +		vcc-supply = <&reg_3p3v>;
> +		gpio-line-names = "PCIE_PWR_EN", "MPCIE_DISABLE#",
> +				  "MPCIE_WAKE#", "LCD_BLT_EN",
> +				  "LCD_PWR_EN", "EC1_PHY_PWDN",
> +				  "EC3_PHY_PWDN", "SGMII_PHY_PWDN";
> +	};
> +
> +	pca9554_2: gpio-expander@22 {
> +		compatible = "nxp,pca9554";
> +		reg = <0x22>;
> +		gpio-controller;
> +		#gpio-cells = <2>;
> +		interrupt-parent = <&extirq>;
> +		interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
> +		interrupt-controller;
> +		#interrupt-cells = <2>;
> +		vcc-supply = <&reg_3p3v>;
> +		gpio-line-names = "MUX_SEL0", "MUX_SEL1",
> +				  "MUX_SEL2", "MUX_SEL3",
> +				  "V95", "V96", "V97", "V98";
> +	};
> +
> +	sii9022a: hdmi-transmitter@3b {
> +		compatible = "sil,sii9022";
> +		reg = <0x3b>;
> +		iovcc-supply = <&reg_3p3v>;
> +		cvcc12-supply = <&reg_1p2v>;
> +		interrupts = <GIC_SPI 167 IRQ_TYPE_EDGE_RISING>;
> +		#sound-dai-cells = <0>;
> +		sil,i2s-data-lanes = <0>;
> +		status = "disabled";
> +
> +		ports {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			port@0 {
> +				reg = <0>;
> +
> +				sii9022a_in: endpoint {};
> +			};
> +
> +			port@1 {
> +				reg = <1>;
> +
> +				sii9022a_out: endpoint {
> +					remote-endpoint = <&hdmi_in>;
> +				};
> +			};
> +		};
> +	};
> +
> +	stmpe811: touchscreen@41 {
> +		compatible = "st,stmpe811";
> +		reg = <0x41>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		interrupt-parent = <&gpio0>;
> +		interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
> +		vcc-supply = <&reg_3p3v>;
> +		vio-supply = <&reg_3p3v>;
> +		status = "okay";

Drop, why do you need it?

> +
> +		stmpe_gpio {

No underscores in node names, generic node names, so "gpio". Does
anything depend on odd naming?

> +			compatible = "st,stmpe-gpio";
> +			gpio-controller;
> +			#gpio-cells = <2>;
> +			/* GPIO 5-7 used for touch */
> +			st,norequest-mask = <0xf0>;
> +			gpio-line-names = "GPIO_ADC_I2C1_1",
> +					  "GPIO_ADC_I2C1_2",
> +					  "GPIO_ADC_I2C1_3",
> +					  "GPIO_ADC_I2C1_4";
> +		};
> +
> +		stmpe_touchscreen {

Same problems.

> +			compatible = "st,stmpe-ts";
> +			status = "disabled";
> +		};
> +	};
> +
> +	pca9530: leds@60 {
> +		compatible = "nxp,pca9530";
> +		reg = <0x60>;
> +		gpio-controller;
> +		#gpio-cells = <2>;
> +		gpio-line-names = "PWM_0", "PWM_1";
> +
> +		gpio_pwm_0 {

No underscores in node names, generic node names. This is neither GPIO
nor PWM.

> +			label = "pca9530:pwm0";
> +			type = <PCA9532_TYPE_GPIO>;
> +		};
> +
> +		gpio_pwm_1 {
> +			label = "pca9530:pwm1";
> +			type = <PCA9532_TYPE_GPIO>;
> +		};
> +	};
> +
> +};
> +
> +&i2c1 {
> +	status = "okay";
> +};
> +
> +&lpuart0 {
> +	status = "okay";
> +	linux,rs485-enabled-at-boot-time;
> +};
> +
> +&mdio0 {
> +	sgmii_phy03: ethernet-phy@3 {
> +		compatible = "ethernet-phy-ieee802.3-c22";
> +		reg = <0x03>;
> +		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
> +		ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
> +		ti,dp83867-rxctrl-strap-quirk;
> +	};
> +
> +	rgmii_phy04: ethernet-phy@4 {
> +		compatible = "ethernet-phy-ieee802.3-c22";
> +		reg = <0x04>;
> +		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>;
> +		ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
> +		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
> +		ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
> +	};
> +
> +	rgmii_phy0c: ethernet-phy@c {
> +		compatible = "ethernet-phy-ieee802.3-c22";
> +		reg = <0x0c>;
> +		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>;
> +		ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
> +		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
> +		ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
> +	};
> +};
> +
> +&pwm6 {
> +	status = "okay";
> +};
> +
> +&pwm7 {
> +	status = "okay";
> +};
> +
> +&sai1 {
> +	status = "okay";
> +};
> +
> +&sata {
> +	/delete-property/ dma-coherent;
> +	status = "okay";
> +};
> +
> +&uart0 {
> +	status = "okay";
> +};
> +
> +&uart1 {
> +	status = "okay";
> +};
> +
> +&usb3 {
> +	/*
> +	 * Although DR connector, VBUS is always driven, so
> +	 * restrict to host mode.
> +	 */
> +	dr_mode = "host";
> +	status = "okay";
> +};
> diff --git a/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi b/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
> new file mode 100644
> index 0000000000000..1ab518c489252
> --- /dev/null
> +++ b/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
> @@ -0,0 +1,93 @@
> +// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
> +/*
> + * Copyright 2013-2014 Freescale Semiconductor, Inc.
> + * Copyright 2018-2023 TQ-Systems GmbH <linux@ew.tq-group.com>,
> + * D-82229 Seefeld, Germany.
> + * Author: Alexander Stein
> + */
> +
> +#include "ls1021a.dtsi"
> +
> +/ {
> +	model = "TQMLS102xA SOM";
> +	compatible = "tq,ls1021a-tqmls1021a", "fsl,ls1021a";
> +
> +	reg_3p3v_som: regulator-3p3v-som {
> +		compatible = "regulator-fixed";
> +		regulator-name = "3P3V_SOM";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		regulator-always-on;
> +	};
> +};
> +
> +&esdhc {
> +	compatible = "fsl,esdhc", "fsl,ls1021a-esdhc";
> +	/* e-MMC over 8 data lines */
> +	bus-width = <8>;
> +	status = "okay";
> +};
> +
> +&i2c0 {
> +	status = "okay";
> +
> +	mc34vr500: pmic@8 {
> +		reg = <0x08>;

No compatible? What's this?

> +		status = "disabled";
> +	};
> +
> +	pmc0: pmc@11 {

No compatible? What's this?

> +		reg = <0x11>;
> +		status = "disabled";
> +	};
> +
> +	sa56004: temperature-sensor@4c {
> +		compatible = "nxp,sa56004";
> +		reg = <0x4c>;
> +		vcc-supply = <&reg_3p3v_som>;
> +	};
> +
> +	adm1069: supervisor@4f {

No compatible? What's this?

> +		reg = <0x4f>;
> +		status = "disabled";
> +	};
> +
> +	rtc0: rtc@51 {
> +		compatible = "nxp,pcf85063a";
> +		quartz-load-femtofarads = <12500>;
> +		reg = <0x51>;

Reg is second property

> +	};
> +
> +	m24c64_54: eeprom@54 {
> +		compatible = "atmel,24c64";
> +		reg = <0x54>;
> +		pagesize = <32>;
> +		read-only;
> +		vcc-supply = <&reg_3p3v_som>;
> +	};
> +};
Best regards,
Krzysztof


_______________________________________________
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] 60+ messages in thread

* Re: [PATCH 8/9] ARM: multi_v7_defconfig: Add options to support TQMLS102xA series
  2023-01-19 14:42   ` Alexander Stein
@ 2023-01-19 17:04     ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 60+ messages in thread
From: Krzysztof Kozlowski @ 2023-01-19 17:04 UTC (permalink / raw)
  To: Alexander Stein, Rob Herring, Krzysztof Kozlowski, Arnd Bergmann,
	Olof Johansson, Shawn Guo, Li Yang, Russell King, Marek Vasut,
	Marcel Ziswiler
  Cc: soc, devicetree, linux-arm-kernel

On 19/01/2023 15:42, Alexander Stein wrote:
> This enables drivers used on TQMLS102xA + MBLS1021A.

Do not use "This (commit/patch)".
https://elixir.bootlin.com/linux/v5.17.1/source/Documentation/process/submitting-patches.rst#L95

> 
> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> ---
>  arch/arm/configs/multi_v7_defconfig | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
> index ee184eb37adcf..441a449172368 100644
> --- a/arch/arm/configs/multi_v7_defconfig
> +++ b/arch/arm/configs/multi_v7_defconfig
> @@ -191,6 +191,7 @@ CONFIG_PCI_TEGRA=y
>  CONFIG_PCI_RCAR_GEN2=y
>  CONFIG_PCIE_RCAR_HOST=y
>  CONFIG_PCI_DRA7XX_EP=y
> +CONFIG_PCI_LAYERSCAPE=y
>  CONFIG_PCI_ENDPOINT=y
>  CONFIG_PCI_ENDPOINT_CONFIGFS=y
>  CONFIG_PCI_EPF_TEST=m
> @@ -249,6 +250,7 @@ CONFIG_AHCI_ST=y
>  CONFIG_AHCI_IMX=y
>  CONFIG_AHCI_SUNXI=y
>  CONFIG_AHCI_TEGRA=y
> +CONFIG_AHCI_QORIQ=y
>  CONFIG_SATA_HIGHBANK=y
>  CONFIG_SATA_MV=y
>  CONFIG_SATA_RCAR=y
> @@ -329,6 +331,7 @@ CONFIG_TOUCHSCREEN_ADC=m
>  CONFIG_TOUCHSCREEN_ATMEL_MXT=m
>  CONFIG_TOUCHSCREEN_ELAN=m
>  CONFIG_TOUCHSCREEN_MMS114=m
> +CONFIG_TOUCHSCREEN_EDT_FT5X06=m
>  CONFIG_TOUCHSCREEN_WM97XX=m
>  CONFIG_TOUCHSCREEN_ST1232=m
>  CONFIG_TOUCHSCREEN_STMPE=y
> @@ -483,6 +486,7 @@ CONFIG_GPIO_ASPEED_SGPIO=y
>  CONFIG_GPIO_DAVINCI=y
>  CONFIG_GPIO_DWAPB=y
>  CONFIG_GPIO_EM=y
> +CONFIG_GPIO_MPC8XXX=y

module

>  CONFIG_GPIO_MXC=y
>  CONFIG_GPIO_RCAR=y
>  CONFIG_GPIO_SYSCON=y
> @@ -493,6 +497,7 @@ CONFIG_GPIO_PCA953X=y
>  CONFIG_GPIO_PCA953X_IRQ=y
>  CONFIG_GPIO_PCF857X=y
>  CONFIG_GPIO_PALMAS=y
> +CONFIG_GPIO_STMPE=y

module

>  CONFIG_GPIO_TPS6586X=y
>  CONFIG_GPIO_TPS65910=y
>  CONFIG_GPIO_TWL4030=y
> @@ -533,6 +538,7 @@ CONFIG_SENSORS_INA2XX=m
>  CONFIG_CPU_THERMAL=y
>  CONFIG_DEVFREQ_THERMAL=y
>  CONFIG_IMX_THERMAL=y
> +CONFIG_QORIQ_THERMAL=m
>  CONFIG_ROCKCHIP_THERMAL=y
>  CONFIG_RCAR_THERMAL=y
>  CONFIG_ARMADA_THERMAL=y
> @@ -821,6 +827,8 @@ CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
>  CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
>  CONFIG_SND_SOC_SGTL5000=m
>  CONFIG_SND_SOC_STI_SAS=m
> +CONFIG_SND_SOC_TLV320AIC32X4=m
> +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m
>  CONFIG_SND_SOC_WM8978=m
>  CONFIG_SND_AUDIO_GRAPH_CARD=m
>  CONFIG_USB=y
> @@ -830,6 +838,7 @@ CONFIG_USB_XHCI_MVEBU=y
>  CONFIG_USB_XHCI_TEGRA=m
>  CONFIG_USB_BRCMSTB=m
>  CONFIG_USB_EHCI_HCD=y
> +CONFIG_USB_EHCI_FSL=y

module

>  CONFIG_USB_EHCI_HCD_STI=y
>  CONFIG_USB_EHCI_EXYNOS=m
>  CONFIG_USB_EHCI_MV=m
> @@ -933,6 +942,8 @@ CONFIG_NEW_LEDS=y
>  CONFIG_LEDS_CLASS=y
>  CONFIG_LEDS_CLASS_FLASH=m
>  CONFIG_LEDS_CPCAP=m
> +CONFIG_LEDS_PCA9532=m
> +CONFIG_LEDS_PCA9532_GPIO=y
>  CONFIG_LEDS_GPIO=y
>  CONFIG_LEDS_PWM=y
>  CONFIG_LEDS_MAX8997=m
> @@ -949,6 +960,7 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
>  CONFIG_LEDS_TRIGGER_TRANSIENT=y
>  CONFIG_LEDS_TRIGGER_CAMERA=y
>  CONFIG_EDAC=y
> +CONFIG_EDAC_LAYERSCAPE=y
>  CONFIG_EDAC_HIGHBANK_MC=y
>  CONFIG_EDAC_HIGHBANK_L2=y
>  CONFIG_RTC_CLASS=y
> @@ -962,6 +974,7 @@ CONFIG_RTC_DRV_MAX8997=m
>  CONFIG_RTC_DRV_MAX77686=y
>  CONFIG_RTC_DRV_RK808=m
>  CONFIG_RTC_DRV_RS5C372=m
> +CONFIG_RTC_DRV_PCF85063=y

module

>  CONFIG_RTC_DRV_PCF85363=m
>  CONFIG_RTC_DRV_BQ32K=m
>  CONFIG_RTC_DRV_TWL4030=y

Best regards,
Krzysztof


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

* Re: [PATCH 8/9] ARM: multi_v7_defconfig: Add options to support TQMLS102xA series
@ 2023-01-19 17:04     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 60+ messages in thread
From: Krzysztof Kozlowski @ 2023-01-19 17:04 UTC (permalink / raw)
  To: Alexander Stein, Rob Herring, Krzysztof Kozlowski, Arnd Bergmann,
	Olof Johansson, Shawn Guo, Li Yang, Russell King, Marek Vasut,
	Marcel Ziswiler
  Cc: soc, devicetree, linux-arm-kernel

On 19/01/2023 15:42, Alexander Stein wrote:
> This enables drivers used on TQMLS102xA + MBLS1021A.

Do not use "This (commit/patch)".
https://elixir.bootlin.com/linux/v5.17.1/source/Documentation/process/submitting-patches.rst#L95

> 
> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> ---
>  arch/arm/configs/multi_v7_defconfig | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
> index ee184eb37adcf..441a449172368 100644
> --- a/arch/arm/configs/multi_v7_defconfig
> +++ b/arch/arm/configs/multi_v7_defconfig
> @@ -191,6 +191,7 @@ CONFIG_PCI_TEGRA=y
>  CONFIG_PCI_RCAR_GEN2=y
>  CONFIG_PCIE_RCAR_HOST=y
>  CONFIG_PCI_DRA7XX_EP=y
> +CONFIG_PCI_LAYERSCAPE=y
>  CONFIG_PCI_ENDPOINT=y
>  CONFIG_PCI_ENDPOINT_CONFIGFS=y
>  CONFIG_PCI_EPF_TEST=m
> @@ -249,6 +250,7 @@ CONFIG_AHCI_ST=y
>  CONFIG_AHCI_IMX=y
>  CONFIG_AHCI_SUNXI=y
>  CONFIG_AHCI_TEGRA=y
> +CONFIG_AHCI_QORIQ=y
>  CONFIG_SATA_HIGHBANK=y
>  CONFIG_SATA_MV=y
>  CONFIG_SATA_RCAR=y
> @@ -329,6 +331,7 @@ CONFIG_TOUCHSCREEN_ADC=m
>  CONFIG_TOUCHSCREEN_ATMEL_MXT=m
>  CONFIG_TOUCHSCREEN_ELAN=m
>  CONFIG_TOUCHSCREEN_MMS114=m
> +CONFIG_TOUCHSCREEN_EDT_FT5X06=m
>  CONFIG_TOUCHSCREEN_WM97XX=m
>  CONFIG_TOUCHSCREEN_ST1232=m
>  CONFIG_TOUCHSCREEN_STMPE=y
> @@ -483,6 +486,7 @@ CONFIG_GPIO_ASPEED_SGPIO=y
>  CONFIG_GPIO_DAVINCI=y
>  CONFIG_GPIO_DWAPB=y
>  CONFIG_GPIO_EM=y
> +CONFIG_GPIO_MPC8XXX=y

module

>  CONFIG_GPIO_MXC=y
>  CONFIG_GPIO_RCAR=y
>  CONFIG_GPIO_SYSCON=y
> @@ -493,6 +497,7 @@ CONFIG_GPIO_PCA953X=y
>  CONFIG_GPIO_PCA953X_IRQ=y
>  CONFIG_GPIO_PCF857X=y
>  CONFIG_GPIO_PALMAS=y
> +CONFIG_GPIO_STMPE=y

module

>  CONFIG_GPIO_TPS6586X=y
>  CONFIG_GPIO_TPS65910=y
>  CONFIG_GPIO_TWL4030=y
> @@ -533,6 +538,7 @@ CONFIG_SENSORS_INA2XX=m
>  CONFIG_CPU_THERMAL=y
>  CONFIG_DEVFREQ_THERMAL=y
>  CONFIG_IMX_THERMAL=y
> +CONFIG_QORIQ_THERMAL=m
>  CONFIG_ROCKCHIP_THERMAL=y
>  CONFIG_RCAR_THERMAL=y
>  CONFIG_ARMADA_THERMAL=y
> @@ -821,6 +827,8 @@ CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
>  CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
>  CONFIG_SND_SOC_SGTL5000=m
>  CONFIG_SND_SOC_STI_SAS=m
> +CONFIG_SND_SOC_TLV320AIC32X4=m
> +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m
>  CONFIG_SND_SOC_WM8978=m
>  CONFIG_SND_AUDIO_GRAPH_CARD=m
>  CONFIG_USB=y
> @@ -830,6 +838,7 @@ CONFIG_USB_XHCI_MVEBU=y
>  CONFIG_USB_XHCI_TEGRA=m
>  CONFIG_USB_BRCMSTB=m
>  CONFIG_USB_EHCI_HCD=y
> +CONFIG_USB_EHCI_FSL=y

module

>  CONFIG_USB_EHCI_HCD_STI=y
>  CONFIG_USB_EHCI_EXYNOS=m
>  CONFIG_USB_EHCI_MV=m
> @@ -933,6 +942,8 @@ CONFIG_NEW_LEDS=y
>  CONFIG_LEDS_CLASS=y
>  CONFIG_LEDS_CLASS_FLASH=m
>  CONFIG_LEDS_CPCAP=m
> +CONFIG_LEDS_PCA9532=m
> +CONFIG_LEDS_PCA9532_GPIO=y
>  CONFIG_LEDS_GPIO=y
>  CONFIG_LEDS_PWM=y
>  CONFIG_LEDS_MAX8997=m
> @@ -949,6 +960,7 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
>  CONFIG_LEDS_TRIGGER_TRANSIENT=y
>  CONFIG_LEDS_TRIGGER_CAMERA=y
>  CONFIG_EDAC=y
> +CONFIG_EDAC_LAYERSCAPE=y
>  CONFIG_EDAC_HIGHBANK_MC=y
>  CONFIG_EDAC_HIGHBANK_L2=y
>  CONFIG_RTC_CLASS=y
> @@ -962,6 +974,7 @@ CONFIG_RTC_DRV_MAX8997=m
>  CONFIG_RTC_DRV_MAX77686=y
>  CONFIG_RTC_DRV_RK808=m
>  CONFIG_RTC_DRV_RS5C372=m
> +CONFIG_RTC_DRV_PCF85063=y

module

>  CONFIG_RTC_DRV_PCF85363=m
>  CONFIG_RTC_DRV_BQ32K=m
>  CONFIG_RTC_DRV_TWL4030=y

Best regards,
Krzysztof


_______________________________________________
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] 60+ messages in thread

* Re: [PATCH 1/9] dt-bindings: arm: fsl: add TQ-Systems LS1021A board
  2023-01-19 16:59     ` Krzysztof Kozlowski
@ 2023-01-20  8:58       ` Alexander Stein
  -1 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-20  8:58 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler,
	Krzysztof Kozlowski
  Cc: Matthias Schiffer, soc, devicetree, linux-arm-kernel

Hi Krzysztof,

thanks for your feedback.

Am Donnerstag, 19. Januar 2023, 17:59:20 CET schrieb Krzysztof Kozlowski:
> On 19/01/2023 15:42, Alexander Stein wrote:
> > From: Matthias Schiffer <matthias.schiffer@tq-group.com>
> > 
> > TQMLS102xA is a SOM family using NXP LS1021A CPU family.
> > MBLS102xA is an evaluation mainbord for this SOM.
> 
> typo: mainboard

Thanks.

> > Signed-off-by: Matthias Schiffer <matthias.schiffer@tq-group.com>
> > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> > ---
> > 
> >  Documentation/devicetree/bindings/arm/fsl.yaml | 7 +++++++
> >  1 file changed, 7 insertions(+)
> > 
> > diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml
> > b/Documentation/devicetree/bindings/arm/fsl.yaml index
> > 3ba354578e8f9..b54a920934c9d 100644
> > --- a/Documentation/devicetree/bindings/arm/fsl.yaml
> > +++ b/Documentation/devicetree/bindings/arm/fsl.yaml
> > 
> > @@ -1164,6 +1164,13 @@ properties:
> >                - fsl,ls1021a-twr
> >            
> >            - const: fsl,ls1021a
> > 
> > +      - description: TQ-Systems TQMLS1021A SoM on MBLS102xA board
> > +        items:
> > +          - enum:
> > +              - tq,ls1021a-tqmls1021a-mbls102xa
> 
> Can mbls102xa come with something else than tqmls1021a?

I don't expect this. MBLS102xa is the starterkit carrier board for TQMLS1021A 
module. But the module can come on other custom carrier boards.
This name schema is similar to e.g. imx8mp-tqma8mpql-mba8mpxl.dts

> > +          - const: tq,ls1021a-tqmls1021a
> 
> Why duplicating ls1021a? Can tqmls1021a come with something else? This
> is redundant.

I agree this is somewhat redundant, but this follows the naming scheme 
'<vendor>,<soc>-<module>' which is rather widespread for i.MX boards/modules. 
TQMLS1021A is the module name I can't change, actually part of the series 
TQMLS102xA.

> > +          - const: fsl,ls1021a
> > +
> > 
> >        - description: LS1028A based Boards
> >        
> >          items:
> >            - enum:
> Best regards,
> Krzysztof

Best regards,
Alexander




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

* Re: [PATCH 1/9] dt-bindings: arm: fsl: add TQ-Systems LS1021A board
@ 2023-01-20  8:58       ` Alexander Stein
  0 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-20  8:58 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler,
	Krzysztof Kozlowski
  Cc: Matthias Schiffer, soc, devicetree, linux-arm-kernel

Hi Krzysztof,

thanks for your feedback.

Am Donnerstag, 19. Januar 2023, 17:59:20 CET schrieb Krzysztof Kozlowski:
> On 19/01/2023 15:42, Alexander Stein wrote:
> > From: Matthias Schiffer <matthias.schiffer@tq-group.com>
> > 
> > TQMLS102xA is a SOM family using NXP LS1021A CPU family.
> > MBLS102xA is an evaluation mainbord for this SOM.
> 
> typo: mainboard

Thanks.

> > Signed-off-by: Matthias Schiffer <matthias.schiffer@tq-group.com>
> > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> > ---
> > 
> >  Documentation/devicetree/bindings/arm/fsl.yaml | 7 +++++++
> >  1 file changed, 7 insertions(+)
> > 
> > diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml
> > b/Documentation/devicetree/bindings/arm/fsl.yaml index
> > 3ba354578e8f9..b54a920934c9d 100644
> > --- a/Documentation/devicetree/bindings/arm/fsl.yaml
> > +++ b/Documentation/devicetree/bindings/arm/fsl.yaml
> > 
> > @@ -1164,6 +1164,13 @@ properties:
> >                - fsl,ls1021a-twr
> >            
> >            - const: fsl,ls1021a
> > 
> > +      - description: TQ-Systems TQMLS1021A SoM on MBLS102xA board
> > +        items:
> > +          - enum:
> > +              - tq,ls1021a-tqmls1021a-mbls102xa
> 
> Can mbls102xa come with something else than tqmls1021a?

I don't expect this. MBLS102xa is the starterkit carrier board for TQMLS1021A 
module. But the module can come on other custom carrier boards.
This name schema is similar to e.g. imx8mp-tqma8mpql-mba8mpxl.dts

> > +          - const: tq,ls1021a-tqmls1021a
> 
> Why duplicating ls1021a? Can tqmls1021a come with something else? This
> is redundant.

I agree this is somewhat redundant, but this follows the naming scheme 
'<vendor>,<soc>-<module>' which is rather widespread for i.MX boards/modules. 
TQMLS1021A is the module name I can't change, actually part of the series 
TQMLS102xA.

> > +          - const: fsl,ls1021a
> > +
> > 
> >        - description: LS1028A based Boards
> >        
> >          items:
> >            - enum:
> Best regards,
> Krzysztof

Best regards,
Alexander




_______________________________________________
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] 60+ messages in thread

* Re: [PATCH 1/9] dt-bindings: arm: fsl: add TQ-Systems LS1021A board
  2023-01-20  8:58       ` Alexander Stein
@ 2023-01-20  9:07         ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 60+ messages in thread
From: Krzysztof Kozlowski @ 2023-01-20  9:07 UTC (permalink / raw)
  To: Alexander Stein, Rob Herring, Krzysztof Kozlowski, Arnd Bergmann,
	Olof Johansson, Shawn Guo, Li Yang, Russell King, Marek Vasut,
	Marcel Ziswiler
  Cc: Matthias Schiffer, soc, devicetree, linux-arm-kernel

On 20/01/2023 09:58, Alexander Stein wrote:
> Hi Krzysztof,
> 
> thanks for your feedback.
> 
> Am Donnerstag, 19. Januar 2023, 17:59:20 CET schrieb Krzysztof Kozlowski:
>> On 19/01/2023 15:42, Alexander Stein wrote:
>>> From: Matthias Schiffer <matthias.schiffer@tq-group.com>
>>>
>>> TQMLS102xA is a SOM family using NXP LS1021A CPU family.
>>> MBLS102xA is an evaluation mainbord for this SOM.
>>
>> typo: mainboard
> 
> Thanks.
> 
>>> Signed-off-by: Matthias Schiffer <matthias.schiffer@tq-group.com>
>>> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
>>> ---
>>>
>>>  Documentation/devicetree/bindings/arm/fsl.yaml | 7 +++++++
>>>  1 file changed, 7 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml
>>> b/Documentation/devicetree/bindings/arm/fsl.yaml index
>>> 3ba354578e8f9..b54a920934c9d 100644
>>> --- a/Documentation/devicetree/bindings/arm/fsl.yaml
>>> +++ b/Documentation/devicetree/bindings/arm/fsl.yaml
>>>
>>> @@ -1164,6 +1164,13 @@ properties:
>>>                - fsl,ls1021a-twr
>>>            
>>>            - const: fsl,ls1021a
>>>
>>> +      - description: TQ-Systems TQMLS1021A SoM on MBLS102xA board
>>> +        items:
>>> +          - enum:
>>> +              - tq,ls1021a-tqmls1021a-mbls102xa
>>
>> Can mbls102xa come with something else than tqmls1021a?
> 
> I don't expect this. MBLS102xa is the starterkit carrier board for TQMLS1021A 
> module. But the module can come on other custom carrier boards.
> This name schema is similar to e.g. imx8mp-tqma8mpql-mba8mpxl.dts

If mbls102xa has soldered module, I would drop some part of it. It's
really redundant. If it is a SoM, so module could be replaced, then it
would make sense.

> 
>>> +          - const: tq,ls1021a-tqmls1021a
>>
>> Why duplicating ls1021a? Can tqmls1021a come with something else? This
>> is redundant.
> 
> I agree this is somewhat redundant, but this follows the naming scheme 
> '<vendor>,<soc>-<module>' which is rather widespread for i.MX boards/modules. 
> TQMLS1021A is the module name I can't change, actually part of the series 
> TQMLS102xA.

Ah, you're right... the double ls1021a is a bit confusing but that's
indeed common pattern.

Best regards,
Krzysztof


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

* Re: [PATCH 1/9] dt-bindings: arm: fsl: add TQ-Systems LS1021A board
@ 2023-01-20  9:07         ` Krzysztof Kozlowski
  0 siblings, 0 replies; 60+ messages in thread
From: Krzysztof Kozlowski @ 2023-01-20  9:07 UTC (permalink / raw)
  To: Alexander Stein, Rob Herring, Krzysztof Kozlowski, Arnd Bergmann,
	Olof Johansson, Shawn Guo, Li Yang, Russell King, Marek Vasut,
	Marcel Ziswiler
  Cc: Matthias Schiffer, soc, devicetree, linux-arm-kernel

On 20/01/2023 09:58, Alexander Stein wrote:
> Hi Krzysztof,
> 
> thanks for your feedback.
> 
> Am Donnerstag, 19. Januar 2023, 17:59:20 CET schrieb Krzysztof Kozlowski:
>> On 19/01/2023 15:42, Alexander Stein wrote:
>>> From: Matthias Schiffer <matthias.schiffer@tq-group.com>
>>>
>>> TQMLS102xA is a SOM family using NXP LS1021A CPU family.
>>> MBLS102xA is an evaluation mainbord for this SOM.
>>
>> typo: mainboard
> 
> Thanks.
> 
>>> Signed-off-by: Matthias Schiffer <matthias.schiffer@tq-group.com>
>>> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
>>> ---
>>>
>>>  Documentation/devicetree/bindings/arm/fsl.yaml | 7 +++++++
>>>  1 file changed, 7 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml
>>> b/Documentation/devicetree/bindings/arm/fsl.yaml index
>>> 3ba354578e8f9..b54a920934c9d 100644
>>> --- a/Documentation/devicetree/bindings/arm/fsl.yaml
>>> +++ b/Documentation/devicetree/bindings/arm/fsl.yaml
>>>
>>> @@ -1164,6 +1164,13 @@ properties:
>>>                - fsl,ls1021a-twr
>>>            
>>>            - const: fsl,ls1021a
>>>
>>> +      - description: TQ-Systems TQMLS1021A SoM on MBLS102xA board
>>> +        items:
>>> +          - enum:
>>> +              - tq,ls1021a-tqmls1021a-mbls102xa
>>
>> Can mbls102xa come with something else than tqmls1021a?
> 
> I don't expect this. MBLS102xa is the starterkit carrier board for TQMLS1021A 
> module. But the module can come on other custom carrier boards.
> This name schema is similar to e.g. imx8mp-tqma8mpql-mba8mpxl.dts

If mbls102xa has soldered module, I would drop some part of it. It's
really redundant. If it is a SoM, so module could be replaced, then it
would make sense.

> 
>>> +          - const: tq,ls1021a-tqmls1021a
>>
>> Why duplicating ls1021a? Can tqmls1021a come with something else? This
>> is redundant.
> 
> I agree this is somewhat redundant, but this follows the naming scheme 
> '<vendor>,<soc>-<module>' which is rather widespread for i.MX boards/modules. 
> TQMLS1021A is the module name I can't change, actually part of the series 
> TQMLS102xA.

Ah, you're right... the double ls1021a is a bit confusing but that's
indeed common pattern.

Best regards,
Krzysztof


_______________________________________________
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] 60+ messages in thread

* Re: [PATCH 2/9] ARM: dts: ls1021a: add TQ-Systems MBLS102xA device tree
  2023-01-19 17:03     ` Krzysztof Kozlowski
@ 2023-01-20 10:08       ` Alexander Stein
  -1 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-20 10:08 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler,
	Krzysztof Kozlowski
  Cc: soc, devicetree, linux-arm-kernel

Hi Krzysztof,

thanks for the feedback.

Am Donnerstag, 19. Januar 2023, 18:03:14 CET schrieb Krzysztof Kozlowski:
> On 19/01/2023 15:42, Alexander Stein wrote:
> > Add device tree for the MBLS102xA mainboard with TQMLS1021A SoM.
> > 
> > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> > ---
> > 
> >  arch/arm/boot/dts/Makefile                    |   1 +
> >  .../boot/dts/ls1021a-tqmls1021a-mbls1021a.dts | 409 ++++++++++++++++++
> >  arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi     |  93 ++++
> >  3 files changed, 503 insertions(+)
> >  create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts
> >  create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
> > 
> > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> > index d0c07867aeabe..44b5ed44b13d6 100644
> > --- a/arch/arm/boot/dts/Makefile
> > +++ b/arch/arm/boot/dts/Makefile
> > @@ -802,6 +802,7 @@ dtb-$(CONFIG_SOC_LS1021A) += \
> > 
> >  	ls1021a-iot.dtb \
> >  	ls1021a-moxa-uc-8410a.dtb \
> >  	ls1021a-qds.dtb \
> > 
> > +	ls1021a-tqmls1021a-mbls1021a.dtb \
> > 
> >  	ls1021a-tsn.dtb \
> >  	ls1021a-twr.dtb
> >  
> >  dtb-$(CONFIG_SOC_VF610) += \
> > 
> > diff --git a/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts
> > b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts new file mode 100644
> > index 0000000000000..21da171b9f38e
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts
> > @@ -0,0 +1,409 @@
> > +// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
> > +/*
> > + * Copyright 2013-2014 Freescale Semiconductor, Inc.
> > + * Copyright 2018-2023 TQ-Systems GmbH <linux@ew.tq-group.com>,
> > + * D-82229 Seefeld, Germany.
> > + * Author: Alexander Stein
> > + */
> > +
> > +/dts-v1/;
> > +
> > +#include <dt-bindings/gpio/gpio.h>
> > +#include <dt-bindings/input/linux-event-codes.h>
> > +#include <dt-bindings/leds/common.h>
> > +#include <dt-bindings/leds/leds-pca9532.h>
> > +#include <dt-bindings/net/ti-dp83867.h>
> > +#include "ls1021a-tqmls1021a.dtsi"
> > +
> > +/ {
> > +	model = "TQMLS102xA SOM on MBLS102xA";
> > +	compatible = "tq,ls1021a-tqmls1021a-mbls102xa", "tq,ls1021a-
tqmls1021a",
> > "fsl,ls1021a"; +
> > +	audio_mclk: audio-clock {
> > +		compatible = "fixed-clock";
> > +		#clock-cells = <0>;
> > +		clock-frequency = <25000000>;
> > +	};
> > +
> > +	backlight_dcu: backlight {
> > +		compatible = "gpio-backlight";
> > +		gpios = <&pca9530 0 GPIO_ACTIVE_LOW>;
> > +		status = "disabled";
> > +	};
> > +
> > +	gpio-keys {
> > +		compatible = "gpio-keys";
> > +		autorepeat;
> > +
> > +		switch-1 {
> > +			label = "S6";
> > +			linux,code = <BTN_0>;
> > +			gpios = <&pca9554_0 0 GPIO_ACTIVE_LOW>;
> > +		};
> > +
> > +		btn2: switch-2 {
> > +			label = "S7";
> > +			linux,code = <BTN_1>;
> > +			gpios = <&pca9554_0 1 GPIO_ACTIVE_LOW>;
> > +		};
> > +
> > +		switch-3 {
> > +			label = "S8";
> > +			linux,code = <BTN_2>;
> > +			gpios = <&pca9554_0 2 GPIO_ACTIVE_LOW>;
> > +		};
> > +	};
> > +
> > +	gpio_leds: gpio-leds {
> > +		compatible = "gpio-leds";
> > +
> > +		led-0 {
> > +			color = <LED_COLOR_ID_GREEN>;
> > +			function = LED_FUNCTION_STATUS;
> > +			function-enumerator = <0>;
> > +			gpios = <&pca9554_2 4 GPIO_ACTIVE_LOW>;
> > +			linux,default-trigger = "default-on";
> > +		};
> > +
> > +		led-1 {
> > +			color = <LED_COLOR_ID_GREEN>;
> > +			function = LED_FUNCTION_STATUS;
> > +			function-enumerator = <1>;
> > +			gpios = <&pca9554_2 5 GPIO_ACTIVE_LOW>;
> > +			linux,default-trigger = "default-on";
> > +		};
> > +
> > +		led-2 {
> > +			color = <LED_COLOR_ID_GREEN>;
> > +			function = LED_FUNCTION_STATUS;
> > +			function-enumerator = <2>;
> > +			gpios = <&pca9554_2 6 GPIO_ACTIVE_LOW>;
> > +			linux,default-trigger = "default-on";
> > +		};
> > +
> > +		led-3 {
> > +			color = <LED_COLOR_ID_GREEN>;
> > +			function = LED_FUNCTION_HEARTBEAT;
> > +			function-enumerator = <0>;
> > +			gpios = <&pca9554_2 7 GPIO_ACTIVE_LOW>;
> > +			linux,default-trigger = "heartbeat";
> > +		};
> > +	};
> > +
> > +	lvds_encoder: lvds-encoder {
> > +		compatible = "ti,sn75lvds83", "lvds-encoder";
> > +		power-supply = <&reg_3p3v>;
> > +		status = "disabled";
> > +
> > +		ports {
> > +			#address-cells = <1>;
> > +			#size-cells = <0>;
> > +
> > +			port@0 {
> > +				reg = <0>;
> > +
> > +				lvds_encoder_in: endpoint {};
> > +			};
> > +
> > +			port@1 {
> > +				reg = <1>;
> > +
> > +				lvds_encoder_out: endpoint {};
> > +			};
> > +		};
> > +	};
> > +
> > +	reg_1p2v: regulator-1p2v {
> > +		compatible = "regulator-fixed";
> > +		regulator-name = "1P2V";
> > +		regulator-min-microvolt = <1200000>;
> > +		regulator-max-microvolt = <1200000>;
> > +		regulator-always-on;
> > +		vin-supply = <&reg_3p3v>;
> > +	};
> > +
> > +	reg_3p3v: regulator-3p3v {
> > +		compatible = "regulator-fixed";
> > +		regulator-name = "3P3V";
> > +		regulator-min-microvolt = <3300000>;
> > +		regulator-max-microvolt = <3300000>;
> > +		regulator-always-on;
> > +	};
> > +
> > +	hdmi_out: hdmi {
> > +		compatible = "hdmi-connector";
> > +		type = "a";
> > +		ddc-i2c-bus = <&i2c0>;
> > +		status = "disabled";
> > +
> > +		port {
> > +			hdmi_in: endpoint {
> > +				remote-endpoint = <&sii9022a_out>;
> > +			};
> > +		};
> > +	};
> > +
> > +	display: panel {
> > +		backlight = <&backlight_dcu>;
> > +		enable-gpios = <&pca9554_1 3 GPIO_ACTIVE_HIGH>;
> > +		status = "disabled";
> > +
> > +		port {
> > +			panel_in: endpoint {};
> > +		};
> > +	};
> > +
> > +	sound {
> > +		compatible = "fsl,imx-audio-tlv320aic32x4";
> > +		model = "ls1021a-mbls1021a-tlv320aic32";
> > +		ssi-controller = <&sai1>;
> > +		audio-codec = <&tlv320aic32x4>;
> > +	};
> > +
> > +};
> > +
> > +&can0 {
> > +	status = "okay";
> > +	xceiver-supply = <&reg_3p3v>;
> > +};
> > +
> > +&can1 {
> > +	status = "okay";
> > +	xceiver-supply = <&reg_3p3v>;
> > +};
> > +
> > +&dspi0 {
> > +	bus-num = <0>;
> > +	status = "okay";
> > +};
> > +
> > +&enet0 {
> > +	phy-handle = <&rgmii_phy0c>;
> > +	phy-mode = "rgmii-id";
> > +	mac-address = [ 00 00 00 00 00 00 ];
> > +	status = "okay";
> > +};
> > +
> > +&enet1 {
> > +	tbi-handle = <&tbi1>;
> > +	phy-handle = <&sgmii_phy03>;
> > +	phy-mode = "sgmii";
> > +	mac-address = [ 00 00 00 00 00 00 ];
> > +	status = "okay";
> > +};
> > +
> > +&enet2 {
> > +	phy-handle = <&rgmii_phy04>;
> > +	phy-mode = "rgmii-id";
> > +	mac-address = [ 00 00 00 00 00 00 ];
> > +	status = "okay";
> > +};
> > +
> > +&i2c0 {
> > +	status = "okay";
> > +
> > +	tlv320aic32x4: audio-codec@18 {
> > +		compatible = "ti,tlv320aic32x4";
> > +		reg = <0x18>;
> > +		clocks = <&audio_mclk>;
> > +		clock-names = "mclk";
> > +		ldoin-supply = <&reg_3p3v>;
> > +		iov-supply = <&reg_3p3v>;
> > +	};
> > +
> > +	pca9554_0: gpio-expander@20 {
> > +		compatible = "nxp,pca9554";
> > +		reg = <0x20>;
> > +		gpio-controller;
> > +		#gpio-cells = <2>;
> > +		interrupt-parent = <&gpio0>;
> > +		interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
> > +		interrupt-controller;
> > +		#interrupt-cells = <2>;
> > +		vcc-supply = <&reg_3p3v>;
> > +		gpio-line-names = "BUTTON0", "BUTTON1",
> > +				  "BUTTON2", "EMMC_SEL",
> > +				  "DIP2", "DIP3",
> > +				  "EXT_TOUCH_INT", "GPIO_1";
> > +	};
> > +
> > +	pca9554_1: gpio-expander@21 {
> > +		compatible = "nxp,pca9554";
> > +		reg = <0x21>;
> > +		gpio-controller;
> > +		#gpio-cells = <2>;
> > +		interrupt-parent = <&gpio0>;
> > +		interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
> > +		interrupt-controller;
> > +		#interrupt-cells = <2>;
> > +		vcc-supply = <&reg_3p3v>;
> > +		gpio-line-names = "PCIE_PWR_EN", "MPCIE_DISABLE#",
> > +				  "MPCIE_WAKE#", "LCD_BLT_EN",
> > +				  "LCD_PWR_EN", "EC1_PHY_PWDN",
> > +				  "EC3_PHY_PWDN", "SGMII_PHY_PWDN";
> > +	};
> > +
> > +	pca9554_2: gpio-expander@22 {
> > +		compatible = "nxp,pca9554";
> > +		reg = <0x22>;
> > +		gpio-controller;
> > +		#gpio-cells = <2>;
> > +		interrupt-parent = <&extirq>;
> > +		interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
> > +		interrupt-controller;
> > +		#interrupt-cells = <2>;
> > +		vcc-supply = <&reg_3p3v>;
> > +		gpio-line-names = "MUX_SEL0", "MUX_SEL1",
> > +				  "MUX_SEL2", "MUX_SEL3",
> > +				  "V95", "V96", "V97", "V98";
> > +	};
> > +
> > +	sii9022a: hdmi-transmitter@3b {
> > +		compatible = "sil,sii9022";
> > +		reg = <0x3b>;
> > +		iovcc-supply = <&reg_3p3v>;
> > +		cvcc12-supply = <&reg_1p2v>;
> > +		interrupts = <GIC_SPI 167 IRQ_TYPE_EDGE_RISING>;
> > +		#sound-dai-cells = <0>;
> > +		sil,i2s-data-lanes = <0>;
> > +		status = "disabled";
> > +
> > +		ports {
> > +			#address-cells = <1>;
> > +			#size-cells = <0>;
> > +
> > +			port@0 {
> > +				reg = <0>;
> > +
> > +				sii9022a_in: endpoint {};
> > +			};
> > +
> > +			port@1 {
> > +				reg = <1>;
> > +
> > +				sii9022a_out: endpoint {
> > +					remote-endpoint = 
<&hdmi_in>;
> > +				};
> > +			};
> > +		};
> > +	};
> > +
> > +	stmpe811: touchscreen@41 {
> > +		compatible = "st,stmpe811";
> > +		reg = <0x41>;
> > +		#address-cells = <1>;
> > +		#size-cells = <0>;
> > +		interrupt-parent = <&gpio0>;
> > +		interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
> > +		vcc-supply = <&reg_3p3v>;
> > +		vio-supply = <&reg_3p3v>;
> > +		status = "okay";
> 
> Drop, why do you need it?

Thanks, will drop it.

> > +
> > +		stmpe_gpio {
> 
> No underscores in node names, generic node names, so "gpio". Does
> anything depend on odd naming?

You are right, node names should have underscores, but in the end I was 
following the bindings (Documentation/devicetree/bindings/input/touchscreen/
stmpe.txt) naming 'stmpe_touchscreen' and 'stmpe_adc' in the example.
Each subdevice has it's own compatible, so there should be no issue.
Using just 'gpio' and 'touchscreen' below I didn't notice any difference.

> > +			compatible = "st,stmpe-gpio";
> > +			gpio-controller;
> > +			#gpio-cells = <2>;
> > +			/* GPIO 5-7 used for touch */
> > +			st,norequest-mask = <0xf0>;
> > +			gpio-line-names = "GPIO_ADC_I2C1_1",
> > +					  "GPIO_ADC_I2C1_2",
> > +					  "GPIO_ADC_I2C1_3",
> > +					  "GPIO_ADC_I2C1_4";
> > +		};
> > +
> > +		stmpe_touchscreen {
> 
> Same problems.

See above. When enabled driver loads fine.

> > +			compatible = "st,stmpe-ts";
> > +			status = "disabled";
> > +		};
> > +	};
> > +
> > +	pca9530: leds@60 {
> > +		compatible = "nxp,pca9530";
> > +		reg = <0x60>;
> > +		gpio-controller;
> > +		#gpio-cells = <2>;
> > +		gpio-line-names = "PWM_0", "PWM_1";
> > +
> > +		gpio_pwm_0 {
> 
> No underscores in node names, generic node names. This is neither GPIO
> nor PWM.

You are right, no underscores. Well, actually it's used as a GPIO for 
backlight brightness, on a signal called 'PWM_0'. But I'll go for 'led-0' and 
'led-1' for node names and remove the labels, as they are type GPIO.

> > +			label = "pca9530:pwm0";
> > +			type = <PCA9532_TYPE_GPIO>;
> > +		};
> > +
> > +		gpio_pwm_1 {
> > +			label = "pca9530:pwm1";
> > +			type = <PCA9532_TYPE_GPIO>;
> > +		};
> > +	};
> > +
> > +};
> > +
> > +&i2c1 {
> > +	status = "okay";
> > +};
> > +
> > +&lpuart0 {
> > +	status = "okay";
> > +	linux,rs485-enabled-at-boot-time;
> > +};
> > +
> > +&mdio0 {
> > +	sgmii_phy03: ethernet-phy@3 {
> > +		compatible = "ethernet-phy-ieee802.3-c22";
> > +		reg = <0x03>;
> > +		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
> > +		ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
> > +		ti,dp83867-rxctrl-strap-quirk;
> > +	};
> > +
> > +	rgmii_phy04: ethernet-phy@4 {
> > +		compatible = "ethernet-phy-ieee802.3-c22";
> > +		reg = <0x04>;
> > +		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>;
> > +		ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
> > +		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
> > +		ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
> > +	};
> > +
> > +	rgmii_phy0c: ethernet-phy@c {
> > +		compatible = "ethernet-phy-ieee802.3-c22";
> > +		reg = <0x0c>;
> > +		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>;
> > +		ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
> > +		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
> > +		ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
> > +	};
> > +};
> > +
> > +&pwm6 {
> > +	status = "okay";
> > +};
> > +
> > +&pwm7 {
> > +	status = "okay";
> > +};
> > +
> > +&sai1 {
> > +	status = "okay";
> > +};
> > +
> > +&sata {
> > +	/delete-property/ dma-coherent;
> > +	status = "okay";
> > +};
> > +
> > +&uart0 {
> > +	status = "okay";
> > +};
> > +
> > +&uart1 {
> > +	status = "okay";
> > +};
> > +
> > +&usb3 {
> > +	/*
> > +	 * Although DR connector, VBUS is always driven, so
> > +	 * restrict to host mode.
> > +	 */
> > +	dr_mode = "host";
> > +	status = "okay";
> > +};
> > diff --git a/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
> > b/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi new file mode 100644
> > index 0000000000000..1ab518c489252
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
> > @@ -0,0 +1,93 @@
> > +// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
> > +/*
> > + * Copyright 2013-2014 Freescale Semiconductor, Inc.
> > + * Copyright 2018-2023 TQ-Systems GmbH <linux@ew.tq-group.com>,
> > + * D-82229 Seefeld, Germany.
> > + * Author: Alexander Stein
> > + */
> > +
> > +#include "ls1021a.dtsi"
> > +
> > +/ {
> > +	model = "TQMLS102xA SOM";
> > +	compatible = "tq,ls1021a-tqmls1021a", "fsl,ls1021a";
> > +
> > +	reg_3p3v_som: regulator-3p3v-som {
> > +		compatible = "regulator-fixed";
> > +		regulator-name = "3P3V_SOM";
> > +		regulator-min-microvolt = <3300000>;
> > +		regulator-max-microvolt = <3300000>;
> > +		regulator-always-on;
> > +	};
> > +};
> > +
> > +&esdhc {
> > +	compatible = "fsl,esdhc", "fsl,ls1021a-esdhc";
> > +	/* e-MMC over 8 data lines */
> > +	bus-width = <8>;
> > +	status = "okay";
> > +};
> > +
> > +&i2c0 {
> > +	status = "okay";
> > +
> > +	mc34vr500: pmic@8 {
> > +		reg = <0x08>;
> 
> No compatible? What's this?

That's a DC/DC regulator on the module, currently without any driver support. 
It's controlled by the PMC, see below.

We had an internal discussion as well whether to state clients without a 
driver (and thus no compatible) on the i2c bus. What is the guidelines for DT?
The benefit stating, even without compatible, is to show there is some device 
on the bus.

> > +		status = "disabled";
> > +	};
> > +
> > +	pmc0: pmc@11 {
> 
> No compatible? What's this?

That's a PMC monitoring voltages using the DC/DC regulator from above. It's 
connected to i2c bus, but apparently there is no interface using this device.

> > +		reg = <0x11>;
> > +		status = "disabled";
> > +	};
> > +
> > +	sa56004: temperature-sensor@4c {
> > +		compatible = "nxp,sa56004";
> > +		reg = <0x4c>;
> > +		vcc-supply = <&reg_3p3v_som>;
> > +	};
> > +
> > +	adm1069: supervisor@4f {
> 
> No compatible? What's this?

Another monitor, similar to above connected to i2c bus but no actual interface 
to ARM cpu.

> > +		reg = <0x4f>;
> > +		status = "disabled";
> > +	};
> > +
> > +	rtc0: rtc@51 {
> > +		compatible = "nxp,pcf85063a";
> > +		quartz-load-femtofarads = <12500>;
> > +		reg = <0x51>;
> 
> Reg is second property

Sounds reasonable, thanks.

> > +	};
> > +
> > +	m24c64_54: eeprom@54 {
> > +		compatible = "atmel,24c64";
> > +		reg = <0x54>;
> > +		pagesize = <32>;
> > +		read-only;
> > +		vcc-supply = <&reg_3p3v_som>;
> > +	};
> > +};
> 
> Best regards,
> Krzysztof

Best regards,
Alexander




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

* Re: [PATCH 2/9] ARM: dts: ls1021a: add TQ-Systems MBLS102xA device tree
@ 2023-01-20 10:08       ` Alexander Stein
  0 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-20 10:08 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler,
	Krzysztof Kozlowski
  Cc: soc, devicetree, linux-arm-kernel

Hi Krzysztof,

thanks for the feedback.

Am Donnerstag, 19. Januar 2023, 18:03:14 CET schrieb Krzysztof Kozlowski:
> On 19/01/2023 15:42, Alexander Stein wrote:
> > Add device tree for the MBLS102xA mainboard with TQMLS1021A SoM.
> > 
> > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> > ---
> > 
> >  arch/arm/boot/dts/Makefile                    |   1 +
> >  .../boot/dts/ls1021a-tqmls1021a-mbls1021a.dts | 409 ++++++++++++++++++
> >  arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi     |  93 ++++
> >  3 files changed, 503 insertions(+)
> >  create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts
> >  create mode 100644 arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
> > 
> > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> > index d0c07867aeabe..44b5ed44b13d6 100644
> > --- a/arch/arm/boot/dts/Makefile
> > +++ b/arch/arm/boot/dts/Makefile
> > @@ -802,6 +802,7 @@ dtb-$(CONFIG_SOC_LS1021A) += \
> > 
> >  	ls1021a-iot.dtb \
> >  	ls1021a-moxa-uc-8410a.dtb \
> >  	ls1021a-qds.dtb \
> > 
> > +	ls1021a-tqmls1021a-mbls1021a.dtb \
> > 
> >  	ls1021a-tsn.dtb \
> >  	ls1021a-twr.dtb
> >  
> >  dtb-$(CONFIG_SOC_VF610) += \
> > 
> > diff --git a/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts
> > b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts new file mode 100644
> > index 0000000000000..21da171b9f38e
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts
> > @@ -0,0 +1,409 @@
> > +// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
> > +/*
> > + * Copyright 2013-2014 Freescale Semiconductor, Inc.
> > + * Copyright 2018-2023 TQ-Systems GmbH <linux@ew.tq-group.com>,
> > + * D-82229 Seefeld, Germany.
> > + * Author: Alexander Stein
> > + */
> > +
> > +/dts-v1/;
> > +
> > +#include <dt-bindings/gpio/gpio.h>
> > +#include <dt-bindings/input/linux-event-codes.h>
> > +#include <dt-bindings/leds/common.h>
> > +#include <dt-bindings/leds/leds-pca9532.h>
> > +#include <dt-bindings/net/ti-dp83867.h>
> > +#include "ls1021a-tqmls1021a.dtsi"
> > +
> > +/ {
> > +	model = "TQMLS102xA SOM on MBLS102xA";
> > +	compatible = "tq,ls1021a-tqmls1021a-mbls102xa", "tq,ls1021a-
tqmls1021a",
> > "fsl,ls1021a"; +
> > +	audio_mclk: audio-clock {
> > +		compatible = "fixed-clock";
> > +		#clock-cells = <0>;
> > +		clock-frequency = <25000000>;
> > +	};
> > +
> > +	backlight_dcu: backlight {
> > +		compatible = "gpio-backlight";
> > +		gpios = <&pca9530 0 GPIO_ACTIVE_LOW>;
> > +		status = "disabled";
> > +	};
> > +
> > +	gpio-keys {
> > +		compatible = "gpio-keys";
> > +		autorepeat;
> > +
> > +		switch-1 {
> > +			label = "S6";
> > +			linux,code = <BTN_0>;
> > +			gpios = <&pca9554_0 0 GPIO_ACTIVE_LOW>;
> > +		};
> > +
> > +		btn2: switch-2 {
> > +			label = "S7";
> > +			linux,code = <BTN_1>;
> > +			gpios = <&pca9554_0 1 GPIO_ACTIVE_LOW>;
> > +		};
> > +
> > +		switch-3 {
> > +			label = "S8";
> > +			linux,code = <BTN_2>;
> > +			gpios = <&pca9554_0 2 GPIO_ACTIVE_LOW>;
> > +		};
> > +	};
> > +
> > +	gpio_leds: gpio-leds {
> > +		compatible = "gpio-leds";
> > +
> > +		led-0 {
> > +			color = <LED_COLOR_ID_GREEN>;
> > +			function = LED_FUNCTION_STATUS;
> > +			function-enumerator = <0>;
> > +			gpios = <&pca9554_2 4 GPIO_ACTIVE_LOW>;
> > +			linux,default-trigger = "default-on";
> > +		};
> > +
> > +		led-1 {
> > +			color = <LED_COLOR_ID_GREEN>;
> > +			function = LED_FUNCTION_STATUS;
> > +			function-enumerator = <1>;
> > +			gpios = <&pca9554_2 5 GPIO_ACTIVE_LOW>;
> > +			linux,default-trigger = "default-on";
> > +		};
> > +
> > +		led-2 {
> > +			color = <LED_COLOR_ID_GREEN>;
> > +			function = LED_FUNCTION_STATUS;
> > +			function-enumerator = <2>;
> > +			gpios = <&pca9554_2 6 GPIO_ACTIVE_LOW>;
> > +			linux,default-trigger = "default-on";
> > +		};
> > +
> > +		led-3 {
> > +			color = <LED_COLOR_ID_GREEN>;
> > +			function = LED_FUNCTION_HEARTBEAT;
> > +			function-enumerator = <0>;
> > +			gpios = <&pca9554_2 7 GPIO_ACTIVE_LOW>;
> > +			linux,default-trigger = "heartbeat";
> > +		};
> > +	};
> > +
> > +	lvds_encoder: lvds-encoder {
> > +		compatible = "ti,sn75lvds83", "lvds-encoder";
> > +		power-supply = <&reg_3p3v>;
> > +		status = "disabled";
> > +
> > +		ports {
> > +			#address-cells = <1>;
> > +			#size-cells = <0>;
> > +
> > +			port@0 {
> > +				reg = <0>;
> > +
> > +				lvds_encoder_in: endpoint {};
> > +			};
> > +
> > +			port@1 {
> > +				reg = <1>;
> > +
> > +				lvds_encoder_out: endpoint {};
> > +			};
> > +		};
> > +	};
> > +
> > +	reg_1p2v: regulator-1p2v {
> > +		compatible = "regulator-fixed";
> > +		regulator-name = "1P2V";
> > +		regulator-min-microvolt = <1200000>;
> > +		regulator-max-microvolt = <1200000>;
> > +		regulator-always-on;
> > +		vin-supply = <&reg_3p3v>;
> > +	};
> > +
> > +	reg_3p3v: regulator-3p3v {
> > +		compatible = "regulator-fixed";
> > +		regulator-name = "3P3V";
> > +		regulator-min-microvolt = <3300000>;
> > +		regulator-max-microvolt = <3300000>;
> > +		regulator-always-on;
> > +	};
> > +
> > +	hdmi_out: hdmi {
> > +		compatible = "hdmi-connector";
> > +		type = "a";
> > +		ddc-i2c-bus = <&i2c0>;
> > +		status = "disabled";
> > +
> > +		port {
> > +			hdmi_in: endpoint {
> > +				remote-endpoint = <&sii9022a_out>;
> > +			};
> > +		};
> > +	};
> > +
> > +	display: panel {
> > +		backlight = <&backlight_dcu>;
> > +		enable-gpios = <&pca9554_1 3 GPIO_ACTIVE_HIGH>;
> > +		status = "disabled";
> > +
> > +		port {
> > +			panel_in: endpoint {};
> > +		};
> > +	};
> > +
> > +	sound {
> > +		compatible = "fsl,imx-audio-tlv320aic32x4";
> > +		model = "ls1021a-mbls1021a-tlv320aic32";
> > +		ssi-controller = <&sai1>;
> > +		audio-codec = <&tlv320aic32x4>;
> > +	};
> > +
> > +};
> > +
> > +&can0 {
> > +	status = "okay";
> > +	xceiver-supply = <&reg_3p3v>;
> > +};
> > +
> > +&can1 {
> > +	status = "okay";
> > +	xceiver-supply = <&reg_3p3v>;
> > +};
> > +
> > +&dspi0 {
> > +	bus-num = <0>;
> > +	status = "okay";
> > +};
> > +
> > +&enet0 {
> > +	phy-handle = <&rgmii_phy0c>;
> > +	phy-mode = "rgmii-id";
> > +	mac-address = [ 00 00 00 00 00 00 ];
> > +	status = "okay";
> > +};
> > +
> > +&enet1 {
> > +	tbi-handle = <&tbi1>;
> > +	phy-handle = <&sgmii_phy03>;
> > +	phy-mode = "sgmii";
> > +	mac-address = [ 00 00 00 00 00 00 ];
> > +	status = "okay";
> > +};
> > +
> > +&enet2 {
> > +	phy-handle = <&rgmii_phy04>;
> > +	phy-mode = "rgmii-id";
> > +	mac-address = [ 00 00 00 00 00 00 ];
> > +	status = "okay";
> > +};
> > +
> > +&i2c0 {
> > +	status = "okay";
> > +
> > +	tlv320aic32x4: audio-codec@18 {
> > +		compatible = "ti,tlv320aic32x4";
> > +		reg = <0x18>;
> > +		clocks = <&audio_mclk>;
> > +		clock-names = "mclk";
> > +		ldoin-supply = <&reg_3p3v>;
> > +		iov-supply = <&reg_3p3v>;
> > +	};
> > +
> > +	pca9554_0: gpio-expander@20 {
> > +		compatible = "nxp,pca9554";
> > +		reg = <0x20>;
> > +		gpio-controller;
> > +		#gpio-cells = <2>;
> > +		interrupt-parent = <&gpio0>;
> > +		interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
> > +		interrupt-controller;
> > +		#interrupt-cells = <2>;
> > +		vcc-supply = <&reg_3p3v>;
> > +		gpio-line-names = "BUTTON0", "BUTTON1",
> > +				  "BUTTON2", "EMMC_SEL",
> > +				  "DIP2", "DIP3",
> > +				  "EXT_TOUCH_INT", "GPIO_1";
> > +	};
> > +
> > +	pca9554_1: gpio-expander@21 {
> > +		compatible = "nxp,pca9554";
> > +		reg = <0x21>;
> > +		gpio-controller;
> > +		#gpio-cells = <2>;
> > +		interrupt-parent = <&gpio0>;
> > +		interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
> > +		interrupt-controller;
> > +		#interrupt-cells = <2>;
> > +		vcc-supply = <&reg_3p3v>;
> > +		gpio-line-names = "PCIE_PWR_EN", "MPCIE_DISABLE#",
> > +				  "MPCIE_WAKE#", "LCD_BLT_EN",
> > +				  "LCD_PWR_EN", "EC1_PHY_PWDN",
> > +				  "EC3_PHY_PWDN", "SGMII_PHY_PWDN";
> > +	};
> > +
> > +	pca9554_2: gpio-expander@22 {
> > +		compatible = "nxp,pca9554";
> > +		reg = <0x22>;
> > +		gpio-controller;
> > +		#gpio-cells = <2>;
> > +		interrupt-parent = <&extirq>;
> > +		interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
> > +		interrupt-controller;
> > +		#interrupt-cells = <2>;
> > +		vcc-supply = <&reg_3p3v>;
> > +		gpio-line-names = "MUX_SEL0", "MUX_SEL1",
> > +				  "MUX_SEL2", "MUX_SEL3",
> > +				  "V95", "V96", "V97", "V98";
> > +	};
> > +
> > +	sii9022a: hdmi-transmitter@3b {
> > +		compatible = "sil,sii9022";
> > +		reg = <0x3b>;
> > +		iovcc-supply = <&reg_3p3v>;
> > +		cvcc12-supply = <&reg_1p2v>;
> > +		interrupts = <GIC_SPI 167 IRQ_TYPE_EDGE_RISING>;
> > +		#sound-dai-cells = <0>;
> > +		sil,i2s-data-lanes = <0>;
> > +		status = "disabled";
> > +
> > +		ports {
> > +			#address-cells = <1>;
> > +			#size-cells = <0>;
> > +
> > +			port@0 {
> > +				reg = <0>;
> > +
> > +				sii9022a_in: endpoint {};
> > +			};
> > +
> > +			port@1 {
> > +				reg = <1>;
> > +
> > +				sii9022a_out: endpoint {
> > +					remote-endpoint = 
<&hdmi_in>;
> > +				};
> > +			};
> > +		};
> > +	};
> > +
> > +	stmpe811: touchscreen@41 {
> > +		compatible = "st,stmpe811";
> > +		reg = <0x41>;
> > +		#address-cells = <1>;
> > +		#size-cells = <0>;
> > +		interrupt-parent = <&gpio0>;
> > +		interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
> > +		vcc-supply = <&reg_3p3v>;
> > +		vio-supply = <&reg_3p3v>;
> > +		status = "okay";
> 
> Drop, why do you need it?

Thanks, will drop it.

> > +
> > +		stmpe_gpio {
> 
> No underscores in node names, generic node names, so "gpio". Does
> anything depend on odd naming?

You are right, node names should have underscores, but in the end I was 
following the bindings (Documentation/devicetree/bindings/input/touchscreen/
stmpe.txt) naming 'stmpe_touchscreen' and 'stmpe_adc' in the example.
Each subdevice has it's own compatible, so there should be no issue.
Using just 'gpio' and 'touchscreen' below I didn't notice any difference.

> > +			compatible = "st,stmpe-gpio";
> > +			gpio-controller;
> > +			#gpio-cells = <2>;
> > +			/* GPIO 5-7 used for touch */
> > +			st,norequest-mask = <0xf0>;
> > +			gpio-line-names = "GPIO_ADC_I2C1_1",
> > +					  "GPIO_ADC_I2C1_2",
> > +					  "GPIO_ADC_I2C1_3",
> > +					  "GPIO_ADC_I2C1_4";
> > +		};
> > +
> > +		stmpe_touchscreen {
> 
> Same problems.

See above. When enabled driver loads fine.

> > +			compatible = "st,stmpe-ts";
> > +			status = "disabled";
> > +		};
> > +	};
> > +
> > +	pca9530: leds@60 {
> > +		compatible = "nxp,pca9530";
> > +		reg = <0x60>;
> > +		gpio-controller;
> > +		#gpio-cells = <2>;
> > +		gpio-line-names = "PWM_0", "PWM_1";
> > +
> > +		gpio_pwm_0 {
> 
> No underscores in node names, generic node names. This is neither GPIO
> nor PWM.

You are right, no underscores. Well, actually it's used as a GPIO for 
backlight brightness, on a signal called 'PWM_0'. But I'll go for 'led-0' and 
'led-1' for node names and remove the labels, as they are type GPIO.

> > +			label = "pca9530:pwm0";
> > +			type = <PCA9532_TYPE_GPIO>;
> > +		};
> > +
> > +		gpio_pwm_1 {
> > +			label = "pca9530:pwm1";
> > +			type = <PCA9532_TYPE_GPIO>;
> > +		};
> > +	};
> > +
> > +};
> > +
> > +&i2c1 {
> > +	status = "okay";
> > +};
> > +
> > +&lpuart0 {
> > +	status = "okay";
> > +	linux,rs485-enabled-at-boot-time;
> > +};
> > +
> > +&mdio0 {
> > +	sgmii_phy03: ethernet-phy@3 {
> > +		compatible = "ethernet-phy-ieee802.3-c22";
> > +		reg = <0x03>;
> > +		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
> > +		ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
> > +		ti,dp83867-rxctrl-strap-quirk;
> > +	};
> > +
> > +	rgmii_phy04: ethernet-phy@4 {
> > +		compatible = "ethernet-phy-ieee802.3-c22";
> > +		reg = <0x04>;
> > +		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>;
> > +		ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
> > +		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
> > +		ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
> > +	};
> > +
> > +	rgmii_phy0c: ethernet-phy@c {
> > +		compatible = "ethernet-phy-ieee802.3-c22";
> > +		reg = <0x0c>;
> > +		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>;
> > +		ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
> > +		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
> > +		ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
> > +	};
> > +};
> > +
> > +&pwm6 {
> > +	status = "okay";
> > +};
> > +
> > +&pwm7 {
> > +	status = "okay";
> > +};
> > +
> > +&sai1 {
> > +	status = "okay";
> > +};
> > +
> > +&sata {
> > +	/delete-property/ dma-coherent;
> > +	status = "okay";
> > +};
> > +
> > +&uart0 {
> > +	status = "okay";
> > +};
> > +
> > +&uart1 {
> > +	status = "okay";
> > +};
> > +
> > +&usb3 {
> > +	/*
> > +	 * Although DR connector, VBUS is always driven, so
> > +	 * restrict to host mode.
> > +	 */
> > +	dr_mode = "host";
> > +	status = "okay";
> > +};
> > diff --git a/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
> > b/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi new file mode 100644
> > index 0000000000000..1ab518c489252
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
> > @@ -0,0 +1,93 @@
> > +// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
> > +/*
> > + * Copyright 2013-2014 Freescale Semiconductor, Inc.
> > + * Copyright 2018-2023 TQ-Systems GmbH <linux@ew.tq-group.com>,
> > + * D-82229 Seefeld, Germany.
> > + * Author: Alexander Stein
> > + */
> > +
> > +#include "ls1021a.dtsi"
> > +
> > +/ {
> > +	model = "TQMLS102xA SOM";
> > +	compatible = "tq,ls1021a-tqmls1021a", "fsl,ls1021a";
> > +
> > +	reg_3p3v_som: regulator-3p3v-som {
> > +		compatible = "regulator-fixed";
> > +		regulator-name = "3P3V_SOM";
> > +		regulator-min-microvolt = <3300000>;
> > +		regulator-max-microvolt = <3300000>;
> > +		regulator-always-on;
> > +	};
> > +};
> > +
> > +&esdhc {
> > +	compatible = "fsl,esdhc", "fsl,ls1021a-esdhc";
> > +	/* e-MMC over 8 data lines */
> > +	bus-width = <8>;
> > +	status = "okay";
> > +};
> > +
> > +&i2c0 {
> > +	status = "okay";
> > +
> > +	mc34vr500: pmic@8 {
> > +		reg = <0x08>;
> 
> No compatible? What's this?

That's a DC/DC regulator on the module, currently without any driver support. 
It's controlled by the PMC, see below.

We had an internal discussion as well whether to state clients without a 
driver (and thus no compatible) on the i2c bus. What is the guidelines for DT?
The benefit stating, even without compatible, is to show there is some device 
on the bus.

> > +		status = "disabled";
> > +	};
> > +
> > +	pmc0: pmc@11 {
> 
> No compatible? What's this?

That's a PMC monitoring voltages using the DC/DC regulator from above. It's 
connected to i2c bus, but apparently there is no interface using this device.

> > +		reg = <0x11>;
> > +		status = "disabled";
> > +	};
> > +
> > +	sa56004: temperature-sensor@4c {
> > +		compatible = "nxp,sa56004";
> > +		reg = <0x4c>;
> > +		vcc-supply = <&reg_3p3v_som>;
> > +	};
> > +
> > +	adm1069: supervisor@4f {
> 
> No compatible? What's this?

Another monitor, similar to above connected to i2c bus but no actual interface 
to ARM cpu.

> > +		reg = <0x4f>;
> > +		status = "disabled";
> > +	};
> > +
> > +	rtc0: rtc@51 {
> > +		compatible = "nxp,pcf85063a";
> > +		quartz-load-femtofarads = <12500>;
> > +		reg = <0x51>;
> 
> Reg is second property

Sounds reasonable, thanks.

> > +	};
> > +
> > +	m24c64_54: eeprom@54 {
> > +		compatible = "atmel,24c64";
> > +		reg = <0x54>;
> > +		pagesize = <32>;
> > +		read-only;
> > +		vcc-supply = <&reg_3p3v_som>;
> > +	};
> > +};
> 
> Best regards,
> Krzysztof

Best regards,
Alexander




_______________________________________________
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] 60+ messages in thread

* Re: [PATCH 2/9] ARM: dts: ls1021a: add TQ-Systems MBLS102xA device tree
  2023-01-20 10:08       ` Alexander Stein
@ 2023-01-20 10:21         ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 60+ messages in thread
From: Krzysztof Kozlowski @ 2023-01-20 10:21 UTC (permalink / raw)
  To: Alexander Stein, Rob Herring, Krzysztof Kozlowski, Arnd Bergmann,
	Olof Johansson, Shawn Guo, Li Yang, Russell King, Marek Vasut,
	Marcel Ziswiler
  Cc: soc, devicetree, linux-arm-kernel

On 20/01/2023 11:08, Alexander Stein wrote:
> Thanks, will drop it.
> 
>>> +
>>> +		stmpe_gpio {
>>
>> No underscores in node names, generic node names, so "gpio". Does
>> anything depend on odd naming?
> 
> You are right, node names should have underscores, but in the end I was 
> following the bindings (Documentation/devicetree/bindings/input/touchscreen/
> stmpe.txt) naming 'stmpe_touchscreen' and 'stmpe_adc' in the example.

Example is not bindings.

> Each subdevice has it's own compatible, so there should be no issue.
> Using just 'gpio' and 'touchscreen' below I didn't notice any difference.

(...)

>>> +
>>> +&i2c0 {
>>> +	status = "okay";
>>> +
>>> +	mc34vr500: pmic@8 {
>>> +		reg = <0x08>;
>>
>> No compatible? What's this?
> 
> That's a DC/DC regulator on the module, currently without any driver support. 
> It's controlled by the PMC, see below.
> 
> We had an internal discussion as well whether to state clients without a 
> driver (and thus no compatible) on the i2c bus. What is the guidelines for DT?
> The benefit stating, even without compatible, is to show there is some device 
> on the bus.

Leave a comment, but not empty nodes.

Best regards,
Krzysztof


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

* Re: [PATCH 2/9] ARM: dts: ls1021a: add TQ-Systems MBLS102xA device tree
@ 2023-01-20 10:21         ` Krzysztof Kozlowski
  0 siblings, 0 replies; 60+ messages in thread
From: Krzysztof Kozlowski @ 2023-01-20 10:21 UTC (permalink / raw)
  To: Alexander Stein, Rob Herring, Krzysztof Kozlowski, Arnd Bergmann,
	Olof Johansson, Shawn Guo, Li Yang, Russell King, Marek Vasut,
	Marcel Ziswiler
  Cc: soc, devicetree, linux-arm-kernel

On 20/01/2023 11:08, Alexander Stein wrote:
> Thanks, will drop it.
> 
>>> +
>>> +		stmpe_gpio {
>>
>> No underscores in node names, generic node names, so "gpio". Does
>> anything depend on odd naming?
> 
> You are right, node names should have underscores, but in the end I was 
> following the bindings (Documentation/devicetree/bindings/input/touchscreen/
> stmpe.txt) naming 'stmpe_touchscreen' and 'stmpe_adc' in the example.

Example is not bindings.

> Each subdevice has it's own compatible, so there should be no issue.
> Using just 'gpio' and 'touchscreen' below I didn't notice any difference.

(...)

>>> +
>>> +&i2c0 {
>>> +	status = "okay";
>>> +
>>> +	mc34vr500: pmic@8 {
>>> +		reg = <0x08>;
>>
>> No compatible? What's this?
> 
> That's a DC/DC regulator on the module, currently without any driver support. 
> It's controlled by the PMC, see below.
> 
> We had an internal discussion as well whether to state clients without a 
> driver (and thus no compatible) on the i2c bus. What is the guidelines for DT?
> The benefit stating, even without compatible, is to show there is some device 
> on the bus.

Leave a comment, but not empty nodes.

Best regards,
Krzysztof


_______________________________________________
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] 60+ messages in thread

* Re: [PATCH 8/9] ARM: multi_v7_defconfig: Add options to support TQMLS102xA series
  2023-01-19 17:04     ` Krzysztof Kozlowski
@ 2023-01-20 11:12       ` Alexander Stein
  -1 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-20 11:12 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler,
	Krzysztof Kozlowski
  Cc: soc, devicetree, linux-arm-kernel

Hi Krzysztof,

thanks for the feedback.

Am Donnerstag, 19. Januar 2023, 18:04:31 CET schrieb Krzysztof Kozlowski:
> On 19/01/2023 15:42, Alexander Stein wrote:
> > This enables drivers used on TQMLS102xA + MBLS1021A.
> 
> Do not use "This (commit/patch)".
> https://elixir.bootlin.com/linux/v5.17.1/source/Documentation/process/submit
> ting-patches.rst#L95

Thanks, this sounds much better.

> > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> > ---
> > 
> >  arch/arm/configs/multi_v7_defconfig | 13 +++++++++++++
> >  1 file changed, 13 insertions(+)
> > 
> > diff --git a/arch/arm/configs/multi_v7_defconfig
> > b/arch/arm/configs/multi_v7_defconfig index ee184eb37adcf..441a449172368
> > 100644
> > --- a/arch/arm/configs/multi_v7_defconfig
> > +++ b/arch/arm/configs/multi_v7_defconfig
> > @@ -191,6 +191,7 @@ CONFIG_PCI_TEGRA=y
> > 
> >  CONFIG_PCI_RCAR_GEN2=y
> >  CONFIG_PCIE_RCAR_HOST=y
> >  CONFIG_PCI_DRA7XX_EP=y
> > 
> > +CONFIG_PCI_LAYERSCAPE=y
> > 
> >  CONFIG_PCI_ENDPOINT=y
> >  CONFIG_PCI_ENDPOINT_CONFIGFS=y
> >  CONFIG_PCI_EPF_TEST=m
> > 
> > @@ -249,6 +250,7 @@ CONFIG_AHCI_ST=y
> > 
> >  CONFIG_AHCI_IMX=y
> >  CONFIG_AHCI_SUNXI=y
> >  CONFIG_AHCI_TEGRA=y
> > 
> > +CONFIG_AHCI_QORIQ=y
> > 
> >  CONFIG_SATA_HIGHBANK=y
> >  CONFIG_SATA_MV=y
> >  CONFIG_SATA_RCAR=y
> > 
> > @@ -329,6 +331,7 @@ CONFIG_TOUCHSCREEN_ADC=m
> > 
> >  CONFIG_TOUCHSCREEN_ATMEL_MXT=m
> >  CONFIG_TOUCHSCREEN_ELAN=m
> >  CONFIG_TOUCHSCREEN_MMS114=m
> > 
> > +CONFIG_TOUCHSCREEN_EDT_FT5X06=m
> > 
> >  CONFIG_TOUCHSCREEN_WM97XX=m
> >  CONFIG_TOUCHSCREEN_ST1232=m
> >  CONFIG_TOUCHSCREEN_STMPE=y
> > 
> > @@ -483,6 +486,7 @@ CONFIG_GPIO_ASPEED_SGPIO=y
> > 
> >  CONFIG_GPIO_DAVINCI=y
> >  CONFIG_GPIO_DWAPB=y
> >  CONFIG_GPIO_EM=y
> > 
> > +CONFIG_GPIO_MPC8XXX=y
> 
> module

Sounds reasonable, but it's not actually possible, it's just a bool.

> >  CONFIG_GPIO_MXC=y
> >  CONFIG_GPIO_RCAR=y
> >  CONFIG_GPIO_SYSCON=y
> > 
> > @@ -493,6 +497,7 @@ CONFIG_GPIO_PCA953X=y
> > 
> >  CONFIG_GPIO_PCA953X_IRQ=y
> >  CONFIG_GPIO_PCF857X=y
> >  CONFIG_GPIO_PALMAS=y
> > 
> > +CONFIG_GPIO_STMPE=y
> 
> module

That one as well, it's just a bool.

> >  CONFIG_GPIO_TPS6586X=y
> >  CONFIG_GPIO_TPS65910=y
> >  CONFIG_GPIO_TWL4030=y
> > 
> > @@ -533,6 +538,7 @@ CONFIG_SENSORS_INA2XX=m
> > 
> >  CONFIG_CPU_THERMAL=y
> >  CONFIG_DEVFREQ_THERMAL=y
> >  CONFIG_IMX_THERMAL=y
> > 
> > +CONFIG_QORIQ_THERMAL=m
> > 
> >  CONFIG_ROCKCHIP_THERMAL=y
> >  CONFIG_RCAR_THERMAL=y
> >  CONFIG_ARMADA_THERMAL=y
> > 
> > @@ -821,6 +827,8 @@ CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
> > 
> >  CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
> >  CONFIG_SND_SOC_SGTL5000=m
> >  CONFIG_SND_SOC_STI_SAS=m
> > 
> > +CONFIG_SND_SOC_TLV320AIC32X4=m
> > +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m
> > 
> >  CONFIG_SND_SOC_WM8978=m
> >  CONFIG_SND_AUDIO_GRAPH_CARD=m
> >  CONFIG_USB=y
> > 
> > @@ -830,6 +838,7 @@ CONFIG_USB_XHCI_MVEBU=y
> > 
> >  CONFIG_USB_XHCI_TEGRA=m
> >  CONFIG_USB_BRCMSTB=m
> >  CONFIG_USB_EHCI_HCD=y
> > 
> > +CONFIG_USB_EHCI_FSL=y
> 
> module

Well, apparently module autoload is broken due to wrong modalias value of ehci 
node created by fsl-mph-dr-of. This setting this as a module is currently not 
working.

> >  CONFIG_USB_EHCI_HCD_STI=y
> >  CONFIG_USB_EHCI_EXYNOS=m
> >  CONFIG_USB_EHCI_MV=m
> > 
> > @@ -933,6 +942,8 @@ CONFIG_NEW_LEDS=y
> > 
> >  CONFIG_LEDS_CLASS=y
> >  CONFIG_LEDS_CLASS_FLASH=m
> >  CONFIG_LEDS_CPCAP=m
> > 
> > +CONFIG_LEDS_PCA9532=m
> > +CONFIG_LEDS_PCA9532_GPIO=y
> > 
> >  CONFIG_LEDS_GPIO=y
> >  CONFIG_LEDS_PWM=y
> >  CONFIG_LEDS_MAX8997=m
> > 
> > @@ -949,6 +960,7 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
> > 
> >  CONFIG_LEDS_TRIGGER_TRANSIENT=y
> >  CONFIG_LEDS_TRIGGER_CAMERA=y
> >  CONFIG_EDAC=y
> > 
> > +CONFIG_EDAC_LAYERSCAPE=y
> > 
> >  CONFIG_EDAC_HIGHBANK_MC=y
> >  CONFIG_EDAC_HIGHBANK_L2=y
> >  CONFIG_RTC_CLASS=y
> > 
> > @@ -962,6 +974,7 @@ CONFIG_RTC_DRV_MAX8997=m
> > 
> >  CONFIG_RTC_DRV_MAX77686=y
> >  CONFIG_RTC_DRV_RK808=m
> >  CONFIG_RTC_DRV_RS5C372=m
> > 
> > +CONFIG_RTC_DRV_PCF85063=y
> 
> module

Okay, module it is. So I assume it is acceptable the system time is set much 
later after mounting rootfs then?

> >  CONFIG_RTC_DRV_PCF85363=m
> >  CONFIG_RTC_DRV_BQ32K=m
> >  CONFIG_RTC_DRV_TWL4030=y
> 
> Best regards,
> Krzysztof

Best regards,
Alexander




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

* Re: [PATCH 8/9] ARM: multi_v7_defconfig: Add options to support TQMLS102xA series
@ 2023-01-20 11:12       ` Alexander Stein
  0 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-20 11:12 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Arnd Bergmann, Olof Johansson,
	Shawn Guo, Li Yang, Russell King, Marek Vasut, Marcel Ziswiler,
	Krzysztof Kozlowski
  Cc: soc, devicetree, linux-arm-kernel

Hi Krzysztof,

thanks for the feedback.

Am Donnerstag, 19. Januar 2023, 18:04:31 CET schrieb Krzysztof Kozlowski:
> On 19/01/2023 15:42, Alexander Stein wrote:
> > This enables drivers used on TQMLS102xA + MBLS1021A.
> 
> Do not use "This (commit/patch)".
> https://elixir.bootlin.com/linux/v5.17.1/source/Documentation/process/submit
> ting-patches.rst#L95

Thanks, this sounds much better.

> > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> > ---
> > 
> >  arch/arm/configs/multi_v7_defconfig | 13 +++++++++++++
> >  1 file changed, 13 insertions(+)
> > 
> > diff --git a/arch/arm/configs/multi_v7_defconfig
> > b/arch/arm/configs/multi_v7_defconfig index ee184eb37adcf..441a449172368
> > 100644
> > --- a/arch/arm/configs/multi_v7_defconfig
> > +++ b/arch/arm/configs/multi_v7_defconfig
> > @@ -191,6 +191,7 @@ CONFIG_PCI_TEGRA=y
> > 
> >  CONFIG_PCI_RCAR_GEN2=y
> >  CONFIG_PCIE_RCAR_HOST=y
> >  CONFIG_PCI_DRA7XX_EP=y
> > 
> > +CONFIG_PCI_LAYERSCAPE=y
> > 
> >  CONFIG_PCI_ENDPOINT=y
> >  CONFIG_PCI_ENDPOINT_CONFIGFS=y
> >  CONFIG_PCI_EPF_TEST=m
> > 
> > @@ -249,6 +250,7 @@ CONFIG_AHCI_ST=y
> > 
> >  CONFIG_AHCI_IMX=y
> >  CONFIG_AHCI_SUNXI=y
> >  CONFIG_AHCI_TEGRA=y
> > 
> > +CONFIG_AHCI_QORIQ=y
> > 
> >  CONFIG_SATA_HIGHBANK=y
> >  CONFIG_SATA_MV=y
> >  CONFIG_SATA_RCAR=y
> > 
> > @@ -329,6 +331,7 @@ CONFIG_TOUCHSCREEN_ADC=m
> > 
> >  CONFIG_TOUCHSCREEN_ATMEL_MXT=m
> >  CONFIG_TOUCHSCREEN_ELAN=m
> >  CONFIG_TOUCHSCREEN_MMS114=m
> > 
> > +CONFIG_TOUCHSCREEN_EDT_FT5X06=m
> > 
> >  CONFIG_TOUCHSCREEN_WM97XX=m
> >  CONFIG_TOUCHSCREEN_ST1232=m
> >  CONFIG_TOUCHSCREEN_STMPE=y
> > 
> > @@ -483,6 +486,7 @@ CONFIG_GPIO_ASPEED_SGPIO=y
> > 
> >  CONFIG_GPIO_DAVINCI=y
> >  CONFIG_GPIO_DWAPB=y
> >  CONFIG_GPIO_EM=y
> > 
> > +CONFIG_GPIO_MPC8XXX=y
> 
> module

Sounds reasonable, but it's not actually possible, it's just a bool.

> >  CONFIG_GPIO_MXC=y
> >  CONFIG_GPIO_RCAR=y
> >  CONFIG_GPIO_SYSCON=y
> > 
> > @@ -493,6 +497,7 @@ CONFIG_GPIO_PCA953X=y
> > 
> >  CONFIG_GPIO_PCA953X_IRQ=y
> >  CONFIG_GPIO_PCF857X=y
> >  CONFIG_GPIO_PALMAS=y
> > 
> > +CONFIG_GPIO_STMPE=y
> 
> module

That one as well, it's just a bool.

> >  CONFIG_GPIO_TPS6586X=y
> >  CONFIG_GPIO_TPS65910=y
> >  CONFIG_GPIO_TWL4030=y
> > 
> > @@ -533,6 +538,7 @@ CONFIG_SENSORS_INA2XX=m
> > 
> >  CONFIG_CPU_THERMAL=y
> >  CONFIG_DEVFREQ_THERMAL=y
> >  CONFIG_IMX_THERMAL=y
> > 
> > +CONFIG_QORIQ_THERMAL=m
> > 
> >  CONFIG_ROCKCHIP_THERMAL=y
> >  CONFIG_RCAR_THERMAL=y
> >  CONFIG_ARMADA_THERMAL=y
> > 
> > @@ -821,6 +827,8 @@ CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
> > 
> >  CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
> >  CONFIG_SND_SOC_SGTL5000=m
> >  CONFIG_SND_SOC_STI_SAS=m
> > 
> > +CONFIG_SND_SOC_TLV320AIC32X4=m
> > +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m
> > 
> >  CONFIG_SND_SOC_WM8978=m
> >  CONFIG_SND_AUDIO_GRAPH_CARD=m
> >  CONFIG_USB=y
> > 
> > @@ -830,6 +838,7 @@ CONFIG_USB_XHCI_MVEBU=y
> > 
> >  CONFIG_USB_XHCI_TEGRA=m
> >  CONFIG_USB_BRCMSTB=m
> >  CONFIG_USB_EHCI_HCD=y
> > 
> > +CONFIG_USB_EHCI_FSL=y
> 
> module

Well, apparently module autoload is broken due to wrong modalias value of ehci 
node created by fsl-mph-dr-of. This setting this as a module is currently not 
working.

> >  CONFIG_USB_EHCI_HCD_STI=y
> >  CONFIG_USB_EHCI_EXYNOS=m
> >  CONFIG_USB_EHCI_MV=m
> > 
> > @@ -933,6 +942,8 @@ CONFIG_NEW_LEDS=y
> > 
> >  CONFIG_LEDS_CLASS=y
> >  CONFIG_LEDS_CLASS_FLASH=m
> >  CONFIG_LEDS_CPCAP=m
> > 
> > +CONFIG_LEDS_PCA9532=m
> > +CONFIG_LEDS_PCA9532_GPIO=y
> > 
> >  CONFIG_LEDS_GPIO=y
> >  CONFIG_LEDS_PWM=y
> >  CONFIG_LEDS_MAX8997=m
> > 
> > @@ -949,6 +960,7 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
> > 
> >  CONFIG_LEDS_TRIGGER_TRANSIENT=y
> >  CONFIG_LEDS_TRIGGER_CAMERA=y
> >  CONFIG_EDAC=y
> > 
> > +CONFIG_EDAC_LAYERSCAPE=y
> > 
> >  CONFIG_EDAC_HIGHBANK_MC=y
> >  CONFIG_EDAC_HIGHBANK_L2=y
> >  CONFIG_RTC_CLASS=y
> > 
> > @@ -962,6 +974,7 @@ CONFIG_RTC_DRV_MAX8997=m
> > 
> >  CONFIG_RTC_DRV_MAX77686=y
> >  CONFIG_RTC_DRV_RK808=m
> >  CONFIG_RTC_DRV_RS5C372=m
> > 
> > +CONFIG_RTC_DRV_PCF85063=y
> 
> module

Okay, module it is. So I assume it is acceptable the system time is set much 
later after mounting rootfs then?

> >  CONFIG_RTC_DRV_PCF85363=m
> >  CONFIG_RTC_DRV_BQ32K=m
> >  CONFIG_RTC_DRV_TWL4030=y
> 
> Best regards,
> Krzysztof

Best regards,
Alexander




_______________________________________________
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] 60+ messages in thread

* Re: [PATCH 8/9] ARM: multi_v7_defconfig: Add options to support TQMLS102xA series
  2023-01-20 11:12       ` Alexander Stein
@ 2023-01-20 11:35         ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 60+ messages in thread
From: Krzysztof Kozlowski @ 2023-01-20 11:35 UTC (permalink / raw)
  To: Alexander Stein, Rob Herring, Krzysztof Kozlowski, Arnd Bergmann,
	Olof Johansson, Shawn Guo, Li Yang, Russell King, Marek Vasut,
	Marcel Ziswiler
  Cc: soc, devicetree, linux-arm-kernel

On 20/01/2023 12:12, Alexander Stein wrote:
>>>  CONFIG_GPIO_MXC=y
>>>  CONFIG_GPIO_RCAR=y
>>>  CONFIG_GPIO_SYSCON=y
>>>
>>> @@ -493,6 +497,7 @@ CONFIG_GPIO_PCA953X=y
>>>
>>>  CONFIG_GPIO_PCA953X_IRQ=y
>>>  CONFIG_GPIO_PCF857X=y
>>>  CONFIG_GPIO_PALMAS=y
>>>
>>> +CONFIG_GPIO_STMPE=y
>>
>> module
> 
> That one as well, it's just a bool.

OK

> 
>>>  CONFIG_GPIO_TPS6586X=y
>>>  CONFIG_GPIO_TPS65910=y
>>>  CONFIG_GPIO_TWL4030=y
>>>
>>> @@ -533,6 +538,7 @@ CONFIG_SENSORS_INA2XX=m
>>>
>>>  CONFIG_CPU_THERMAL=y
>>>  CONFIG_DEVFREQ_THERMAL=y
>>>  CONFIG_IMX_THERMAL=y
>>>
>>> +CONFIG_QORIQ_THERMAL=m
>>>
>>>  CONFIG_ROCKCHIP_THERMAL=y
>>>  CONFIG_RCAR_THERMAL=y
>>>  CONFIG_ARMADA_THERMAL=y
>>>
>>> @@ -821,6 +827,8 @@ CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
>>>
>>>  CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
>>>  CONFIG_SND_SOC_SGTL5000=m
>>>  CONFIG_SND_SOC_STI_SAS=m
>>>
>>> +CONFIG_SND_SOC_TLV320AIC32X4=m
>>> +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m
>>>
>>>  CONFIG_SND_SOC_WM8978=m
>>>  CONFIG_SND_AUDIO_GRAPH_CARD=m
>>>  CONFIG_USB=y
>>>
>>> @@ -830,6 +838,7 @@ CONFIG_USB_XHCI_MVEBU=y
>>>
>>>  CONFIG_USB_XHCI_TEGRA=m
>>>  CONFIG_USB_BRCMSTB=m
>>>  CONFIG_USB_EHCI_HCD=y
>>>
>>> +CONFIG_USB_EHCI_FSL=y
>>
>> module
> 
> Well, apparently module autoload is broken due to wrong modalias value of ehci 
> node created by fsl-mph-dr-of. This setting this as a module is currently not 
> working.

But this is not valid argument for defconfig change. This must be
module. If autoloading does not work, fix that one.

> 
>>>  CONFIG_USB_EHCI_HCD_STI=y
>>>  CONFIG_USB_EHCI_EXYNOS=m
>>>  CONFIG_USB_EHCI_MV=m
>>>
>>> @@ -933,6 +942,8 @@ CONFIG_NEW_LEDS=y
>>>
>>>  CONFIG_LEDS_CLASS=y
>>>  CONFIG_LEDS_CLASS_FLASH=m
>>>  CONFIG_LEDS_CPCAP=m
>>>
>>> +CONFIG_LEDS_PCA9532=m
>>> +CONFIG_LEDS_PCA9532_GPIO=y
>>>
>>>  CONFIG_LEDS_GPIO=y
>>>  CONFIG_LEDS_PWM=y
>>>  CONFIG_LEDS_MAX8997=m
>>>
>>> @@ -949,6 +960,7 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
>>>
>>>  CONFIG_LEDS_TRIGGER_TRANSIENT=y
>>>  CONFIG_LEDS_TRIGGER_CAMERA=y
>>>  CONFIG_EDAC=y
>>>
>>> +CONFIG_EDAC_LAYERSCAPE=y
>>>
>>>  CONFIG_EDAC_HIGHBANK_MC=y
>>>  CONFIG_EDAC_HIGHBANK_L2=y
>>>  CONFIG_RTC_CLASS=y
>>>
>>> @@ -962,6 +974,7 @@ CONFIG_RTC_DRV_MAX8997=m
>>>
>>>  CONFIG_RTC_DRV_MAX77686=y
>>>  CONFIG_RTC_DRV_RK808=m
>>>  CONFIG_RTC_DRV_RS5C372=m
>>>
>>> +CONFIG_RTC_DRV_PCF85063=y
>>
>> module
> 
> Okay, module it is. So I assume it is acceptable the system time is set much 
> later after mounting rootfs then?

Modules can be loaded from initramfs, not rootfs.

Defconfig=y is only for critical stuff needed to bring initramfs. Time
is not needed for initramfs.

Best regards,
Krzysztof


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

* Re: [PATCH 8/9] ARM: multi_v7_defconfig: Add options to support TQMLS102xA series
@ 2023-01-20 11:35         ` Krzysztof Kozlowski
  0 siblings, 0 replies; 60+ messages in thread
From: Krzysztof Kozlowski @ 2023-01-20 11:35 UTC (permalink / raw)
  To: Alexander Stein, Rob Herring, Krzysztof Kozlowski, Arnd Bergmann,
	Olof Johansson, Shawn Guo, Li Yang, Russell King, Marek Vasut,
	Marcel Ziswiler
  Cc: soc, devicetree, linux-arm-kernel

On 20/01/2023 12:12, Alexander Stein wrote:
>>>  CONFIG_GPIO_MXC=y
>>>  CONFIG_GPIO_RCAR=y
>>>  CONFIG_GPIO_SYSCON=y
>>>
>>> @@ -493,6 +497,7 @@ CONFIG_GPIO_PCA953X=y
>>>
>>>  CONFIG_GPIO_PCA953X_IRQ=y
>>>  CONFIG_GPIO_PCF857X=y
>>>  CONFIG_GPIO_PALMAS=y
>>>
>>> +CONFIG_GPIO_STMPE=y
>>
>> module
> 
> That one as well, it's just a bool.

OK

> 
>>>  CONFIG_GPIO_TPS6586X=y
>>>  CONFIG_GPIO_TPS65910=y
>>>  CONFIG_GPIO_TWL4030=y
>>>
>>> @@ -533,6 +538,7 @@ CONFIG_SENSORS_INA2XX=m
>>>
>>>  CONFIG_CPU_THERMAL=y
>>>  CONFIG_DEVFREQ_THERMAL=y
>>>  CONFIG_IMX_THERMAL=y
>>>
>>> +CONFIG_QORIQ_THERMAL=m
>>>
>>>  CONFIG_ROCKCHIP_THERMAL=y
>>>  CONFIG_RCAR_THERMAL=y
>>>  CONFIG_ARMADA_THERMAL=y
>>>
>>> @@ -821,6 +827,8 @@ CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
>>>
>>>  CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
>>>  CONFIG_SND_SOC_SGTL5000=m
>>>  CONFIG_SND_SOC_STI_SAS=m
>>>
>>> +CONFIG_SND_SOC_TLV320AIC32X4=m
>>> +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m
>>>
>>>  CONFIG_SND_SOC_WM8978=m
>>>  CONFIG_SND_AUDIO_GRAPH_CARD=m
>>>  CONFIG_USB=y
>>>
>>> @@ -830,6 +838,7 @@ CONFIG_USB_XHCI_MVEBU=y
>>>
>>>  CONFIG_USB_XHCI_TEGRA=m
>>>  CONFIG_USB_BRCMSTB=m
>>>  CONFIG_USB_EHCI_HCD=y
>>>
>>> +CONFIG_USB_EHCI_FSL=y
>>
>> module
> 
> Well, apparently module autoload is broken due to wrong modalias value of ehci 
> node created by fsl-mph-dr-of. This setting this as a module is currently not 
> working.

But this is not valid argument for defconfig change. This must be
module. If autoloading does not work, fix that one.

> 
>>>  CONFIG_USB_EHCI_HCD_STI=y
>>>  CONFIG_USB_EHCI_EXYNOS=m
>>>  CONFIG_USB_EHCI_MV=m
>>>
>>> @@ -933,6 +942,8 @@ CONFIG_NEW_LEDS=y
>>>
>>>  CONFIG_LEDS_CLASS=y
>>>  CONFIG_LEDS_CLASS_FLASH=m
>>>  CONFIG_LEDS_CPCAP=m
>>>
>>> +CONFIG_LEDS_PCA9532=m
>>> +CONFIG_LEDS_PCA9532_GPIO=y
>>>
>>>  CONFIG_LEDS_GPIO=y
>>>  CONFIG_LEDS_PWM=y
>>>  CONFIG_LEDS_MAX8997=m
>>>
>>> @@ -949,6 +960,7 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
>>>
>>>  CONFIG_LEDS_TRIGGER_TRANSIENT=y
>>>  CONFIG_LEDS_TRIGGER_CAMERA=y
>>>  CONFIG_EDAC=y
>>>
>>> +CONFIG_EDAC_LAYERSCAPE=y
>>>
>>>  CONFIG_EDAC_HIGHBANK_MC=y
>>>  CONFIG_EDAC_HIGHBANK_L2=y
>>>  CONFIG_RTC_CLASS=y
>>>
>>> @@ -962,6 +974,7 @@ CONFIG_RTC_DRV_MAX8997=m
>>>
>>>  CONFIG_RTC_DRV_MAX77686=y
>>>  CONFIG_RTC_DRV_RK808=m
>>>  CONFIG_RTC_DRV_RS5C372=m
>>>
>>> +CONFIG_RTC_DRV_PCF85063=y
>>
>> module
> 
> Okay, module it is. So I assume it is acceptable the system time is set much 
> later after mounting rootfs then?

Modules can be loaded from initramfs, not rootfs.

Defconfig=y is only for critical stuff needed to bring initramfs. Time
is not needed for initramfs.

Best regards,
Krzysztof


_______________________________________________
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] 60+ messages in thread

* Re: [PATCH 9/9] [DNI] ARM: multi_v7_defconfig: Enable CONFIG_ARM_LPAE for multi_v7_config
  2023-01-19 16:07         ` Arnd Bergmann
@ 2023-01-20 12:43           ` Alexander Stein
  -1 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-20 12:43 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Olof Johansson, Shawn Guo,
	Li Yang, Russell King, Marek Vasut, Marcel Ziswiler,
	Arnd Bergmann
  Cc: soc, devicetree, linux-arm-kernel

Hi Arnd,

Am Donnerstag, 19. Januar 2023, 17:07:30 CET schrieb Arnd Bergmann:
> On Thu, Jan 19, 2023, at 16:27, Alexander Stein wrote:
> > Am Donnerstag, 19. Januar 2023, 16:09:05 CET schrieb Arnd Bergmann:
> >> On Thu, Jan 19, 2023, at 15:42, Alexander Stein wrote:
> >> > This is necessary to support PCIe on LS1021A.
> >> > 
> >> > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> >> 
> >> Can you explain why this is actually required? I can see that the
> >> ranges in the PCIe device point to a high address (0x4000000000,
> >> 2^40), but I can't tell if this is hardwired in the SoC or a
> >> setting that is applied by software (either the bootloader or
> >> the PCIe driver).
> > 
> > The RM ([1]) memory map (Table 2-1) says that 'PCI Express 1' is located
> > at
> > '400000_0000', 'PCI Express 2' at '480000_0000', so I assume this is
> > hardcoded in SoC.
> > It also explicitly lists in that table PCIe 1&2 is only accessible with
> > 40-bit addressing.
> > 
> >> If you can reprogram the memory map, I would expect this to fit
> >> easily into the 32-bit address space, with 1GB for DDR3 memory
> >> and 1GB for PCIe BARs.
> > 
> > I'm not sure which part of memory map you can reprogram and where, but I
> > guess this is fixed on this SoC.
> 
> Ok, I see it now. It looks like they fell victim to the
> cursed "Principles of ARM® Memory Maps White Paper"
> document and messed it up even further ;-)
> 
> In particular, it seems that the memory map of the PCI address
> spaces is configurable, but only within that area you listed.
> I see that section "28.4.2 PEX register descriptions" does list
> a 64-bit prefetchable address space in addition to the 32-bit
> non-prefetchable memory space, but the 64-bit space is not
> listed in the DT. It would be a good idea to configure that
> as well in order for devices to work that need a larger BAR,
> such as a GPU, but it wouldn't help with fitting the PCIe
> into non-LPAE 32-bit CPU address space.

I'm not sure if I can follow you here. Do you have some keywords of what's 
missing there?

> In the datasheet I also see that the chip theoretically
> supports 8GB of DDR4, which would definitely put it beyond
> the highmem limit, even with the 4G:4G memory split. Do you
> know if there are ls1021a devices with more than 4GB of
> installed memory?

Where did you find those 8GB? Section 16.2 mentions it supports up to 4 banks/
chip-selects which I would assume is much more. Also the memory map has a DRAM 
region 2 for memory region 2-32GB. But yes this exceeds 32bit addressing.
I'm not aware of ls1021 devices with more than 4GB memory. Our modules only 
support up to 2GB.

Best regards,
Alexander




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

* Re: [PATCH 9/9] [DNI] ARM: multi_v7_defconfig: Enable CONFIG_ARM_LPAE for multi_v7_config
@ 2023-01-20 12:43           ` Alexander Stein
  0 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-20 12:43 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Olof Johansson, Shawn Guo,
	Li Yang, Russell King, Marek Vasut, Marcel Ziswiler,
	Arnd Bergmann
  Cc: soc, devicetree, linux-arm-kernel

Hi Arnd,

Am Donnerstag, 19. Januar 2023, 17:07:30 CET schrieb Arnd Bergmann:
> On Thu, Jan 19, 2023, at 16:27, Alexander Stein wrote:
> > Am Donnerstag, 19. Januar 2023, 16:09:05 CET schrieb Arnd Bergmann:
> >> On Thu, Jan 19, 2023, at 15:42, Alexander Stein wrote:
> >> > This is necessary to support PCIe on LS1021A.
> >> > 
> >> > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> >> 
> >> Can you explain why this is actually required? I can see that the
> >> ranges in the PCIe device point to a high address (0x4000000000,
> >> 2^40), but I can't tell if this is hardwired in the SoC or a
> >> setting that is applied by software (either the bootloader or
> >> the PCIe driver).
> > 
> > The RM ([1]) memory map (Table 2-1) says that 'PCI Express 1' is located
> > at
> > '400000_0000', 'PCI Express 2' at '480000_0000', so I assume this is
> > hardcoded in SoC.
> > It also explicitly lists in that table PCIe 1&2 is only accessible with
> > 40-bit addressing.
> > 
> >> If you can reprogram the memory map, I would expect this to fit
> >> easily into the 32-bit address space, with 1GB for DDR3 memory
> >> and 1GB for PCIe BARs.
> > 
> > I'm not sure which part of memory map you can reprogram and where, but I
> > guess this is fixed on this SoC.
> 
> Ok, I see it now. It looks like they fell victim to the
> cursed "Principles of ARM® Memory Maps White Paper"
> document and messed it up even further ;-)
> 
> In particular, it seems that the memory map of the PCI address
> spaces is configurable, but only within that area you listed.
> I see that section "28.4.2 PEX register descriptions" does list
> a 64-bit prefetchable address space in addition to the 32-bit
> non-prefetchable memory space, but the 64-bit space is not
> listed in the DT. It would be a good idea to configure that
> as well in order for devices to work that need a larger BAR,
> such as a GPU, but it wouldn't help with fitting the PCIe
> into non-LPAE 32-bit CPU address space.

I'm not sure if I can follow you here. Do you have some keywords of what's 
missing there?

> In the datasheet I also see that the chip theoretically
> supports 8GB of DDR4, which would definitely put it beyond
> the highmem limit, even with the 4G:4G memory split. Do you
> know if there are ls1021a devices with more than 4GB of
> installed memory?

Where did you find those 8GB? Section 16.2 mentions it supports up to 4 banks/
chip-selects which I would assume is much more. Also the memory map has a DRAM 
region 2 for memory region 2-32GB. But yes this exceeds 32bit addressing.
I'm not aware of ls1021 devices with more than 4GB memory. Our modules only 
support up to 2GB.

Best regards,
Alexander




_______________________________________________
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] 60+ messages in thread

* Re: [PATCH 9/9] [DNI] ARM: multi_v7_defconfig: Enable CONFIG_ARM_LPAE for multi_v7_config
  2023-01-20 12:43           ` Alexander Stein
@ 2023-01-20 14:00             ` Arnd Bergmann
  -1 siblings, 0 replies; 60+ messages in thread
From: Arnd Bergmann @ 2023-01-20 14:00 UTC (permalink / raw)
  To: Alexander Stein, Rob Herring, Krzysztof Kozlowski,
	Olof Johansson, Shawn Guo, Li Yang, Russell King, Marek Vasut,
	Marcel Ziswiler
  Cc: soc, devicetree, linux-arm-kernel

On Fri, Jan 20, 2023, at 13:43, Alexander Stein wrote:
> Am Donnerstag, 19. Januar 2023, 17:07:30 CET schrieb Arnd Bergmann:
>> On Thu, Jan 19, 2023, at 16:27, Alexander Stein wrote:
>> 
>> In particular, it seems that the memory map of the PCI address
>> spaces is configurable, but only within that area you listed.
>> I see that section "28.4.2 PEX register descriptions" does list
>> a 64-bit prefetchable address space in addition to the 32-bit
>> non-prefetchable memory space, but the 64-bit space is not
>> listed in the DT. It would be a good idea to configure that
>> as well in order for devices to work that need a larger BAR,
>> such as a GPU, but it wouldn't help with fitting the PCIe
>> into non-LPAE 32-bit CPU address space.
>
> I'm not sure if I can follow you here. Do you have some keywords of what's 
> missing there?

Prefetchable_Memory_Base_Register, section 28.4.2.20 in the
document you pointed me to. 

PCIe addressing is usually split up into I/O space (kilobytes of
registers), non-prefetchable memory space (megabytes of registers
and memory and prefetchable 64-bit memory space (gigabytes of
device memory).

The prefetchable space is indicated by bit '30' of the first
word in the ranges property, so if that is configured, you
would see a third line there starting with 0xc2000000 or
0x42000000. Without this, PCIe cards that have prefetchable
BARs fall back to the non-prefetchable one, which may be
too small or less efficient. This is usually only relevant
for framebuffers on a GPU, but there are probably other
devices as well.

>> In the datasheet I also see that the chip theoretically
>> supports 8GB of DDR4, which would definitely put it beyond
>> the highmem limit, even with the 4G:4G memory split. Do you
>> know if there are ls1021a devices with more than 4GB of
>> installed memory?
>
> Where did you find those 8GB? Section 16.2 mentions it supports up to 4 banks/
> chip-selects which I would assume is much more. Also the memory map has a DRAM 
> region 2 for memory region 2-32GB. But yes this exceeds 32bit addressing.
> I'm not aware of ls1021 devices with more than 4GB memory. Our modules only 
> support up to 2GB.

I think I misread this, as section 2.2 mentions you can have
four chip-selects that are limited to either 2GB or 8GB each,
for a theoretical maximum of 26GB. As long as the practical
limit is 4GB or less, I think we're fine here. Linus Walleij
has is working on a prototype for changing the memory
management code to handle up to 4GB of contiguous RAM without
highmem, which will become relevant in the future as we get
rid of highmem support. On this chip, the first 4GB of
installed memory are not contiguous in the physical address
space, so this will need another set of patches on top.

As long as you only use the first chip-select with 2GB
of installed memory, very little will change for you.

It might be worthwhile to check if your system works
correctly with ARM_LPAE=y, VMSPLIT_2G=y and HIGHMEM=n,
which should be the best configuration for your system
anyway and will keep working after highmem gets removed.

    Arnd

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

* Re: [PATCH 9/9] [DNI] ARM: multi_v7_defconfig: Enable CONFIG_ARM_LPAE for multi_v7_config
@ 2023-01-20 14:00             ` Arnd Bergmann
  0 siblings, 0 replies; 60+ messages in thread
From: Arnd Bergmann @ 2023-01-20 14:00 UTC (permalink / raw)
  To: Alexander Stein, Rob Herring, Krzysztof Kozlowski,
	Olof Johansson, Shawn Guo, Li Yang, Russell King, Marek Vasut,
	Marcel Ziswiler
  Cc: soc, devicetree, linux-arm-kernel

On Fri, Jan 20, 2023, at 13:43, Alexander Stein wrote:
> Am Donnerstag, 19. Januar 2023, 17:07:30 CET schrieb Arnd Bergmann:
>> On Thu, Jan 19, 2023, at 16:27, Alexander Stein wrote:
>> 
>> In particular, it seems that the memory map of the PCI address
>> spaces is configurable, but only within that area you listed.
>> I see that section "28.4.2 PEX register descriptions" does list
>> a 64-bit prefetchable address space in addition to the 32-bit
>> non-prefetchable memory space, but the 64-bit space is not
>> listed in the DT. It would be a good idea to configure that
>> as well in order for devices to work that need a larger BAR,
>> such as a GPU, but it wouldn't help with fitting the PCIe
>> into non-LPAE 32-bit CPU address space.
>
> I'm not sure if I can follow you here. Do you have some keywords of what's 
> missing there?

Prefetchable_Memory_Base_Register, section 28.4.2.20 in the
document you pointed me to. 

PCIe addressing is usually split up into I/O space (kilobytes of
registers), non-prefetchable memory space (megabytes of registers
and memory and prefetchable 64-bit memory space (gigabytes of
device memory).

The prefetchable space is indicated by bit '30' of the first
word in the ranges property, so if that is configured, you
would see a third line there starting with 0xc2000000 or
0x42000000. Without this, PCIe cards that have prefetchable
BARs fall back to the non-prefetchable one, which may be
too small or less efficient. This is usually only relevant
for framebuffers on a GPU, but there are probably other
devices as well.

>> In the datasheet I also see that the chip theoretically
>> supports 8GB of DDR4, which would definitely put it beyond
>> the highmem limit, even with the 4G:4G memory split. Do you
>> know if there are ls1021a devices with more than 4GB of
>> installed memory?
>
> Where did you find those 8GB? Section 16.2 mentions it supports up to 4 banks/
> chip-selects which I would assume is much more. Also the memory map has a DRAM 
> region 2 for memory region 2-32GB. But yes this exceeds 32bit addressing.
> I'm not aware of ls1021 devices with more than 4GB memory. Our modules only 
> support up to 2GB.

I think I misread this, as section 2.2 mentions you can have
four chip-selects that are limited to either 2GB or 8GB each,
for a theoretical maximum of 26GB. As long as the practical
limit is 4GB or less, I think we're fine here. Linus Walleij
has is working on a prototype for changing the memory
management code to handle up to 4GB of contiguous RAM without
highmem, which will become relevant in the future as we get
rid of highmem support. On this chip, the first 4GB of
installed memory are not contiguous in the physical address
space, so this will need another set of patches on top.

As long as you only use the first chip-select with 2GB
of installed memory, very little will change for you.

It might be worthwhile to check if your system works
correctly with ARM_LPAE=y, VMSPLIT_2G=y and HIGHMEM=n,
which should be the best configuration for your system
anyway and will keep working after highmem gets removed.

    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] 60+ messages in thread

* Re: [PATCH 8/9] ARM: multi_v7_defconfig: Add options to support TQMLS102xA series
  2023-01-20 11:35         ` Krzysztof Kozlowski
@ 2023-01-20 14:57           ` Russell King (Oracle)
  -1 siblings, 0 replies; 60+ messages in thread
From: Russell King (Oracle) @ 2023-01-20 14:57 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Alexander Stein, Rob Herring, Krzysztof Kozlowski, Arnd Bergmann,
	Olof Johansson, Shawn Guo, Li Yang, Marek Vasut, Marcel Ziswiler,
	soc, devicetree, linux-arm-kernel

On Fri, Jan 20, 2023 at 12:35:41PM +0100, Krzysztof Kozlowski wrote:
> Defconfig=y is only for critical stuff needed to bring initramfs. Time
> is not needed for initramfs.

Are I2C drivers "critical stuff"? What about AHCI drivers? What about
all the USB HCI drivers? USB Storage can certainly be loaded from an
initramfs, yet it's =y. LED triggers? Loads of RTC drivers that are
marked as =y? XOR drivers? VIRTIO drivers? Filesystems? I seem to
remember Red Hat sets even popular filesystems to be a module in their
kernel.

Clearly, "defconfig=y is only for critical stuff" is rather false in
practice, and I suspect is little more than a desire rather than a
rule. I suspect it's more "defconfig=y is for stuff that makes most
platforms successfully boot without an initramfs".

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

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

* Re: [PATCH 8/9] ARM: multi_v7_defconfig: Add options to support TQMLS102xA series
@ 2023-01-20 14:57           ` Russell King (Oracle)
  0 siblings, 0 replies; 60+ messages in thread
From: Russell King (Oracle) @ 2023-01-20 14:57 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Alexander Stein, Rob Herring, Krzysztof Kozlowski, Arnd Bergmann,
	Olof Johansson, Shawn Guo, Li Yang, Marek Vasut, Marcel Ziswiler,
	soc, devicetree, linux-arm-kernel

On Fri, Jan 20, 2023 at 12:35:41PM +0100, Krzysztof Kozlowski wrote:
> Defconfig=y is only for critical stuff needed to bring initramfs. Time
> is not needed for initramfs.

Are I2C drivers "critical stuff"? What about AHCI drivers? What about
all the USB HCI drivers? USB Storage can certainly be loaded from an
initramfs, yet it's =y. LED triggers? Loads of RTC drivers that are
marked as =y? XOR drivers? VIRTIO drivers? Filesystems? I seem to
remember Red Hat sets even popular filesystems to be a module in their
kernel.

Clearly, "defconfig=y is only for critical stuff" is rather false in
practice, and I suspect is little more than a desire rather than a
rule. I suspect it's more "defconfig=y is for stuff that makes most
platforms successfully boot without an initramfs".

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

_______________________________________________
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] 60+ messages in thread

* Re: [PATCH 8/9] ARM: multi_v7_defconfig: Add options to support TQMLS102xA series
  2023-01-20 14:57           ` Russell King (Oracle)
@ 2023-01-21 20:27             ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 60+ messages in thread
From: Krzysztof Kozlowski @ 2023-01-21 20:27 UTC (permalink / raw)
  To: Russell King (Oracle)
  Cc: Alexander Stein, Rob Herring, Krzysztof Kozlowski, Arnd Bergmann,
	Olof Johansson, Shawn Guo, Li Yang, Marek Vasut, Marcel Ziswiler,
	soc, devicetree, linux-arm-kernel

On 20/01/2023 15:57, Russell King (Oracle) wrote:
> On Fri, Jan 20, 2023 at 12:35:41PM +0100, Krzysztof Kozlowski wrote:
>> Defconfig=y is only for critical stuff needed to bring initramfs. Time
>> is not needed for initramfs.
> 
> Are I2C drivers "critical stuff"? What about AHCI drivers? What about
> all the USB HCI drivers? USB Storage can certainly be loaded from an
> initramfs, yet it's =y. LED triggers? Loads of RTC drivers that are
> marked as =y? XOR drivers? VIRTIO drivers? Filesystems? I seem to
> remember Red Hat sets even popular filesystems to be a module in their
> kernel.

Almost all your answers above - these should be =m. USB not always,
because it is used for USB Ethernet adapters which is used for network
boot (although even then initramfs comes with actual drivers...)

> 
> Clearly, "defconfig=y is only for critical stuff" is rather false in
> practice, and I suspect is little more than a desire rather than a
> rule. I suspect it's more "defconfig=y is for stuff that makes most
> platforms successfully boot without an initramfs".

Yes, that's true, although there was already pushback against this.
Having an initramfs is not a big deal and nowadays I think all new ARMv8
platforms use it.

Anyway this talk here is about RTC which is not needed at all as built in.

Best regards,
Krzysztof


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

* Re: [PATCH 8/9] ARM: multi_v7_defconfig: Add options to support TQMLS102xA series
@ 2023-01-21 20:27             ` Krzysztof Kozlowski
  0 siblings, 0 replies; 60+ messages in thread
From: Krzysztof Kozlowski @ 2023-01-21 20:27 UTC (permalink / raw)
  To: Russell King (Oracle)
  Cc: Alexander Stein, Rob Herring, Krzysztof Kozlowski, Arnd Bergmann,
	Olof Johansson, Shawn Guo, Li Yang, Marek Vasut, Marcel Ziswiler,
	soc, devicetree, linux-arm-kernel

On 20/01/2023 15:57, Russell King (Oracle) wrote:
> On Fri, Jan 20, 2023 at 12:35:41PM +0100, Krzysztof Kozlowski wrote:
>> Defconfig=y is only for critical stuff needed to bring initramfs. Time
>> is not needed for initramfs.
> 
> Are I2C drivers "critical stuff"? What about AHCI drivers? What about
> all the USB HCI drivers? USB Storage can certainly be loaded from an
> initramfs, yet it's =y. LED triggers? Loads of RTC drivers that are
> marked as =y? XOR drivers? VIRTIO drivers? Filesystems? I seem to
> remember Red Hat sets even popular filesystems to be a module in their
> kernel.

Almost all your answers above - these should be =m. USB not always,
because it is used for USB Ethernet adapters which is used for network
boot (although even then initramfs comes with actual drivers...)

> 
> Clearly, "defconfig=y is only for critical stuff" is rather false in
> practice, and I suspect is little more than a desire rather than a
> rule. I suspect it's more "defconfig=y is for stuff that makes most
> platforms successfully boot without an initramfs".

Yes, that's true, although there was already pushback against this.
Having an initramfs is not a big deal and nowadays I think all new ARMv8
platforms use it.

Anyway this talk here is about RTC which is not needed at all as built in.

Best regards,
Krzysztof


_______________________________________________
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] 60+ messages in thread

* Re: [PATCH 8/9] ARM: multi_v7_defconfig: Add options to support TQMLS102xA series
  2023-01-21 20:27             ` Krzysztof Kozlowski
@ 2023-01-21 22:33               ` Russell King (Oracle)
  -1 siblings, 0 replies; 60+ messages in thread
From: Russell King (Oracle) @ 2023-01-21 22:33 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Alexander Stein, Rob Herring, Krzysztof Kozlowski, Arnd Bergmann,
	Olof Johansson, Shawn Guo, Li Yang, Marek Vasut, Marcel Ziswiler,
	soc, devicetree, linux-arm-kernel

On Sat, Jan 21, 2023 at 09:27:52PM +0100, Krzysztof Kozlowski wrote:
> On 20/01/2023 15:57, Russell King (Oracle) wrote:
> > Clearly, "defconfig=y is only for critical stuff" is rather false in
> > practice, and I suspect is little more than a desire rather than a
> > rule. I suspect it's more "defconfig=y is for stuff that makes most
> > platforms successfully boot without an initramfs".
> 
> Yes, that's true, although there was already pushback against this.
> Having an initramfs is not a big deal and nowadays I think all new ARMv8
> platforms use it.
> 
> Anyway this talk here is about RTC which is not needed at all as built in.

Provided NFS doesn't repeat XIDs at boot (which it used to when the
kernel had no idea what the TOD is.)

I believe the NFS standard allows NFS servers to repeat their response
to a repeated XID even if the request is different... which used to
cause chaos for me with a machine that has no RTC and boots using NFS
root. So just be aware that if the NFS XID is still dependent on TOD,
then not having RTCs loaded can cause chaos.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

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

* Re: [PATCH 8/9] ARM: multi_v7_defconfig: Add options to support TQMLS102xA series
@ 2023-01-21 22:33               ` Russell King (Oracle)
  0 siblings, 0 replies; 60+ messages in thread
From: Russell King (Oracle) @ 2023-01-21 22:33 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Alexander Stein, Rob Herring, Krzysztof Kozlowski, Arnd Bergmann,
	Olof Johansson, Shawn Guo, Li Yang, Marek Vasut, Marcel Ziswiler,
	soc, devicetree, linux-arm-kernel

On Sat, Jan 21, 2023 at 09:27:52PM +0100, Krzysztof Kozlowski wrote:
> On 20/01/2023 15:57, Russell King (Oracle) wrote:
> > Clearly, "defconfig=y is only for critical stuff" is rather false in
> > practice, and I suspect is little more than a desire rather than a
> > rule. I suspect it's more "defconfig=y is for stuff that makes most
> > platforms successfully boot without an initramfs".
> 
> Yes, that's true, although there was already pushback against this.
> Having an initramfs is not a big deal and nowadays I think all new ARMv8
> platforms use it.
> 
> Anyway this talk here is about RTC which is not needed at all as built in.

Provided NFS doesn't repeat XIDs at boot (which it used to when the
kernel had no idea what the TOD is.)

I believe the NFS standard allows NFS servers to repeat their response
to a repeated XID even if the request is different... which used to
cause chaos for me with a machine that has no RTC and boots using NFS
root. So just be aware that if the NFS XID is still dependent on TOD,
then not having RTCs loaded can cause chaos.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

_______________________________________________
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] 60+ messages in thread

* Re: [PATCH 9/9] [DNI] ARM: multi_v7_defconfig: Enable CONFIG_ARM_LPAE for multi_v7_config
  2023-01-20 14:00             ` Arnd Bergmann
@ 2023-01-24 10:30               ` Alexander Stein
  -1 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-24 10:30 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Olof Johansson, Shawn Guo,
	Li Yang, Russell King, Marek Vasut, Marcel Ziswiler,
	Arnd Bergmann
  Cc: soc, devicetree, linux-arm-kernel

Hi Arnd,

Am Freitag, 20. Januar 2023, 15:00:35 CET schrieb Arnd Bergmann:
> On Fri, Jan 20, 2023, at 13:43, Alexander Stein wrote:
> > Am Donnerstag, 19. Januar 2023, 17:07:30 CET schrieb Arnd Bergmann:
> >> On Thu, Jan 19, 2023, at 16:27, Alexander Stein wrote:
> >> 
> >> In particular, it seems that the memory map of the PCI address
> >> spaces is configurable, but only within that area you listed.
> >> I see that section "28.4.2 PEX register descriptions" does list
> >> a 64-bit prefetchable address space in addition to the 32-bit
> >> non-prefetchable memory space, but the 64-bit space is not
> >> listed in the DT. It would be a good idea to configure that
> >> as well in order for devices to work that need a larger BAR,
> >> such as a GPU, but it wouldn't help with fitting the PCIe
> >> into non-LPAE 32-bit CPU address space.
> > 
> > I'm not sure if I can follow you here. Do you have some keywords of what's
> > missing there?
> 
> Prefetchable_Memory_Base_Register, section 28.4.2.20 in the
> document you pointed me to.
> 
> PCIe addressing is usually split up into I/O space (kilobytes of
> registers), non-prefetchable memory space (megabytes of registers
> and memory and prefetchable 64-bit memory space (gigabytes of
> device memory).
> 
> The prefetchable space is indicated by bit '30' of the first
> word in the ranges property, so if that is configured, you
> would see a third line there starting with 0xc2000000 or
> 0x42000000. Without this, PCIe cards that have prefetchable
> BARs fall back to the non-prefetchable one, which may be
> too small or less efficient. This is usually only relevant
> for framebuffers on a GPU, but there are probably other
> devices as well.

Thanks for the explanation, although I'm still lacking deeper knowledge how to 
configure PCIe properly.
I tried adding the following line in the 'ranges' property:
> <0xc2000000 0x0 0x20000000 0x40 0x20000000 0x0 0x20000000>, /* prefetchable 
memory */
which was taken from the old example in Documentation/devicetree/bindings/pci/
layerscape-pci.txt, removed in Commit a3b18f5f1d42e ("dt-bindings: pci: 
layerscape-pci: define AER/PME interrupts", 2022-03-11).
But I couldn't detect any difference, maybe it's just due to my PCIe devices I 
have available.

> >> In the datasheet I also see that the chip theoretically
> >> supports 8GB of DDR4, which would definitely put it beyond
> >> the highmem limit, even with the 4G:4G memory split. Do you
> >> know if there are ls1021a devices with more than 4GB of
> >> installed memory?
> > 
> > Where did you find those 8GB? Section 16.2 mentions it supports up to 4
> > banks/ chip-selects which I would assume is much more. Also the memory
> > map has a DRAM region 2 for memory region 2-32GB. But yes this exceeds
> > 32bit addressing. I'm not aware of ls1021 devices with more than 4GB
> > memory. Our modules only support up to 2GB.
> 
> I think I misread this, as section 2.2 mentions you can have
> four chip-selects that are limited to either 2GB or 8GB each,
> for a theoretical maximum of 26GB. As long as the practical
> limit is 4GB or less, I think we're fine here. Linus Walleij
> has is working on a prototype for changing the memory
> management code to handle up to 4GB of contiguous RAM without
> highmem, which will become relevant in the future as we get
> rid of highmem support. On this chip, the first 4GB of
> installed memory are not contiguous in the physical address
> space, so this will need another set of patches on top.
> 
> As long as you only use the first chip-select with 2GB
> of installed memory, very little will change for you.
> 
> It might be worthwhile to check if your system works
> correctly with ARM_LPAE=y, VMSPLIT_2G=y and HIGHMEM=n,
> which should be the best configuration for your system
> anyway and will keep working after highmem gets removed.

Thanks for that hint. Having this setting the board seems to still run like it 
should.

Best regards,
Alexander




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

* Re: [PATCH 9/9] [DNI] ARM: multi_v7_defconfig: Enable CONFIG_ARM_LPAE for multi_v7_config
@ 2023-01-24 10:30               ` Alexander Stein
  0 siblings, 0 replies; 60+ messages in thread
From: Alexander Stein @ 2023-01-24 10:30 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Olof Johansson, Shawn Guo,
	Li Yang, Russell King, Marek Vasut, Marcel Ziswiler,
	Arnd Bergmann
  Cc: soc, devicetree, linux-arm-kernel

Hi Arnd,

Am Freitag, 20. Januar 2023, 15:00:35 CET schrieb Arnd Bergmann:
> On Fri, Jan 20, 2023, at 13:43, Alexander Stein wrote:
> > Am Donnerstag, 19. Januar 2023, 17:07:30 CET schrieb Arnd Bergmann:
> >> On Thu, Jan 19, 2023, at 16:27, Alexander Stein wrote:
> >> 
> >> In particular, it seems that the memory map of the PCI address
> >> spaces is configurable, but only within that area you listed.
> >> I see that section "28.4.2 PEX register descriptions" does list
> >> a 64-bit prefetchable address space in addition to the 32-bit
> >> non-prefetchable memory space, but the 64-bit space is not
> >> listed in the DT. It would be a good idea to configure that
> >> as well in order for devices to work that need a larger BAR,
> >> such as a GPU, but it wouldn't help with fitting the PCIe
> >> into non-LPAE 32-bit CPU address space.
> > 
> > I'm not sure if I can follow you here. Do you have some keywords of what's
> > missing there?
> 
> Prefetchable_Memory_Base_Register, section 28.4.2.20 in the
> document you pointed me to.
> 
> PCIe addressing is usually split up into I/O space (kilobytes of
> registers), non-prefetchable memory space (megabytes of registers
> and memory and prefetchable 64-bit memory space (gigabytes of
> device memory).
> 
> The prefetchable space is indicated by bit '30' of the first
> word in the ranges property, so if that is configured, you
> would see a third line there starting with 0xc2000000 or
> 0x42000000. Without this, PCIe cards that have prefetchable
> BARs fall back to the non-prefetchable one, which may be
> too small or less efficient. This is usually only relevant
> for framebuffers on a GPU, but there are probably other
> devices as well.

Thanks for the explanation, although I'm still lacking deeper knowledge how to 
configure PCIe properly.
I tried adding the following line in the 'ranges' property:
> <0xc2000000 0x0 0x20000000 0x40 0x20000000 0x0 0x20000000>, /* prefetchable 
memory */
which was taken from the old example in Documentation/devicetree/bindings/pci/
layerscape-pci.txt, removed in Commit a3b18f5f1d42e ("dt-bindings: pci: 
layerscape-pci: define AER/PME interrupts", 2022-03-11).
But I couldn't detect any difference, maybe it's just due to my PCIe devices I 
have available.

> >> In the datasheet I also see that the chip theoretically
> >> supports 8GB of DDR4, which would definitely put it beyond
> >> the highmem limit, even with the 4G:4G memory split. Do you
> >> know if there are ls1021a devices with more than 4GB of
> >> installed memory?
> > 
> > Where did you find those 8GB? Section 16.2 mentions it supports up to 4
> > banks/ chip-selects which I would assume is much more. Also the memory
> > map has a DRAM region 2 for memory region 2-32GB. But yes this exceeds
> > 32bit addressing. I'm not aware of ls1021 devices with more than 4GB
> > memory. Our modules only support up to 2GB.
> 
> I think I misread this, as section 2.2 mentions you can have
> four chip-selects that are limited to either 2GB or 8GB each,
> for a theoretical maximum of 26GB. As long as the practical
> limit is 4GB or less, I think we're fine here. Linus Walleij
> has is working on a prototype for changing the memory
> management code to handle up to 4GB of contiguous RAM without
> highmem, which will become relevant in the future as we get
> rid of highmem support. On this chip, the first 4GB of
> installed memory are not contiguous in the physical address
> space, so this will need another set of patches on top.
> 
> As long as you only use the first chip-select with 2GB
> of installed memory, very little will change for you.
> 
> It might be worthwhile to check if your system works
> correctly with ARM_LPAE=y, VMSPLIT_2G=y and HIGHMEM=n,
> which should be the best configuration for your system
> anyway and will keep working after highmem gets removed.

Thanks for that hint. Having this setting the board seems to still run like it 
should.

Best regards,
Alexander




_______________________________________________
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] 60+ messages in thread

* Re: [PATCH 9/9] [DNI] ARM: multi_v7_defconfig: Enable CONFIG_ARM_LPAE for multi_v7_config
  2023-01-24 10:30               ` Alexander Stein
@ 2023-01-24 11:37                 ` Arnd Bergmann
  -1 siblings, 0 replies; 60+ messages in thread
From: Arnd Bergmann @ 2023-01-24 11:37 UTC (permalink / raw)
  To: Alexander Stein, Rob Herring, Krzysztof Kozlowski,
	Olof Johansson, Shawn Guo, Li Yang, Russell King, Marek Vasut,
	Marcel Ziswiler
  Cc: soc, devicetree, linux-arm-kernel

On Tue, Jan 24, 2023, at 11:30, Alexander Stein wrote:
> Am Freitag, 20. Januar 2023, 15:00:35 CET schrieb Arnd Bergmann:
>> On Fri, Jan 20, 2023, at 13:43, Alexander Stein wrote:
>
> Thanks for the explanation, although I'm still lacking deeper knowledge how to 
> configure PCIe properly.
> I tried adding the following line in the 'ranges' property:
>> <0xc2000000 0x0 0x20000000 0x40 0x20000000 0x0 0x20000000>, /* prefetchable 
> memory */
> which was taken from the old example in Documentation/devicetree/bindings/pci/
> layerscape-pci.txt, removed in Commit a3b18f5f1d42e ("dt-bindings: pci: 
> layerscape-pci: define AER/PME interrupts", 2022-03-11).
> But I couldn't detect any difference, maybe it's just due to my PCIe devices I 
> have available.

Right, you need to have a device that actually wants to use prefetchable
memory, whichi is something that 'lspci -v' tells you. I'm also not
sure how this particular controller needs to be configured. Some
drivers read the 'ranges' properties and program the windows in
the PCI controller registers, while others expect the firmware to
have set up the hardware windows in the way they are described in DT.

>> It might be worthwhile to check if your system works
>> correctly with ARM_LPAE=y, VMSPLIT_2G=y and HIGHMEM=n,
>> which should be the best configuration for your system
>> anyway and will keep working after highmem gets removed.
>
> Thanks for that hint. Having this setting the board seems to still run like it 
> should.

Ok, good.

   Arnd

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

* Re: [PATCH 9/9] [DNI] ARM: multi_v7_defconfig: Enable CONFIG_ARM_LPAE for multi_v7_config
@ 2023-01-24 11:37                 ` Arnd Bergmann
  0 siblings, 0 replies; 60+ messages in thread
From: Arnd Bergmann @ 2023-01-24 11:37 UTC (permalink / raw)
  To: Alexander Stein, Rob Herring, Krzysztof Kozlowski,
	Olof Johansson, Shawn Guo, Li Yang, Russell King, Marek Vasut,
	Marcel Ziswiler
  Cc: soc, devicetree, linux-arm-kernel

On Tue, Jan 24, 2023, at 11:30, Alexander Stein wrote:
> Am Freitag, 20. Januar 2023, 15:00:35 CET schrieb Arnd Bergmann:
>> On Fri, Jan 20, 2023, at 13:43, Alexander Stein wrote:
>
> Thanks for the explanation, although I'm still lacking deeper knowledge how to 
> configure PCIe properly.
> I tried adding the following line in the 'ranges' property:
>> <0xc2000000 0x0 0x20000000 0x40 0x20000000 0x0 0x20000000>, /* prefetchable 
> memory */
> which was taken from the old example in Documentation/devicetree/bindings/pci/
> layerscape-pci.txt, removed in Commit a3b18f5f1d42e ("dt-bindings: pci: 
> layerscape-pci: define AER/PME interrupts", 2022-03-11).
> But I couldn't detect any difference, maybe it's just due to my PCIe devices I 
> have available.

Right, you need to have a device that actually wants to use prefetchable
memory, whichi is something that 'lspci -v' tells you. I'm also not
sure how this particular controller needs to be configured. Some
drivers read the 'ranges' properties and program the windows in
the PCI controller registers, while others expect the firmware to
have set up the hardware windows in the way they are described in DT.

>> It might be worthwhile to check if your system works
>> correctly with ARM_LPAE=y, VMSPLIT_2G=y and HIGHMEM=n,
>> which should be the best configuration for your system
>> anyway and will keep working after highmem gets removed.
>
> Thanks for that hint. Having this setting the board seems to still run like it 
> should.

Ok, good.

   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] 60+ messages in thread

end of thread, other threads:[~2023-01-24 11:38 UTC | newest]

Thread overview: 60+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-19 14:42 [PATCH 0/9] TQMLS1021A support Alexander Stein
2023-01-19 14:42 ` Alexander Stein
2023-01-19 14:42 ` [PATCH 1/9] dt-bindings: arm: fsl: add TQ-Systems LS1021A board Alexander Stein
2023-01-19 14:42   ` Alexander Stein
2023-01-19 16:59   ` Krzysztof Kozlowski
2023-01-19 16:59     ` Krzysztof Kozlowski
2023-01-20  8:58     ` Alexander Stein
2023-01-20  8:58       ` Alexander Stein
2023-01-20  9:07       ` Krzysztof Kozlowski
2023-01-20  9:07         ` Krzysztof Kozlowski
2023-01-19 14:42 ` [PATCH 2/9] ARM: dts: ls1021a: add TQ-Systems MBLS102xA device tree Alexander Stein
2023-01-19 14:42   ` Alexander Stein
2023-01-19 17:03   ` Krzysztof Kozlowski
2023-01-19 17:03     ` Krzysztof Kozlowski
2023-01-20 10:08     ` Alexander Stein
2023-01-20 10:08       ` Alexander Stein
2023-01-20 10:21       ` Krzysztof Kozlowski
2023-01-20 10:21         ` Krzysztof Kozlowski
2023-01-19 14:42 ` [PATCH 3/9] ARM: dts: ls1021a: add TQMLS1021A flash partition layout Alexander Stein
2023-01-19 14:42   ` Alexander Stein
2023-01-19 14:42 ` [PATCH 4/9] ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA LVDS TM070JVHG33 overlay Alexander Stein
2023-01-19 14:42   ` Alexander Stein
2023-01-19 14:42 ` [PATCH 5/9] ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA HDMI overlay Alexander Stein
2023-01-19 14:42   ` Alexander Stein
2023-01-19 14:42 ` [PATCH 6/9] ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA LVDS CDTECH DC44 overlay Alexander Stein
2023-01-19 14:42   ` Alexander Stein
2023-01-19 14:42 ` [PATCH 7/9] ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA LVDS CDTECH FC21 overlay Alexander Stein
2023-01-19 14:42   ` Alexander Stein
2023-01-19 14:42 ` [PATCH 8/9] ARM: multi_v7_defconfig: Add options to support TQMLS102xA series Alexander Stein
2023-01-19 14:42   ` Alexander Stein
2023-01-19 17:04   ` Krzysztof Kozlowski
2023-01-19 17:04     ` Krzysztof Kozlowski
2023-01-20 11:12     ` Alexander Stein
2023-01-20 11:12       ` Alexander Stein
2023-01-20 11:35       ` Krzysztof Kozlowski
2023-01-20 11:35         ` Krzysztof Kozlowski
2023-01-20 14:57         ` Russell King (Oracle)
2023-01-20 14:57           ` Russell King (Oracle)
2023-01-21 20:27           ` Krzysztof Kozlowski
2023-01-21 20:27             ` Krzysztof Kozlowski
2023-01-21 22:33             ` Russell King (Oracle)
2023-01-21 22:33               ` Russell King (Oracle)
2023-01-19 14:42 ` [PATCH 9/9] [DNI] ARM: multi_v7_defconfig: Enable CONFIG_ARM_LPAE for multi_v7_config Alexander Stein
2023-01-19 14:42   ` Alexander Stein
2023-01-19 15:09   ` Arnd Bergmann
2023-01-19 15:09     ` Arnd Bergmann
2023-01-19 15:27     ` Alexander Stein
2023-01-19 15:27       ` Alexander Stein
2023-01-19 16:07       ` Arnd Bergmann
2023-01-19 16:07         ` Arnd Bergmann
2023-01-20 12:43         ` Alexander Stein
2023-01-20 12:43           ` Alexander Stein
2023-01-20 14:00           ` Arnd Bergmann
2023-01-20 14:00             ` Arnd Bergmann
2023-01-24 10:30             ` Alexander Stein
2023-01-24 10:30               ` Alexander Stein
2023-01-24 11:37               ` Arnd Bergmann
2023-01-24 11:37                 ` Arnd Bergmann
2023-01-19 16:00   ` Russell King (Oracle)
2023-01-19 16:00     ` Russell King (Oracle)

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.