* [PATCH v4 1/3] gpio: dwapb: Add ACPI ID LECA0001 for LECARC SoCs
2026-05-20 8:11 [PATCH v4 0/3] arm64: Add LECARC ACPI IDs for DesignWare GPIO, SPI, I2C Thomas Lin
@ 2026-05-20 8:11 ` Thomas Lin
2026-05-20 15:15 ` Bartosz Golaszewski
2026-05-20 8:11 ` [PATCH v4 2/3] spi: dw-mmio: Add ACPI ID LECA0002 " Thomas Lin
2026-05-20 8:11 ` [PATCH v4 3/3] i2c: designware: Add ACPI ID LECA0003 " Thomas Lin
2 siblings, 1 reply; 10+ messages in thread
From: Thomas Lin @ 2026-05-20 8:11 UTC (permalink / raw)
To: rafael, lenb, hoan, linusw, brgl, mika.westerberg,
andriy.shevchenko, jsd, andi.shyti, broonie
Cc: linux-acpi, linux-kernel, linux-gpio, linux-i2c, linux-spi,
lucas_hao, puntar_liu, jihua_tao, stan_xu, lumin_liu,
notics_zhang, braden_zhang, harold_wu, will_zhang, aurora_jiang,
ryen_lin, andy_jiang, Thomas Lin
Add ACPI ID "LECA0001" for LECARC SoCs that use the DesignWare
GPIO controller with V1 register offsets.
Signed-off-by: Thomas Lin <thomas_lin@lecomputing.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Bartosz Golaszewski <brgl@kernel.org>
---
drivers/gpio/gpio-dwapb.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpio/gpio-dwapb.c b/drivers/gpio/gpio-dwapb.c
index 15cebc8b5d66..c1f3d83a67c1 100644
--- a/drivers/gpio/gpio-dwapb.c
+++ b/drivers/gpio/gpio-dwapb.c
@@ -694,6 +694,7 @@ static const struct acpi_device_id dwapb_acpi_match[] = {
{"APMC0D07", GPIO_REG_OFFSET_V1},
{"APMC0D81", GPIO_REG_OFFSET_V2},
{"FUJI200A", GPIO_REG_OFFSET_V1},
+ {"LECA0001", GPIO_REG_OFFSET_V1},
{ }
};
MODULE_DEVICE_TABLE(acpi, dwapb_acpi_match);
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* Re: [PATCH v4 1/3] gpio: dwapb: Add ACPI ID LECA0001 for LECARC SoCs
2026-05-20 8:11 ` [PATCH v4 1/3] gpio: dwapb: Add ACPI ID LECA0001 for LECARC SoCs Thomas Lin
@ 2026-05-20 15:15 ` Bartosz Golaszewski
2026-05-20 15:24 ` Mark Brown
0 siblings, 1 reply; 10+ messages in thread
From: Bartosz Golaszewski @ 2026-05-20 15:15 UTC (permalink / raw)
To: Thomas Lin
Cc: rafael, lenb, hoan, linusw, mika.westerberg, andriy.shevchenko,
jsd, andi.shyti, broonie, linux-acpi, linux-kernel, linux-gpio,
linux-i2c, linux-spi, lucas_hao, puntar_liu, jihua_tao, stan_xu,
lumin_liu, notics_zhang, braden_zhang, harold_wu, will_zhang,
aurora_jiang, ryen_lin, andy_jiang
On Wed, May 20, 2026 at 10:45 AM Thomas Lin <thomas_lin@lecomputing.com> wrote:
>
> Add ACPI ID "LECA0001" for LECARC SoCs that use the DesignWare
> GPIO controller with V1 register offsets.
>
> Signed-off-by: Thomas Lin <thomas_lin@lecomputing.com>
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Reviewed-by: Bartosz Golaszewski <brgl@kernel.org>
> ---
> drivers/gpio/gpio-dwapb.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpio/gpio-dwapb.c b/drivers/gpio/gpio-dwapb.c
> index 15cebc8b5d66..c1f3d83a67c1 100644
> --- a/drivers/gpio/gpio-dwapb.c
> +++ b/drivers/gpio/gpio-dwapb.c
> @@ -694,6 +694,7 @@ static const struct acpi_device_id dwapb_acpi_match[] = {
> {"APMC0D07", GPIO_REG_OFFSET_V1},
> {"APMC0D81", GPIO_REG_OFFSET_V2},
> {"FUJI200A", GPIO_REG_OFFSET_V1},
> + {"LECA0001", GPIO_REG_OFFSET_V1},
> { }
> };
> MODULE_DEVICE_TABLE(acpi, dwapb_acpi_match);
> --
> 2.43.0
>
I'm not sure about how to interpret the cover letter - is it fine to
take this independently through the GPIO tree for v7.2?
Bart
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH v4 1/3] gpio: dwapb: Add ACPI ID LECA0001 for LECARC SoCs
2026-05-20 15:15 ` Bartosz Golaszewski
@ 2026-05-20 15:24 ` Mark Brown
2026-05-20 17:11 ` Wolfram Sang
0 siblings, 1 reply; 10+ messages in thread
From: Mark Brown @ 2026-05-20 15:24 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Thomas Lin, rafael, lenb, hoan, linusw, mika.westerberg,
andriy.shevchenko, jsd, andi.shyti, linux-acpi, linux-kernel,
linux-gpio, linux-i2c, linux-spi, lucas_hao, puntar_liu,
jihua_tao, stan_xu, lumin_liu, notics_zhang, braden_zhang,
harold_wu, will_zhang, aurora_jiang, ryen_lin, andy_jiang
[-- Attachment #1: Type: text/plain, Size: 323 bytes --]
On Wed, May 20, 2026 at 05:15:12PM +0200, Bartosz Golaszewski wrote:
> I'm not sure about how to interpret the cover letter - is it fine to
> take this independently through the GPIO tree for v7.2?
AFAICT any dependency that exists is runtime only, it's just a bunch of
quirks and none of the patches touch header files.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v4 1/3] gpio: dwapb: Add ACPI ID LECA0001 for LECARC SoCs
2026-05-20 15:24 ` Mark Brown
@ 2026-05-20 17:11 ` Wolfram Sang
2026-05-20 17:15 ` Mark Brown
0 siblings, 1 reply; 10+ messages in thread
From: Wolfram Sang @ 2026-05-20 17:11 UTC (permalink / raw)
To: Mark Brown
Cc: Bartosz Golaszewski, Thomas Lin, rafael, lenb, hoan, linusw,
mika.westerberg, andriy.shevchenko, jsd, andi.shyti, linux-acpi,
linux-kernel, linux-gpio, linux-i2c, linux-spi, lucas_hao,
puntar_liu, jihua_tao, stan_xu, lumin_liu, notics_zhang,
braden_zhang, harold_wu, will_zhang, aurora_jiang, ryen_lin,
andy_jiang
[-- Attachment #1: Type: text/plain, Size: 475 bytes --]
On Wed, May 20, 2026 at 04:24:12PM +0100, Mark Brown wrote:
> On Wed, May 20, 2026 at 05:15:12PM +0200, Bartosz Golaszewski wrote:
>
> > I'm not sure about how to interpret the cover letter - is it fine to
> > take this independently through the GPIO tree for v7.2?
>
> AFAICT any dependency that exists is runtime only, it's just a bunch of
> quirks and none of the patches touch header files.
Patch 3 depends on patch 2. So, maybe it can go all in via GPIO?
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v4 1/3] gpio: dwapb: Add ACPI ID LECA0001 for LECARC SoCs
2026-05-20 17:11 ` Wolfram Sang
@ 2026-05-20 17:15 ` Mark Brown
0 siblings, 0 replies; 10+ messages in thread
From: Mark Brown @ 2026-05-20 17:15 UTC (permalink / raw)
To: Wolfram Sang
Cc: Bartosz Golaszewski, Thomas Lin, rafael, lenb, hoan, linusw,
mika.westerberg, andriy.shevchenko, jsd, andi.shyti, linux-acpi,
linux-kernel, linux-gpio, linux-i2c, linux-spi, lucas_hao,
puntar_liu, jihua_tao, stan_xu, lumin_liu, notics_zhang,
braden_zhang, harold_wu, will_zhang, aurora_jiang, ryen_lin,
andy_jiang
[-- Attachment #1: Type: text/plain, Size: 383 bytes --]
On Wed, May 20, 2026 at 07:11:38PM +0200, Wolfram Sang wrote:
> On Wed, May 20, 2026 at 04:24:12PM +0100, Mark Brown wrote:
> > AFAICT any dependency that exists is runtime only, it's just a bunch of
> > quirks and none of the patches touch header files.
> Patch 3 depends on patch 2. So, maybe it can go all in via GPIO?
Oh, right - you'd end up with a trivial add/add conflict.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v4 2/3] spi: dw-mmio: Add ACPI ID LECA0002 for LECARC SoCs
2026-05-20 8:11 [PATCH v4 0/3] arm64: Add LECARC ACPI IDs for DesignWare GPIO, SPI, I2C Thomas Lin
2026-05-20 8:11 ` [PATCH v4 1/3] gpio: dwapb: Add ACPI ID LECA0001 for LECARC SoCs Thomas Lin
@ 2026-05-20 8:11 ` Thomas Lin
2026-05-20 17:27 ` Mark Brown
2026-05-20 8:11 ` [PATCH v4 3/3] i2c: designware: Add ACPI ID LECA0003 " Thomas Lin
2 siblings, 1 reply; 10+ messages in thread
From: Thomas Lin @ 2026-05-20 8:11 UTC (permalink / raw)
To: rafael, lenb, hoan, linusw, brgl, mika.westerberg,
andriy.shevchenko, jsd, andi.shyti, broonie
Cc: linux-acpi, linux-kernel, linux-gpio, linux-i2c, linux-spi,
lucas_hao, puntar_liu, jihua_tao, stan_xu, lumin_liu,
notics_zhang, braden_zhang, harold_wu, will_zhang, aurora_jiang,
ryen_lin, andy_jiang, Thomas Lin
This ID requires a custom initialization function
dw_spi_hssi_no_dma_init() that sets dws->dws.ip to DW_HSSI_ID.
Signed-off-by: Thomas Lin <thomas_lin@lecomputing.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
drivers/acpi/acpi_apd.c | 7 +++++++
drivers/spi/spi-dw-mmio.c | 7 ++++---
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/drivers/acpi/acpi_apd.c b/drivers/acpi/acpi_apd.c
index bed0791c17fc..4d5a51d30adc 100644
--- a/drivers/acpi/acpi_apd.c
+++ b/drivers/acpi/acpi_apd.c
@@ -181,6 +181,12 @@ static const struct apd_device_desc hip08_spi_desc = {
.setup = acpi_apd_setup,
.fixed_clk_rate = 250000000,
};
+
+static const struct apd_device_desc leca_spi_desc = {
+ .setup = acpi_apd_setup,
+ .fixed_clk_rate = 400000000,
+};
+
#endif /* CONFIG_ARM64 */
#endif
@@ -251,6 +257,7 @@ static const struct acpi_device_id acpi_apd_device_ids[] = {
{ "HISI02A2", APD_ADDR(hip08_i2c_desc) },
{ "HISI02A3", APD_ADDR(hip08_lite_i2c_desc) },
{ "HISI0173", APD_ADDR(hip08_spi_desc) },
+ { "LECA0002", APD_ADDR(leca_spi_desc) },
{ "NXP0001", APD_ADDR(nxp_i2c_desc) },
#endif
{ }
diff --git a/drivers/spi/spi-dw-mmio.c b/drivers/spi/spi-dw-mmio.c
index 1bfdf24c3227..4fc864d38cff 100644
--- a/drivers/spi/spi-dw-mmio.c
+++ b/drivers/spi/spi-dw-mmio.c
@@ -226,8 +226,8 @@ static int dw_spi_hssi_init(struct platform_device *pdev,
return 0;
}
-static int dw_spi_intel_init(struct platform_device *pdev,
- struct dw_spi_mmio *dwsmmio)
+static int dw_spi_hssi_no_dma_init(struct platform_device *pdev,
+ struct dw_spi_mmio *dwsmmio)
{
dwsmmio->dws.ip = DW_HSSI_ID;
@@ -438,7 +438,7 @@ static const struct of_device_id dw_spi_mmio_of_match[] = {
{ .compatible = "amazon,alpine-dw-apb-ssi", .data = dw_spi_alpine_init},
{ .compatible = "renesas,rzn1-spi", .data = dw_spi_pssi_init},
{ .compatible = "snps,dwc-ssi-1.01a", .data = dw_spi_hssi_init},
- { .compatible = "intel,keembay-ssi", .data = dw_spi_intel_init},
+ { .compatible = "intel,keembay-ssi", .data = dw_spi_hssi_no_dma_init},
{
.compatible = "intel,mountevans-imc-ssi",
.data = dw_spi_mountevans_imc_init,
@@ -453,6 +453,7 @@ MODULE_DEVICE_TABLE(of, dw_spi_mmio_of_match);
#ifdef CONFIG_ACPI
static const struct acpi_device_id dw_spi_mmio_acpi_match[] = {
{"HISI0173", (kernel_ulong_t)dw_spi_pssi_init},
+ {"LECA0002", (kernel_ulong_t)dw_spi_hssi_no_dma_init},
{},
};
MODULE_DEVICE_TABLE(acpi, dw_spi_mmio_acpi_match);
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* Re: [PATCH v4 2/3] spi: dw-mmio: Add ACPI ID LECA0002 for LECARC SoCs
2026-05-20 8:11 ` [PATCH v4 2/3] spi: dw-mmio: Add ACPI ID LECA0002 " Thomas Lin
@ 2026-05-20 17:27 ` Mark Brown
0 siblings, 0 replies; 10+ messages in thread
From: Mark Brown @ 2026-05-20 17:27 UTC (permalink / raw)
To: Thomas Lin
Cc: rafael, lenb, hoan, linusw, brgl, mika.westerberg,
andriy.shevchenko, jsd, andi.shyti, linux-acpi, linux-kernel,
linux-gpio, linux-i2c, linux-spi, lucas_hao, puntar_liu,
jihua_tao, stan_xu, lumin_liu, notics_zhang, braden_zhang,
harold_wu, will_zhang, aurora_jiang, ryen_lin, andy_jiang
[-- Attachment #1: Type: text/plain, Size: 220 bytes --]
On Wed, May 20, 2026 at 04:11:35PM +0800, Thomas Lin wrote:
> This ID requires a custom initialization function
> dw_spi_hssi_no_dma_init() that sets dws->dws.ip to DW_HSSI_ID.
Acked-by: Mark Brown <broonie@kernel.org>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v4 3/3] i2c: designware: Add ACPI ID LECA0003 for LECARC SoCs
2026-05-20 8:11 [PATCH v4 0/3] arm64: Add LECARC ACPI IDs for DesignWare GPIO, SPI, I2C Thomas Lin
2026-05-20 8:11 ` [PATCH v4 1/3] gpio: dwapb: Add ACPI ID LECA0001 for LECARC SoCs Thomas Lin
2026-05-20 8:11 ` [PATCH v4 2/3] spi: dw-mmio: Add ACPI ID LECA0002 " Thomas Lin
@ 2026-05-20 8:11 ` Thomas Lin
2026-05-20 14:17 ` Wolfram Sang
2 siblings, 1 reply; 10+ messages in thread
From: Thomas Lin @ 2026-05-20 8:11 UTC (permalink / raw)
To: rafael, lenb, hoan, linusw, brgl, mika.westerberg,
andriy.shevchenko, jsd, andi.shyti, broonie
Cc: linux-acpi, linux-kernel, linux-gpio, linux-i2c, linux-spi,
lucas_hao, puntar_liu, jihua_tao, stan_xu, lumin_liu,
notics_zhang, braden_zhang, harold_wu, will_zhang, aurora_jiang,
ryen_lin, andy_jiang, Thomas Lin
Add ACPI ID "LECA0003" for LECARC SoCs that integrate
the DesignWare I2C controller.
Also add corresponding ACPI description in acpi_apd.c.
Signed-off-by: Thomas Lin <thomas_lin@lecomputing.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
---
drivers/acpi/acpi_apd.c | 6 ++++++
drivers/i2c/busses/i2c-designware-platdrv.c | 1 +
2 files changed, 7 insertions(+)
diff --git a/drivers/acpi/acpi_apd.c b/drivers/acpi/acpi_apd.c
index 4d5a51d30adc..008bd0552cb7 100644
--- a/drivers/acpi/acpi_apd.c
+++ b/drivers/acpi/acpi_apd.c
@@ -187,6 +187,11 @@ static const struct apd_device_desc leca_spi_desc = {
.fixed_clk_rate = 400000000,
};
+static const struct apd_device_desc leca_i2c_desc = {
+ .setup = acpi_apd_setup,
+ .fixed_clk_rate = 250000000,
+};
+
#endif /* CONFIG_ARM64 */
#endif
@@ -258,6 +263,7 @@ static const struct acpi_device_id acpi_apd_device_ids[] = {
{ "HISI02A3", APD_ADDR(hip08_lite_i2c_desc) },
{ "HISI0173", APD_ADDR(hip08_spi_desc) },
{ "LECA0002", APD_ADDR(leca_spi_desc) },
+ { "LECA0003", APD_ADDR(leca_i2c_desc) },
{ "NXP0001", APD_ADDR(nxp_i2c_desc) },
#endif
{ }
diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c
index 3351c4a9ef11..b435b4015f02 100644
--- a/drivers/i2c/busses/i2c-designware-platdrv.c
+++ b/drivers/i2c/busses/i2c-designware-platdrv.c
@@ -279,6 +279,7 @@ static const struct acpi_device_id dw_i2c_acpi_match[] = {
{ "INT3432", 0 },
{ "INT3433", 0 },
{ "INTC10EF", 0 },
+ { "LECA0003", 0 },
{}
};
MODULE_DEVICE_TABLE(acpi, dw_i2c_acpi_match);
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* Re: [PATCH v4 3/3] i2c: designware: Add ACPI ID LECA0003 for LECARC SoCs
2026-05-20 8:11 ` [PATCH v4 3/3] i2c: designware: Add ACPI ID LECA0003 " Thomas Lin
@ 2026-05-20 14:17 ` Wolfram Sang
0 siblings, 0 replies; 10+ messages in thread
From: Wolfram Sang @ 2026-05-20 14:17 UTC (permalink / raw)
To: Thomas Lin
Cc: rafael, lenb, hoan, linusw, brgl, mika.westerberg,
andriy.shevchenko, jsd, andi.shyti, broonie, linux-acpi,
linux-kernel, linux-gpio, linux-i2c, linux-spi, lucas_hao,
puntar_liu, jihua_tao, stan_xu, lumin_liu, notics_zhang,
braden_zhang, harold_wu, will_zhang, aurora_jiang, ryen_lin,
andy_jiang
[-- Attachment #1: Type: text/plain, Size: 550 bytes --]
On Wed, May 20, 2026 at 04:11:36PM +0800, Thomas Lin wrote:
> Add ACPI ID "LECA0003" for LECARC SoCs that integrate
> the DesignWare I2C controller.
> Also add corresponding ACPI description in acpi_apd.c.
>
> Signed-off-by: Thomas Lin <thomas_lin@lecomputing.com>
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Because of the dependency, it should probably go in via GPIO or SPI,
right? So:
Acked-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread