* [PATCH 1/3] Add ACPI ID "LECA0001" for LECARC SoCs that use the DesignWare GPIO controller with V1 register offsets.
2026-05-14 3:43 [PATCH 0/3] Add LECARC ACPI IDs for DesignWare GPIO, SPI, I2C thomas
@ 2026-05-14 3:43 ` thomas
2026-05-14 3:43 ` [PATCH 2/3] Add ACPI ID "LECA0002" for LECARC SoCs. This ID requires a custom initialization function dw_spi_lecarc_init() that sets dws->dws.ip to DW_HSSI_ID thomas
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: thomas @ 2026-05-14 3:43 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
Signed-off-by: thomas <thomas_lin@lecomputing.com>
---
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] 6+ messages in thread* [PATCH 2/3] Add ACPI ID "LECA0002" for LECARC SoCs. This ID requires a custom initialization function dw_spi_lecarc_init() that sets dws->dws.ip to DW_HSSI_ID.
2026-05-14 3:43 [PATCH 0/3] Add LECARC ACPI IDs for DesignWare GPIO, SPI, I2C thomas
2026-05-14 3:43 ` [PATCH 1/3] Add ACPI ID "LECA0001" for LECARC SoCs that use the DesignWare GPIO controller with V1 register offsets thomas
@ 2026-05-14 3:43 ` thomas
2026-05-14 3:43 ` [PATCH 3/3] Add ACPI ID "LECA0003" for LECARC SoCs that integrate the DesignWare I2C controller thomas
2026-05-14 7:06 ` [PATCH 0/3] Add LECARC ACPI IDs for DesignWare GPIO, SPI, I2C Mark Brown
3 siblings, 0 replies; 6+ messages in thread
From: thomas @ 2026-05-14 3:43 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
Also add corresponding ACPI description in acpi_apd.c.
Signed-off-by: thomas <thomas_lin@lecomputing.com>
---
drivers/acpi/acpi_apd.c | 7 +++++++
drivers/spi/spi-dw-mmio.c | 9 +++++++++
2 files changed, 16 insertions(+)
diff --git a/drivers/acpi/acpi_apd.c b/drivers/acpi/acpi_apd.c
index bed0791c17fc..3a80e833215e 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
@@ -252,6 +258,7 @@ static const struct acpi_device_id acpi_apd_device_ids[] = {
{ "HISI02A3", APD_ADDR(hip08_lite_i2c_desc) },
{ "HISI0173", APD_ADDR(hip08_spi_desc) },
{ "NXP0001", APD_ADDR(nxp_i2c_desc) },
+ { "LECA0002", APD_ADDR(leca_spi_desc) },
#endif
{ }
};
diff --git a/drivers/spi/spi-dw-mmio.c b/drivers/spi/spi-dw-mmio.c
index 1bfdf24c3227..50b50553b360 100644
--- a/drivers/spi/spi-dw-mmio.c
+++ b/drivers/spi/spi-dw-mmio.c
@@ -234,6 +234,14 @@ static int dw_spi_intel_init(struct platform_device *pdev,
return 0;
}
+static int dw_spi_lecarc_init(struct platform_device *pdev,
+ struct dw_spi_mmio *dwsmmio)
+{
+ dwsmmio->dws.ip = DW_HSSI_ID;
+
+ return 0;
+}
+
/*
* DMA-based mem ops are not configured for this device and are not tested.
*/
@@ -453,6 +461,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_lecarc_init},
{},
};
MODULE_DEVICE_TABLE(acpi, dw_spi_mmio_acpi_match);
--
2.43.0
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 3/3] Add ACPI ID "LECA0003" for LECARC SoCs that integrate the DesignWare I2C controller.
2026-05-14 3:43 [PATCH 0/3] Add LECARC ACPI IDs for DesignWare GPIO, SPI, I2C thomas
2026-05-14 3:43 ` [PATCH 1/3] Add ACPI ID "LECA0001" for LECARC SoCs that use the DesignWare GPIO controller with V1 register offsets thomas
2026-05-14 3:43 ` [PATCH 2/3] Add ACPI ID "LECA0002" for LECARC SoCs. This ID requires a custom initialization function dw_spi_lecarc_init() that sets dws->dws.ip to DW_HSSI_ID thomas
@ 2026-05-14 3:43 ` thomas
2026-05-14 7:06 ` [PATCH 0/3] Add LECARC ACPI IDs for DesignWare GPIO, SPI, I2C Mark Brown
3 siblings, 0 replies; 6+ messages in thread
From: thomas @ 2026-05-14 3:43 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
Also add corresponding ACPI description in acpi_apd.c.
Signed-off-by: thomas <thomas_lin@lecomputing.com>
---
drivers/acpi/acpi_apd.c | 5 +++++
drivers/i2c/busses/i2c-designware-platdrv.c | 1 +
2 files changed, 6 insertions(+)
diff --git a/drivers/acpi/acpi_apd.c b/drivers/acpi/acpi_apd.c
index 3a80e833215e..ae6a7da56e89 100644
--- a/drivers/acpi/acpi_apd.c
+++ b/drivers/acpi/acpi_apd.c
@@ -187,6 +187,10 @@ 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
@@ -259,6 +263,7 @@ static const struct acpi_device_id acpi_apd_device_ids[] = {
{ "HISI0173", APD_ADDR(hip08_spi_desc) },
{ "NXP0001", APD_ADDR(nxp_i2c_desc) },
{ "LECA0002", APD_ADDR(leca_spi_desc) },
+ { "LECA0003", APD_ADDR(leca_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] 6+ messages in thread* Re: [PATCH 0/3] Add LECARC ACPI IDs for DesignWare GPIO, SPI, I2C
2026-05-14 3:43 [PATCH 0/3] Add LECARC ACPI IDs for DesignWare GPIO, SPI, I2C thomas
` (2 preceding siblings ...)
2026-05-14 3:43 ` [PATCH 3/3] Add ACPI ID "LECA0003" for LECARC SoCs that integrate the DesignWare I2C controller thomas
@ 2026-05-14 7:06 ` Mark Brown
3 siblings, 0 replies; 6+ messages in thread
From: Mark Brown @ 2026-05-14 7:06 UTC (permalink / raw)
To: thomas
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: 498 bytes --]
On Thu, May 14, 2026 at 11:43:14AM +0800, thomas wrote:
> This patch series adds ACPI identification for LECARC SoCs that
> integrate Synopsys DesignWare peripherals.
Please submit patches using subject lines reflecting the style for the
subsystem, this makes it easier for people to identify relevant patches.
Look at what existing commits in the area you're changing are doing and
make sure your subject lines visually resemble what they're doing.
There's no need to resubmit to fix this alone.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread