[PATCH 1/1] ASoC: fsl: fsl_ssi: Add dev_err_probe if PCM DMA init fails

2024-03-14 Thread Alexander Stein
This happens especially if this driver is built-in, but SDMA driver
is configured as module.

Signed-off-by: Alexander Stein 
---
 sound/soc/fsl/fsl_ssi.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c
index ab6ec1974807..4ca3a16f7ac0 100644
--- a/sound/soc/fsl/fsl_ssi.c
+++ b/sound/soc/fsl/fsl_ssi.c
@@ -1401,8 +1401,10 @@ static int fsl_ssi_imx_probe(struct platform_device 
*pdev,
goto error_pcm;
} else {
ret = imx_pcm_dma_init(pdev);
-   if (ret)
+   if (ret) {
+   dev_err_probe(dev, ret, "Failed to init PCM DMA\n");
goto error_pcm;
+   }
}
 
return 0;
-- 
2.34.1



[PATCH 2/2] ASoC: fsl: Specify driver name in ASoC card

2023-03-16 Thread Alexander Stein
Set the snd_soc_card driver name which fixes the warning:
fsl-asoc-card sound: ASoC: driver name too long 'imx-audio-tlv320aic32x4'
-> 'imx-audio-tlv32'

Signed-off-by: Alexander Stein 
---
These patches could be squashed, but I opted for separation this patch
is the actual functional change. Patch 1 is just preparation.

 sound/soc/fsl/fsl-asoc-card.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sound/soc/fsl/fsl-asoc-card.c b/sound/soc/fsl/fsl-asoc-card.c
index e956abfd50f8..bffa1048d31e 100644
--- a/sound/soc/fsl/fsl-asoc-card.c
+++ b/sound/soc/fsl/fsl-asoc-card.c
@@ -609,6 +609,7 @@ static int fsl_asoc_card_probe(struct platform_device *pdev)
 
priv->card.dapm_routes = audio_map;
priv->card.num_dapm_routes = ARRAY_SIZE(audio_map);
+   priv->card.driver_name = DRIVER_NAME;
/* Diversify the card configurations */
if (of_device_is_compatible(np, "fsl,imx-audio-cs42888")) {
codec_dai_name = "cs42888";
-- 
2.34.1



[PATCH 1/2] ASoC: fsl: define a common DRIVER_NAME

2023-03-16 Thread Alexander Stein
Instead of copying the driver name manually, use a common define.
No functional change.

Signed-off-by: Alexander Stein 
---
 sound/soc/fsl/fsl-asoc-card.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/sound/soc/fsl/fsl-asoc-card.c b/sound/soc/fsl/fsl-asoc-card.c
index cdfca9fd1eb0..e956abfd50f8 100644
--- a/sound/soc/fsl/fsl-asoc-card.c
+++ b/sound/soc/fsl/fsl-asoc-card.c
@@ -28,6 +28,8 @@
 #include "../codecs/wm8994.h"
 #include "../codecs/tlv320aic31xx.h"
 
+#define DRIVER_NAME "fsl-asoc-card"
+
 #define CS427x_SYSCLK_MCLK 0
 
 #define RX 0
@@ -915,7 +917,7 @@ MODULE_DEVICE_TABLE(of, fsl_asoc_card_dt_ids);
 static struct platform_driver fsl_asoc_card_driver = {
.probe = fsl_asoc_card_probe,
.driver = {
-   .name = "fsl-asoc-card",
+   .name = DRIVER_NAME,
.pm = &snd_soc_pm_ops,
.of_match_table = fsl_asoc_card_dt_ids,
},
@@ -924,5 +926,5 @@ module_platform_driver(fsl_asoc_card_driver);
 
 MODULE_DESCRIPTION("Freescale Generic ASoC Sound Card driver with ASRC");
 MODULE_AUTHOR("Nicolin Chen ");
-MODULE_ALIAS("platform:fsl-asoc-card");
+MODULE_ALIAS("platform:" DRIVER_NAME);
 MODULE_LICENSE("GPL");
-- 
2.34.1



Re: [PATCH v2 02/10] ARM: dts: ls1021a: add TQ-Systems MBLS102xA device tree

2023-01-26 Thread Alexander Stein
Hi Shawn,

thanks for your feedback.

Am Donnerstag, 26. Januar 2023, 10:44:21 CET schrieb Shawn Guo:
> On Fri, Jan 20, 2023 at 02:34:47PM +0100, Alexander Stein wrote:
> > Add device tree for the MBLS102xA mainboard with TQMLS1021A SoM.
> > 
> > Signed-off-by: Alexander Stein 
> > ---
> > Changes in v2:
> > * Remove unnecessary status = "okay"
> > * Remove underscore from node names
> > * Move reg direct below compatiblefor i2c devices
> > * Remove i2c device nodes without software support
> > 
> >   Add a comment about existance for the device though
> >  
> >  arch/arm/boot/dts/Makefile|   1 +
> >  .../boot/dts/ls1021a-tqmls1021a-mbls1021a.dts | 406 ++
> >  arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi |  81 
> >  3 files changed, 488 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 0..aa8b605344655
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts
> > @@ -0,0 +1,406 @@
> > +// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
> > +/*
> > + * Copyright 2013-2014 Freescale Semiconductor, Inc.
> > + * Copyright 2018-2023 TQ-Systems GmbH ,
> > + * D-82229 Seefeld, Germany.
> > + * Author: Alexander Stein
> > + */
> > +
> > +/dts-v1/;
> > +
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#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 = <2500>;
> > +   };
> > +
> > +   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 = ;
> > +   gpios = <&pca9554_0 0 GPIO_ACTIVE_LOW>;
> > +   };
> > +
> > +   btn2: switch-2 {
> > +   label = "S7";
> > +   linux,code = ;
> > +   gpios = <&pca9554_0 1 GPIO_ACTIVE_LOW>;
> > +   };
> > +
> > +   switch-3 {
> > +   label = "S8";
> > +   linux,code = ;
> > +   gpios = <&pca9554_0 2 GPIO_ACTIVE_LOW>;
> > +   };
> > +   };
> > +
> > +   gpio_leds: gpio-leds {
> > +   compatible = "gpio-leds";
> > +
> > +   led-0 {
> > +   color = ;
> > +   function = LED_FUNCTION_STATUS;
> > +   function-enumerator = <0>;
> > +   gpios = <&pca9554_2 4 GPIO_ACTIVE_LOW>;
> > +   linux,default-trigger = "default-on";
> > +   };
> > +
> > +   led-1 {
> > +   color = ;
> > +   function = LED_FUNCTION_STATUS;
> > +   function-enumerator = <1>;
> > +   gpios = <&pca9554_2 5 GPIO_ACTIVE_LOW>;
> > +   linux,default-trigger = "default-on";
> > +   };
&

[PATCH v3 10/10] ARM: add multi_v7_lpae_defconfig

2023-01-24 Thread Alexander Stein
From: Nicolas Saenz Julienne 

The only missing configuration option preventing us from using
multi_v7_defconfig with the Raspberry Pi 4 is ARM_LPAE. It's needed as
the PCIe controller found on the SoC depends on 64bit addressing, yet
can't be included as not all v7 boards support LPAE.

Introduce multi_v7_lpae_defconfig, built off multi_v7_defconfig, which will
avoid us having to duplicate and maintain multiple similar configurations.

Needless to say the Raspberry Pi 4 is not the only platform that can
benefit from this new configuration.

Signed-off-by: Nicolas Saenz Julienne 
Signed-off-by: Alexander Stein 
---
Changes in v3:
* As per Arnd's suggestion add CONFIG_VMSPLIT_2G to lpae.config fragment
* List multi_v7_lpae_defconfig target in 'make help' as well

Unfortunately the list of defconfigs is autogenerated, so this new
(explicit) target doesn't fit into this list. Therefore it's added to
'archhelp' instead.

 arch/arm/Makefile| 6 ++
 arch/arm/configs/lpae.config | 2 ++
 2 files changed, 8 insertions(+)
 create mode 100644 arch/arm/configs/lpae.config

diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index a353b92641f36..485a439e22ca8 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -314,6 +314,10 @@ endif
 # My testing targets (bypasses dependencies)
 bp:;   $(Q)$(MAKE) $(build)=$(boot) $(boot)/bootpImage
 
+include $(srctree)/scripts/Makefile.defconf
+PHONY += multi_v7_lpae_defconfig
+multi_v7_lpae_defconfig:
+   $(call merge_into_defconfig,multi_v7_defconfig,lpae)
 
 define archhelp
   echo  '* zImage- Compressed kernel image (arch/$(ARCH)/boot/zImage)'
@@ -329,4 +333,6 @@ define archhelp
   echo  '  (distribution) /sbin/$(INSTALLKERNEL) or'
   echo  '  install to $$(INSTALL_PATH) and run lilo'
   echo  '  vdso_install  - Install unstripped vdso.so to 
$$(INSTALL_MOD_PATH)/vdso'
+  echo
+  echo  '  multi_v7_lpae_defconfig - multi_v7_defconfig with 
CONFIG_ARM_LPAE enabled'
 endef
diff --git a/arch/arm/configs/lpae.config b/arch/arm/configs/lpae.config
new file mode 100644
index 0..a6d6f7ab3c01a
--- /dev/null
+++ b/arch/arm/configs/lpae.config
@@ -0,0 +1,2 @@
+CONFIG_ARM_LPAE=y
+CONFIG_VMSPLIT_2G=y
-- 
2.34.1



[PATCH v3 09/10] kbuild: Add config fragment merge functionality

2023-01-24 Thread Alexander Stein
From: Nicolas Saenz Julienne 

So far this function was only used locally in powerpc, some other
architectures might benefit from it. Move it into
scripts/Makefile.defconf.

Signed-off-by: Nicolas Saenz Julienne 
Signed-off-by: Alexander Stein 
Acked-by: Arnd Bergmann 
---
Changes in v3:
* Added Arnd's A-b

 arch/powerpc/Makefile| 12 +---
 scripts/Makefile.defconf | 15 +++
 2 files changed, 16 insertions(+), 11 deletions(-)
 create mode 100644 scripts/Makefile.defconf

diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 4fd630efe39d3..6ec5b9f7b7caa 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -253,17 +253,7 @@ PHONY += bootwrapper_install
 bootwrapper_install:
$(Q)$(MAKE) $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
 
-# Used to create 'merged defconfigs'
-# To use it $(call) it with the first argument as the base defconfig
-# and the second argument as a space separated list of .config files to merge,
-# without the .config suffix.
-define merge_into_defconfig
-   $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh \
-   -m -O $(objtree) $(srctree)/arch/$(ARCH)/configs/$(1) \
-   $(foreach 
config,$(2),$(srctree)/arch/$(ARCH)/configs/$(config).config)
-   +$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig
-endef
-
+include $(srctree)/scripts/Makefile.defconf
 PHONY += pseries_le_defconfig
 pseries_le_defconfig:
$(call merge_into_defconfig,pseries_defconfig,le)
diff --git a/scripts/Makefile.defconf b/scripts/Makefile.defconf
new file mode 100644
index 0..ab332f7534f51
--- /dev/null
+++ b/scripts/Makefile.defconf
@@ -0,0 +1,15 @@
+# SPDX-License-Identifier: GPL-2.0
+# Configuration heplers
+
+# Creates 'merged defconfigs'
+# ---
+# Usage:
+#   $(call merge_into_defconfig,base_config,config_fragment1 config_fragment2 
...)
+#
+# Input config fragments without '.config' suffix
+define merge_into_defconfig
+   $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh \
+   -m -O $(objtree) $(srctree)/arch/$(ARCH)/configs/$(1) \
+   $(foreach 
config,$(2),$(srctree)/arch/$(ARCH)/configs/$(config).config)
+   +$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig
+endef
-- 
2.34.1



[PATCH v3 08/10] ARM: multi_v7_defconfig: Add options to support TQMLS102xA series

2023-01-24 Thread Alexander Stein
Enable drivers used on TQMLS102xA + MBLS1021A.

Signed-off-by: Alexander Stein 
---
Changes in v3:
* None

Changes in v2:
* Changed symbols to 'm' where possible

 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..92628a160cfb3 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=m
 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=m
 CONFIG_RTC_DRV_PCF85363=m
 CONFIG_RTC_DRV_BQ32K=m
 CONFIG_RTC_DRV_TWL4030=y
-- 
2.34.1



[PATCH v3 07/10] ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA LVDS CDTECH FC21 overlay

2023-01-24 Thread Alexander Stein
Add device tree overlay for LVDS display usage.

Signed-off-by: Alexander Stein 
---
Changes in v3:
* None

Changes in v2:
* None

 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 64cc0f3f6efb0..d68100144ae4f 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 0..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 ,
+ * D-82229 Seefeld, Germany.
+ * Author: Alexander Stein
+
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include 
+#include 
+
+&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



[PATCH v3 05/10] ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA HDMI overlay

2023-01-24 Thread Alexander Stein
Add device tree overlay for HDMI usage.

Signed-off-by: Alexander Stein 
---
Changes in v3:
* None

Changes in v2:
* None

 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 626f7172c74e9..f9f75c5325808 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 0..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 ,
+ * 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



[PATCH v3 06/10] ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA LVDS CDTECH DC44 overlay

2023-01-24 Thread Alexander Stein
Add device tree overlay for LVDS display usage.

Signed-off-by: Alexander Stein 
---
Changes in v3:
* None

Changes in v2:
* None

 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 f9f75c5325808..64cc0f3f6efb0 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 0..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 ,
+ * D-82229 Seefeld, Germany.
+ * Author: Alexander Stein
+
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include 
+#include 
+
+&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



[PATCH v3 04/10] ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA LVDS TM070JVHG33 overlay

2023-01-24 Thread Alexander Stein
Add device tree overlay for LVDS display usage.

Signed-off-by: Alexander Stein 
---
Changes in v3:
* None

Changes in v2:
* None

 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 758b6f2f14e7d..626f7172c74e9 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 0..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 ,
+ * D-82229 Seefeld, Germany.
+ * Author: Alexander Stein
+
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include 
+
+&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



[PATCH v3 03/10] ARM: dts: ls1021a: add TQMLS1021A flash partition layout

2023-01-24 Thread Alexander Stein
The bootloader does not add the partitions into DT, so add them manually
here.

Signed-off-by: Alexander Stein 
---
Changes in v3:
* None

Changes in v2:
* None

 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 24ad4a76fe597..ea6734253ba88 100644
--- a/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
+++ b/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
@@ -77,5 +77,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 0xe>;
+   };
+
+   env@e {
+   label = "U-Boot Environment";
+   reg = <0xe 0x1>;
+   };
+
+   dtb@f {
+   label = "DTB";
+   reg = <0xf 0x1>;
+   };
+
+   linux@10 {
+   label = "Linux";
+   reg = <0x10 0x70>;
+   };
+
+   rootfs@80 {
+   label = "RootFS";
+   reg = <0x80 0x380>;
+   };
+   };
};
 };
-- 
2.34.1



[PATCH v3 02/10] ARM: dts: ls1021a: add TQ-Systems MBLS102xA device tree

2023-01-24 Thread Alexander Stein
Add device tree for the MBLS102xA mainboard with TQMLS1021A SoM.

Signed-off-by: Alexander Stein 
---
Changes in v3:
* None

Changes in v2:
* Remove unnecessary status = "okay"
* Remove underscore from node names
* Move reg direct below compatiblefor i2c devices
* Remove i2c device nodes without software support
  Add a comment about existance for the device though

 arch/arm/boot/dts/Makefile|   1 +
 .../boot/dts/ls1021a-tqmls1021a-mbls1021a.dts | 406 ++
 arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi |  81 
 3 files changed, 488 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 53e9c96136519..758b6f2f14e7d 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 0..aa8b605344655
--- /dev/null
+++ b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts
@@ -0,0 +1,406 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
+/*
+ * Copyright 2013-2014 Freescale Semiconductor, Inc.
+ * Copyright 2018-2023 TQ-Systems GmbH ,
+ * D-82229 Seefeld, Germany.
+ * Author: Alexander Stein
+ */
+
+/dts-v1/;
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#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 = <2500>;
+   };
+
+   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 = ;
+   gpios = <&pca9554_0 0 GPIO_ACTIVE_LOW>;
+   };
+
+   btn2: switch-2 {
+   label = "S7";
+   linux,code = ;
+   gpios = <&pca9554_0 1 GPIO_ACTIVE_LOW>;
+   };
+
+   switch-3 {
+   label = "S8";
+   linux,code = ;
+   gpios = <&pca9554_0 2 GPIO_ACTIVE_LOW>;
+   };
+   };
+
+   gpio_leds: gpio-leds {
+   compatible = "gpio-leds";
+
+   led-0 {
+   color = ;
+   function = LED_FUNCTION_STATUS;
+   function-enumerator = <0>;
+   gpios = <&pca9554_2 4 GPIO_ACTIVE_LOW>;
+   linux,default-trigger = "default-on";
+   };
+
+   led-1 {
+   color = ;
+   function = LED_FUNCTION_STATUS;
+   function-enumerator = <1>;
+   gpios = <&pca9554_2 5 GPIO_ACTIVE_LOW>;
+   linux,default-trigger = "default-on";
+   };
+
+   led-2 {
+   color = ;
+   function = LED_FUNCTION_STATUS;
+   function-enumerator = <2>;
+   gpios = <&pca9554_2 6 GPIO_ACTIVE_LOW>;
+   linux,default-trigger = "default-on";
+   };
+
+   led-3 {
+   color = ;
+   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 = <®_3p3v>;
+   status = "disabled";
+
+   ports {
+   #address-cells = <1>;
+   #size-cells = <0>;
+
+   port@0 {
+   reg = <0>;
+
+ 

[PATCH v3 01/10] dt-bindings: arm: fsl: add TQ-Systems LS1021A board

2023-01-24 Thread Alexander Stein
From: Matthias Schiffer 

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

Signed-off-by: Matthias Schiffer 
Signed-off-by: Alexander Stein 
Acked-by: Krzysztof Kozlowski 
---
Changes in v3:
* Added Krzysztof's A-b

 Documentation/devicetree/bindings/arm/fsl.yaml | 10 ++
 1 file changed, 10 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml 
b/Documentation/devicetree/bindings/arm/fsl.yaml
index 3ba354578e8f9..489d350c3bbbe 100644
--- a/Documentation/devicetree/bindings/arm/fsl.yaml
+++ b/Documentation/devicetree/bindings/arm/fsl.yaml
@@ -1164,6 +1164,16 @@ properties:
   - fsl,ls1021a-twr
   - const: fsl,ls1021a
 
+  - description:
+  TQ-Systems TQMLS102xA is a series of socketable SOM featuring
+  LS102x system-on-chip variants. MBLS102xA mainboard can be used as
+  starterkit.
+items:
+  - enum:
+  - tq,ls1021a-tqmls1021a-mbls102xa
+  - const: tq,ls1021a-tqmls1021a
+  - const: fsl,ls1021a
+
   - description: LS1028A based Boards
 items:
   - enum:
-- 
2.34.1



[PATCH v3 00/10] TQMLS1021A support

2023-01-24 Thread Alexander Stein
Hi,

thanks everyone for the feedback. This is the third round of this series to
add support for the TQMLS1021A using the MBLS1021A mainboard.
The changelog is included in the individual patches.

Best regards,
Alexander

Alexander Stein (7):
  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

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

Nicolas Saenz Julienne (2):
  kbuild: Add config fragment merge functionality
  ARM: add multi_v7_lpae_defconfig

 .../devicetree/bindings/arm/fsl.yaml  |  10 +
 arch/arm/Makefile |   6 +
 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 | 406 ++
 arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi | 112 +
 arch/arm/configs/lpae.config  |   2 +
 arch/arm/configs/multi_v7_defconfig   |  13 +
 arch/powerpc/Makefile |  12 +-
 scripts/Makefile.defconf  |  15 +
 13 files changed, 779 insertions(+), 11 deletions(-)
 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
 create mode 100644 arch/arm/configs/lpae.config
 create mode 100644 scripts/Makefile.defconf

-- 
2.34.1



[PATCH v2 10/10] ARM: add multi_v7_lpae_defconfig

2023-01-20 Thread Alexander Stein
From: Nicolas Saenz Julienne 

The only missing configuration option preventing us from using
multi_v7_defconfig with the Raspberry Pi 4 is ARM_LPAE. It's needed as
the PCIe controller found on the SoC depends on 64bit addressing, yet
can't be included as not all v7 boards support LPAE.

Introduce multi_v7_lpae_defconfig, built off multi_v7_defconfig, which will
avoid us having to duplicate and maintain multiple similar configurations.

Needless to say the Raspberry Pi 4 is not the only platform that can
benefit from this new configuration.

Signed-off-by: Nicolas Saenz Julienne 
Signed-off-by: Alexander Stein 
---
Directly applied from 
https://lore.kernel.org/linux-arm-kernel/20200203184820.4433-2-nsaenzjulie...@suse.de/T/#m96968dd45c0aaa88e0a7387024b5ac13b002363d
Although I had to apply manually

 arch/arm/Makefile| 4 
 arch/arm/configs/lpae.config | 1 +
 2 files changed, 5 insertions(+)
 create mode 100644 arch/arm/configs/lpae.config

diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 506dbc72323bc..80d9eaf3dc06a 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -314,6 +314,10 @@ endif
 # My testing targets (bypasses dependencies)
 bp:;   $(Q)$(MAKE) $(build)=$(boot) $(boot)/bootpImage
 
+include $(srctree)/scripts/Makefile.defconf
+PHONY += multi_v7_lpae_defconfig
+multi_v7_lpae_defconfig:
+   $(call merge_into_defconfig,multi_v7_defconfig,lpae)
 
 define archhelp
   echo  '* zImage- Compressed kernel image (arch/$(ARCH)/boot/zImage)'
diff --git a/arch/arm/configs/lpae.config b/arch/arm/configs/lpae.config
new file mode 100644
index 0..19bab134e014b
--- /dev/null
+++ b/arch/arm/configs/lpae.config
@@ -0,0 +1 @@
+CONFIG_ARM_LPAE=y
-- 
2.34.1



[PATCH v2 09/10] kbuild: Add config fragment merge functionality

2023-01-20 Thread Alexander Stein
From: Nicolas Saenz Julienne 

So far this function was only used locally in powerpc, some other
architectures might benefit from it. Move it into
scripts/Makefile.defconf.

Signed-off-by: Nicolas Saenz Julienne 
Signed-off-by: Alexander Stein 
---
Directly applied from 
https://lore.kernel.org/linux-arm-kernel/20200203184820.4433-2-nsaenzjulie...@suse.de/T/#m96968dd45c0aaa88e0a7387024b5ac13b002363d

 arch/powerpc/Makefile| 12 +---
 scripts/Makefile.defconf | 15 +++
 2 files changed, 16 insertions(+), 11 deletions(-)
 create mode 100644 scripts/Makefile.defconf

diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index dc4cbf0a5ca95..533457466ce25 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -253,17 +253,7 @@ PHONY += bootwrapper_install
 bootwrapper_install:
$(Q)$(MAKE) $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
 
-# Used to create 'merged defconfigs'
-# To use it $(call) it with the first argument as the base defconfig
-# and the second argument as a space separated list of .config files to merge,
-# without the .config suffix.
-define merge_into_defconfig
-   $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh \
-   -m -O $(objtree) $(srctree)/arch/$(ARCH)/configs/$(1) \
-   $(foreach 
config,$(2),$(srctree)/arch/$(ARCH)/configs/$(config).config)
-   +$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig
-endef
-
+include $(srctree)/scripts/Makefile.defconf
 PHONY += pseries_le_defconfig
 pseries_le_defconfig:
$(call merge_into_defconfig,pseries_defconfig,le)
diff --git a/scripts/Makefile.defconf b/scripts/Makefile.defconf
new file mode 100644
index 0..ab332f7534f51
--- /dev/null
+++ b/scripts/Makefile.defconf
@@ -0,0 +1,15 @@
+# SPDX-License-Identifier: GPL-2.0
+# Configuration heplers
+
+# Creates 'merged defconfigs'
+# ---
+# Usage:
+#   $(call merge_into_defconfig,base_config,config_fragment1 config_fragment2 
...)
+#
+# Input config fragments without '.config' suffix
+define merge_into_defconfig
+   $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh \
+   -m -O $(objtree) $(srctree)/arch/$(ARCH)/configs/$(1) \
+   $(foreach 
config,$(2),$(srctree)/arch/$(ARCH)/configs/$(config).config)
+   +$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig
+endef
-- 
2.34.1



[PATCH v2 08/10] ARM: multi_v7_defconfig: Add options to support TQMLS102xA series

2023-01-20 Thread Alexander Stein
Enable drivers used on TQMLS102xA + MBLS1021A.

Signed-off-by: Alexander Stein 
---
Changes in v2:
* Changed symbols to 'm' where possible

 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..92628a160cfb3 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=m
 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=m
 CONFIG_RTC_DRV_PCF85363=m
 CONFIG_RTC_DRV_BQ32K=m
 CONFIG_RTC_DRV_TWL4030=y
-- 
2.34.1



[PATCH v2 07/10] ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA LVDS CDTECH FC21 overlay

2023-01-20 Thread Alexander Stein
Add device tree overlay for LVDS display usage.

Signed-off-by: Alexander Stein 
---
Changes in v2:
* None

 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 0..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 ,
+ * D-82229 Seefeld, Germany.
+ * Author: Alexander Stein
+
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include 
+#include 
+
+&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



[PATCH v2 06/10] ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA LVDS CDTECH DC44 overlay

2023-01-20 Thread Alexander Stein
Add device tree overlay for LVDS display usage.

Signed-off-by: Alexander Stein 
---
Changes in v2:
* None

 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 0..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 ,
+ * D-82229 Seefeld, Germany.
+ * Author: Alexander Stein
+
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include 
+#include 
+
+&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



[PATCH v2 05/10] ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA HDMI overlay

2023-01-20 Thread Alexander Stein
Add device tree overlay for HDMI usage.

Signed-off-by: Alexander Stein 
---
Changes in v2:
* None

 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 0..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 ,
+ * 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



[PATCH v2 04/10] ARM: dts: ls1021a: add TQMLS1021A/MBLS102xA LVDS TM070JVHG33 overlay

2023-01-20 Thread Alexander Stein
Add device tree overlay for LVDS display usage.

Signed-off-by: Alexander Stein 
---
Changes in v2:
* None

 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 0..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 ,
+ * D-82229 Seefeld, Germany.
+ * Author: Alexander Stein
+
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include 
+
+&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



[PATCH v2 03/10] ARM: dts: ls1021a: add TQMLS1021A flash partition layout

2023-01-20 Thread Alexander Stein
The bootloader does not add the partitions into DT, so add them manually
here.

Signed-off-by: Alexander Stein 
---
Changes in v2:
* None

 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 24ad4a76fe597..ea6734253ba88 100644
--- a/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
+++ b/arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi
@@ -77,5 +77,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 0xe>;
+   };
+
+   env@e {
+   label = "U-Boot Environment";
+   reg = <0xe 0x1>;
+   };
+
+   dtb@f {
+   label = "DTB";
+   reg = <0xf 0x1>;
+   };
+
+   linux@10 {
+   label = "Linux";
+   reg = <0x10 0x70>;
+   };
+
+   rootfs@80 {
+   label = "RootFS";
+   reg = <0x80 0x380>;
+   };
+   };
};
 };
-- 
2.34.1



[PATCH v2 02/10] ARM: dts: ls1021a: add TQ-Systems MBLS102xA device tree

2023-01-20 Thread Alexander Stein
Add device tree for the MBLS102xA mainboard with TQMLS1021A SoM.

Signed-off-by: Alexander Stein 
---
Changes in v2:
* Remove unnecessary status = "okay"
* Remove underscore from node names
* Move reg direct below compatiblefor i2c devices
* Remove i2c device nodes without software support
  Add a comment about existance for the device though

 arch/arm/boot/dts/Makefile|   1 +
 .../boot/dts/ls1021a-tqmls1021a-mbls1021a.dts | 406 ++
 arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi |  81 
 3 files changed, 488 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 0..aa8b605344655
--- /dev/null
+++ b/arch/arm/boot/dts/ls1021a-tqmls1021a-mbls1021a.dts
@@ -0,0 +1,406 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
+/*
+ * Copyright 2013-2014 Freescale Semiconductor, Inc.
+ * Copyright 2018-2023 TQ-Systems GmbH ,
+ * D-82229 Seefeld, Germany.
+ * Author: Alexander Stein
+ */
+
+/dts-v1/;
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#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 = <2500>;
+   };
+
+   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 = ;
+   gpios = <&pca9554_0 0 GPIO_ACTIVE_LOW>;
+   };
+
+   btn2: switch-2 {
+   label = "S7";
+   linux,code = ;
+   gpios = <&pca9554_0 1 GPIO_ACTIVE_LOW>;
+   };
+
+   switch-3 {
+   label = "S8";
+   linux,code = ;
+   gpios = <&pca9554_0 2 GPIO_ACTIVE_LOW>;
+   };
+   };
+
+   gpio_leds: gpio-leds {
+   compatible = "gpio-leds";
+
+   led-0 {
+   color = ;
+   function = LED_FUNCTION_STATUS;
+   function-enumerator = <0>;
+   gpios = <&pca9554_2 4 GPIO_ACTIVE_LOW>;
+   linux,default-trigger = "default-on";
+   };
+
+   led-1 {
+   color = ;
+   function = LED_FUNCTION_STATUS;
+   function-enumerator = <1>;
+   gpios = <&pca9554_2 5 GPIO_ACTIVE_LOW>;
+   linux,default-trigger = "default-on";
+   };
+
+   led-2 {
+   color = ;
+   function = LED_FUNCTION_STATUS;
+   function-enumerator = <2>;
+   gpios = <&pca9554_2 6 GPIO_ACTIVE_LOW>;
+   linux,default-trigger = "default-on";
+   };
+
+   led-3 {
+   color = ;
+   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 = <®_3p3v>;
+   status = "disabled";
+
+   ports {
+   #address-cells = <1>;
+   #size-cells = <0>;
+
+   port@0 {
+   reg = <0>;
+
+

[PATCH v2 01/10] dt-bindings: arm: fsl: add TQ-Systems LS1021A board

2023-01-20 Thread Alexander Stein
From: Matthias Schiffer 

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

Signed-off-by: Matthias Schiffer 
Signed-off-by: Alexander Stein 
---
Changes in v2:
* Improved the description mentioning this is a socketable module

 Documentation/devicetree/bindings/arm/fsl.yaml | 10 ++
 1 file changed, 10 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml 
b/Documentation/devicetree/bindings/arm/fsl.yaml
index 3ba354578e8f9..489d350c3bbbe 100644
--- a/Documentation/devicetree/bindings/arm/fsl.yaml
+++ b/Documentation/devicetree/bindings/arm/fsl.yaml
@@ -1164,6 +1164,16 @@ properties:
   - fsl,ls1021a-twr
   - const: fsl,ls1021a
 
+  - description:
+  TQ-Systems TQMLS102xA is a series of socketable SOM featuring
+  LS102x system-on-chip variants. MBLS102xA mainboard can be used as
+  starterkit.
+items:
+  - enum:
+  - tq,ls1021a-tqmls1021a-mbls102xa
+  - const: tq,ls1021a-tqmls1021a
+  - const: fsl,ls1021a
+
   - description: LS1028A based Boards
 items:
   - enum:
-- 
2.34.1



[PATCH v2 00/10] TQMLS1021A support

2023-01-20 Thread Alexander Stein
Hi,

this is the second round of this series to add support for the TQMLS1021A
using the MBLS1021A mainboard.
The changelog is included in the individual patches but the most notable
one is picking up the old patch series for adding lpae config snippet
support.

Best regards,
Alexander

Alexander Stein (7):
  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

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

Nicolas Saenz Julienne (2):
  kbuild: Add config fragment merge functionality
  ARM: add multi_v7_lpae_defconfig

 .../devicetree/bindings/arm/fsl.yaml  |  10 +
 arch/arm/Makefile |   4 +
 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 | 406 ++
 arch/arm/boot/dts/ls1021a-tqmls1021a.dtsi | 112 +
 arch/arm/configs/lpae.config  |   1 +
 arch/arm/configs/multi_v7_defconfig   |  13 +
 arch/powerpc/Makefile |  12 +-
 scripts/Makefile.defconf  |  15 +
 13 files changed, 776 insertions(+), 11 deletions(-)
 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
 create mode 100644 arch/arm/configs/lpae.config
 create mode 100644 scripts/Makefile.defconf

-- 
2.34.1



[PATCH 1/1] ASoC: imx-hdmi: Use dev_err_probe

2023-01-18 Thread Alexander Stein
This silences -517 errors and helps figuring out why the device probe
is deferred.

Signed-off-by: Alexander Stein 
---
 sound/soc/fsl/imx-hdmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/fsl/imx-hdmi.c b/sound/soc/fsl/imx-hdmi.c
index a780cf5a65ffa..b6cc7e6c2a320 100644
--- a/sound/soc/fsl/imx-hdmi.c
+++ b/sound/soc/fsl/imx-hdmi.c
@@ -202,7 +202,7 @@ static int imx_hdmi_probe(struct platform_device *pdev)
snd_soc_card_set_drvdata(&data->card, data);
ret = devm_snd_soc_register_card(&pdev->dev, &data->card);
if (ret) {
-   dev_err(&pdev->dev, "snd_soc_register_card failed (%d)\n", ret);
+   dev_err_probe(&pdev->dev, ret, "snd_soc_register_card 
failed\n");
goto fail;
}
 
-- 
2.34.1



[PATCH 1/1] ASoC: fsl_sai: Use dev_err_probe

2023-01-11 Thread Alexander Stein
This helps figuring out why the device probe is deferred, e.g. missing
FSL_EDMA driver.

Signed-off-by: Alexander Stein 
---
Old:
root@ls1021:~# cat /sys/kernel/debug/devices_deferred 
sound   fsl-asoc-card: snd_soc_register_card failed: -517
2b5.sai

New:
root@ls1021:~# cat /sys/kernel/debug/devices_deferred 
sound   fsl-asoc-card: snd_soc_register_card failed: -517
2b5.sai fsl-sai: Registering PCM dmaengine failed

 sound/soc/fsl/fsl_sai.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c
index 1c9be8a5dcb13..2a38e2bdf9893 100644
--- a/sound/soc/fsl/fsl_sai.c
+++ b/sound/soc/fsl/fsl_sai.c
@@ -1458,14 +1458,17 @@ static int fsl_sai_probe(struct platform_device *pdev)
if (sai->soc_data->use_imx_pcm) {
ret = imx_pcm_dma_init(pdev);
if (ret) {
+   dev_err_probe(dev, ret, "PCM DMA init failed\n");
if (!IS_ENABLED(CONFIG_SND_SOC_IMX_PCM_DMA))
dev_err(dev, "Error: You must enable the 
imx-pcm-dma support!\n");
goto err_pm_get_sync;
}
} else {
ret = devm_snd_dmaengine_pcm_register(dev, NULL, 0);
-   if (ret)
+   if (ret) {
+   dev_err_probe(dev, ret, "Registering PCM dmaengine 
failed\n");
goto err_pm_get_sync;
+   }
}
 
ret = devm_snd_soc_register_component(dev, &fsl_component,
-- 
2.34.1



Re: [PATCH 1/1] serial/uuc_uart: Set shutdown timeout to CONFIG_HZ independent 2ms

2016-12-05 Thread Alexander Stein
On Monday 05 December 2016 10:04:27, Timur Tabi wrote:
> Alexander Stein wrote:
> > -   schedule_timeout(2);
> > +   schedule_timeout(msecs_to_jiffies(2));
> 
> NACK.
> 
> So I don't remember why I wrote this code, but I don't think I was
> expecting it to be 2ms.  Instead, I think I just wanted it to be some
> delay, but I believed that schedule_timeout(1) was too short or would be
> "optimized" out somehow.
> 
> Note that right below this, I do:
> 
>   if (qe_port->wait_closing) {
>   /* Wait a bit longer */
>   set_current_state(TASK_UNINTERRUPTIBLE);
>   schedule_timeout(qe_port->wait_closing);
>   }
> 
> And wait_closing is a number of jiffies, so I knew that
> schedule_timeout() took jiffies as a parameter.
> 
> So I think I'm going to NACK this patch, since I believe I knew what I
> was doing when I wrote it five years ago.

Okay, I was just wondering why the timeout is dependant on the timer tick. 
That didn't seem obvious to me.
Rethinking about this, I would rather replace those lines with msleep instead.

Best regards,
Alexander



[PATCH 1/1] serial/uuc_uart: Set shutdown timeout to CONFIG_HZ independent 2ms

2016-12-05 Thread Alexander Stein
schedule_timeout takes a timeout in jiffies resolution. So pass 2ms
as a converted jiffies value. This makes the timeout independent of
CONFIG_HZ.

Signed-off-by: Alexander Stein 
---
 drivers/tty/serial/ucc_uart.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/tty/serial/ucc_uart.c b/drivers/tty/serial/ucc_uart.c
index 481eb29..c6c01a4 100644
--- a/drivers/tty/serial/ucc_uart.c
+++ b/drivers/tty/serial/ucc_uart.c
@@ -827,7 +827,7 @@ static void qe_uart_shutdown(struct uart_port *port)
break;
}
set_current_state(TASK_UNINTERRUPTIBLE);
-   schedule_timeout(2);
+   schedule_timeout(msecs_to_jiffies(2));
}
 
if (qe_port->wait_closing) {
-- 
2.7.3



[PATCH 1/1] serial/uuc_uart: Support higher bitrates than 115200 Bit/s

2015-07-09 Thread Alexander Stein
The maximum bitrate supported depends on the clock rate used in BRG.
This is stored in port.uartclk during probe. Respecting the 16x
oversampling higher bitrates can be supported.

Signed-off-by: Alexander Stein 
---
 drivers/tty/serial/ucc_uart.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/tty/serial/ucc_uart.c b/drivers/tty/serial/ucc_uart.c
index 7d2532b..73190f5 100644
--- a/drivers/tty/serial/ucc_uart.c
+++ b/drivers/tty/serial/ucc_uart.c
@@ -950,7 +950,7 @@ static void qe_uart_set_termios(struct uart_port *port,
if ((termios->c_cflag & CREAD) == 0)
port->read_status_mask &= ~BD_SC_EMPTY;
 
-   baud = uart_get_baud_rate(port, termios, old, 0, 115200);
+   baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk / 16);
 
/* Do we really need a spinlock here? */
spin_lock_irqsave(&port->lock, flags);
-- 
2.3.6

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev