* [PATCH v6 1/5] dt-bindings: i3c: mipi-i3c-hci: add Microchip SAMA7D65 compatible
2026-05-07 8:48 [PATCH v6 0/5] Add microchip sama7d65 SoC I3C support Manikandan Muralidharan
@ 2026-05-07 8:48 ` Manikandan Muralidharan
2026-05-07 16:34 ` Frank Li
2026-05-07 8:48 ` [PATCH v6 2/5] clk: at91: sama7d65: add peripheral clock for I3C Manikandan Muralidharan
` (3 subsequent siblings)
4 siblings, 1 reply; 13+ messages in thread
From: Manikandan Muralidharan @ 2026-05-07 8:48 UTC (permalink / raw)
To: alexandre.belloni, Frank.Li, robh, krzk+dt, conor+dt,
nicolas.ferre, claudiu.beznea, linux, mturquette, sboyd, tytso,
aubin.constans, Ryan.Wanner, romain.sioen, durai.manickamkr,
cristian.birsan, adrian.hunter, jarkko.nikula, npitre, linux-i3c,
devicetree, linux-kernel, linux-arm-kernel, linux-clk
Cc: manikandan.m, Conor Dooley
Add the microchip,sama7d65-i3c-hci compatible string to the MIPI I3C
HCI binding. The Microchip SAMA7D65 I3C controller is based on the
MIPI HCI specification but requires two clocks, so add a conditional
constraint when this compatible is present.
Acked-by: Conor Dooley <conor.dooley@microchip•com>
Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip•com>
---
Changes in v5:
- drop min/maxItems around clock
- use else clause
- cosmetic fixes
Changes in v4:
- Define and describe the clock in the top-level properties
.../devicetree/bindings/i3c/mipi-i3c-hci.yaml | 27 ++++++++++++++++---
1 file changed, 23 insertions(+), 4 deletions(-)
diff --git a/Documentation/devicetree/bindings/i3c/mipi-i3c-hci.yaml b/Documentation/devicetree/bindings/i3c/mipi-i3c-hci.yaml
index 39bb1a1784c9..d488fb420945 100644
--- a/Documentation/devicetree/bindings/i3c/mipi-i3c-hci.yaml
+++ b/Documentation/devicetree/bindings/i3c/mipi-i3c-hci.yaml
@@ -9,9 +9,6 @@ title: MIPI I3C HCI
maintainers:
- Nicolas Pitre <npitre@baylibre•com>
-allOf:
- - $ref: /schemas/i3c/i3c.yaml#
-
description: |
MIPI I3C Host Controller Interface
@@ -28,9 +25,17 @@ description: |
properties:
compatible:
- const: mipi-i3c-hci
+ enum:
+ - mipi-i3c-hci
+ - microchip,sama7d65-i3c-hci
reg:
maxItems: 1
+
+ clocks:
+ items:
+ - description: Peripheral bus clock
+ - description: System Generic clock
+
interrupts:
maxItems: 1
@@ -39,6 +44,20 @@ required:
- reg
- interrupts
+allOf:
+ - $ref: /schemas/i3c/i3c.yaml#
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: microchip,sama7d65-i3c-hci
+ then:
+ required:
+ - clocks
+ else:
+ properties:
+ clocks: false
+
unevaluatedProperties: false
examples:
--
2.25.1
^ permalink raw reply related [flat|nested] 13+ messages in thread* Re: [PATCH v6 1/5] dt-bindings: i3c: mipi-i3c-hci: add Microchip SAMA7D65 compatible
2026-05-07 8:48 ` [PATCH v6 1/5] dt-bindings: i3c: mipi-i3c-hci: add Microchip SAMA7D65 compatible Manikandan Muralidharan
@ 2026-05-07 16:34 ` Frank Li
0 siblings, 0 replies; 13+ messages in thread
From: Frank Li @ 2026-05-07 16:34 UTC (permalink / raw)
To: Manikandan Muralidharan
Cc: alexandre.belloni, robh, krzk+dt, conor+dt, nicolas.ferre,
claudiu.beznea, linux, mturquette, sboyd, tytso, aubin.constans,
Ryan.Wanner, romain.sioen, durai.manickamkr, cristian.birsan,
adrian.hunter, jarkko.nikula, npitre, linux-i3c, devicetree,
linux-kernel, linux-arm-kernel, linux-clk, Conor Dooley
On Thu, May 07, 2026 at 02:18:01PM +0530, Manikandan Muralidharan wrote:
> Add the microchip,sama7d65-i3c-hci compatible string to the MIPI I3C
> HCI binding. The Microchip SAMA7D65 I3C controller is based on the
> MIPI HCI specification but requires two clocks, so add a conditional
> constraint when this compatible is present.
>
> Acked-by: Conor Dooley <conor.dooley@microchip•com>
> Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip•com>
Reviewed-by: Frank Li <Frank.Li@nxp•com>
> ---
> Changes in v5:
> - drop min/maxItems around clock
> - use else clause
> - cosmetic fixes
>
> Changes in v4:
> - Define and describe the clock in the top-level properties
>
> .../devicetree/bindings/i3c/mipi-i3c-hci.yaml | 27 ++++++++++++++++---
> 1 file changed, 23 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/i3c/mipi-i3c-hci.yaml b/Documentation/devicetree/bindings/i3c/mipi-i3c-hci.yaml
> index 39bb1a1784c9..d488fb420945 100644
> --- a/Documentation/devicetree/bindings/i3c/mipi-i3c-hci.yaml
> +++ b/Documentation/devicetree/bindings/i3c/mipi-i3c-hci.yaml
> @@ -9,9 +9,6 @@ title: MIPI I3C HCI
> maintainers:
> - Nicolas Pitre <npitre@baylibre•com>
>
> -allOf:
> - - $ref: /schemas/i3c/i3c.yaml#
> -
> description: |
> MIPI I3C Host Controller Interface
>
> @@ -28,9 +25,17 @@ description: |
>
> properties:
> compatible:
> - const: mipi-i3c-hci
> + enum:
> + - mipi-i3c-hci
> + - microchip,sama7d65-i3c-hci
> reg:
> maxItems: 1
> +
> + clocks:
> + items:
> + - description: Peripheral bus clock
> + - description: System Generic clock
> +
> interrupts:
> maxItems: 1
>
> @@ -39,6 +44,20 @@ required:
> - reg
> - interrupts
>
> +allOf:
> + - $ref: /schemas/i3c/i3c.yaml#
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: microchip,sama7d65-i3c-hci
> + then:
> + required:
> + - clocks
> + else:
> + properties:
> + clocks: false
> +
> unevaluatedProperties: false
>
> examples:
> --
> 2.25.1
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v6 2/5] clk: at91: sama7d65: add peripheral clock for I3C
2026-05-07 8:48 [PATCH v6 0/5] Add microchip sama7d65 SoC I3C support Manikandan Muralidharan
2026-05-07 8:48 ` [PATCH v6 1/5] dt-bindings: i3c: mipi-i3c-hci: add Microchip SAMA7D65 compatible Manikandan Muralidharan
@ 2026-05-07 8:48 ` Manikandan Muralidharan
2026-05-16 16:06 ` Claudiu Beznea
2026-05-07 8:48 ` [PATCH v6 3/5] i3c: mipi-i3c-hci: add microchip sama7d65 SoC compatible with the required quirk Manikandan Muralidharan
` (2 subsequent siblings)
4 siblings, 1 reply; 13+ messages in thread
From: Manikandan Muralidharan @ 2026-05-07 8:48 UTC (permalink / raw)
To: alexandre.belloni, Frank.Li, robh, krzk+dt, conor+dt,
nicolas.ferre, claudiu.beznea, linux, mturquette, sboyd, tytso,
aubin.constans, Ryan.Wanner, romain.sioen, durai.manickamkr,
cristian.birsan, adrian.hunter, jarkko.nikula, npitre, linux-i3c,
devicetree, linux-kernel, linux-arm-kernel, linux-clk
Cc: manikandan.m
From: Durai Manickam KR <durai.manickamkr@microchip•com>
Add peripheral clock description for I3C.
Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip•com>
Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip•com>
---
Changes in v3:
- Fixed indentation issues
drivers/clk/at91/sama7d65.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/clk/at91/sama7d65.c b/drivers/clk/at91/sama7d65.c
index 7dee2b160ffb..ba8ff413fa2c 100644
--- a/drivers/clk/at91/sama7d65.c
+++ b/drivers/clk/at91/sama7d65.c
@@ -677,6 +677,7 @@ static struct {
{ .n = "uhphs_clk", .p = PCK_PARENT_HW_MCK5, .id = 101, },
{ .n = "dsi_clk", .p = PCK_PARENT_HW_MCK3, .id = 103, },
{ .n = "lvdsc_clk", .p = PCK_PARENT_HW_MCK3, .id = 104, },
+ { .n = "i3cc_clk", .p = PCK_PARENT_HW_MCK8, .id = 105, },
};
/*
--
2.25.1
^ permalink raw reply related [flat|nested] 13+ messages in thread* Re: [PATCH v6 2/5] clk: at91: sama7d65: add peripheral clock for I3C
2026-05-07 8:48 ` [PATCH v6 2/5] clk: at91: sama7d65: add peripheral clock for I3C Manikandan Muralidharan
@ 2026-05-16 16:06 ` Claudiu Beznea
0 siblings, 0 replies; 13+ messages in thread
From: Claudiu Beznea @ 2026-05-16 16:06 UTC (permalink / raw)
To: Manikandan Muralidharan, alexandre.belloni, Frank.Li, robh,
krzk+dt, conor+dt, nicolas.ferre, linux, mturquette, sboyd, tytso,
aubin.constans, Ryan.Wanner, romain.sioen, durai.manickamkr,
cristian.birsan, adrian.hunter, jarkko.nikula, npitre, linux-i3c,
devicetree, linux-kernel, linux-arm-kernel, linux-clk
On 5/7/26 11:48, Manikandan Muralidharan wrote:
> From: Durai Manickam KR<durai.manickamkr@microchip•com>
>
> Add peripheral clock description for I3C.
>
> Signed-off-by: Durai Manickam KR<durai.manickamkr@microchip•com>
> Signed-off-by: Manikandan Muralidharan<manikandan.m@microchip•com>
Reviewed-by: Claudiu Beznea <claudiu.beznea@tuxon•dev>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v6 3/5] i3c: mipi-i3c-hci: add microchip sama7d65 SoC compatible with the required quirk
2026-05-07 8:48 [PATCH v6 0/5] Add microchip sama7d65 SoC I3C support Manikandan Muralidharan
2026-05-07 8:48 ` [PATCH v6 1/5] dt-bindings: i3c: mipi-i3c-hci: add Microchip SAMA7D65 compatible Manikandan Muralidharan
2026-05-07 8:48 ` [PATCH v6 2/5] clk: at91: sama7d65: add peripheral clock for I3C Manikandan Muralidharan
@ 2026-05-07 8:48 ` Manikandan Muralidharan
2026-05-07 16:34 ` Frank Li
2026-05-07 8:48 ` [PATCH v6 4/5] ARM: dts: microchip: add I3C controller Manikandan Muralidharan
2026-05-07 8:48 ` [PATCH v6 5/5] ARM: configs: at91: sama7: add sama7d65 i3c-hci Manikandan Muralidharan
4 siblings, 1 reply; 13+ messages in thread
From: Manikandan Muralidharan @ 2026-05-07 8:48 UTC (permalink / raw)
To: alexandre.belloni, Frank.Li, robh, krzk+dt, conor+dt,
nicolas.ferre, claudiu.beznea, linux, mturquette, sboyd, tytso,
aubin.constans, Ryan.Wanner, romain.sioen, durai.manickamkr,
cristian.birsan, adrian.hunter, jarkko.nikula, npitre, linux-i3c,
devicetree, linux-kernel, linux-arm-kernel, linux-clk
Cc: manikandan.m
Add support for microchip sama7d65 SoC I3C HCI master only IP
with additional clock support to enable bulk clock acquisition
Reviewed-by: Adrian Hunter <adrian.hunter@intel•com>
Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip•com>
---
Changes in v6:
- Reorder local variable definitions in i3c_hci_probe in descending
order of line length
Changes in v5:
- Remove HCI_QUIRK_CLK_SUPPORT quirk and call
devm_clk_bulk_get_all_enabled unconditionally
Changes in v4:
- Remove the clock index variable MCHP_I3C_CLK_IDX
Changes in v3:
- Make use of existing HCI_QUIRK_* code base
- Introduce HCI_QUIRK_CLK_SUPPORT to handle/enable the required Peripheral
and system generic clk in bulk
Changes in v2:
- Platform specific changes are integrated in the existing mipi-i3c-hci
driver by introducing separate MCHP_HCI_QUIRK_* quirks and vendor
specific quirk files
drivers/i3c/master/mipi-i3c-hci/core.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/i3c/master/mipi-i3c-hci/core.c b/drivers/i3c/master/mipi-i3c-hci/core.c
index b781dbed2165..093a85eedfcb 100644
--- a/drivers/i3c/master/mipi-i3c-hci/core.c
+++ b/drivers/i3c/master/mipi-i3c-hci/core.c
@@ -8,6 +8,7 @@
*/
#include <linux/bitfield.h>
+#include <linux/clk.h>
#include <linux/device.h>
#include <linux/errno.h>
#include <linux/i3c/master.h>
@@ -969,6 +970,7 @@ static int i3c_hci_init(struct i3c_hci *hci)
static int i3c_hci_probe(struct platform_device *pdev)
{
const struct mipi_i3c_hci_platform_data *pdata = pdev->dev.platform_data;
+ struct clk_bulk_data *clks;
struct i3c_hci *hci;
int irq, ret;
@@ -1001,6 +1003,11 @@ static int i3c_hci_probe(struct platform_device *pdev)
if (!hci->quirks && platform_get_device_id(pdev))
hci->quirks = platform_get_device_id(pdev)->driver_data;
+ ret = devm_clk_bulk_get_all_enabled(&pdev->dev, &clks);
+ if (ret < 0)
+ return dev_err_probe(&pdev->dev, ret,
+ "Failed to get clocks\n");
+
ret = i3c_hci_init(hci);
if (ret)
return ret;
@@ -1031,6 +1038,9 @@ static void i3c_hci_remove(struct platform_device *pdev)
static const __maybe_unused struct of_device_id i3c_hci_of_match[] = {
{ .compatible = "mipi-i3c-hci", },
+ { .compatible = "microchip,sama7d65-i3c-hci",
+ .data = (void *)(HCI_QUIRK_PIO_MODE | HCI_QUIRK_OD_PP_TIMING |
+ HCI_QUIRK_RESP_BUF_THLD) },
{},
};
MODULE_DEVICE_TABLE(of, i3c_hci_of_match);
--
2.25.1
^ permalink raw reply related [flat|nested] 13+ messages in thread* Re: [PATCH v6 3/5] i3c: mipi-i3c-hci: add microchip sama7d65 SoC compatible with the required quirk
2026-05-07 8:48 ` [PATCH v6 3/5] i3c: mipi-i3c-hci: add microchip sama7d65 SoC compatible with the required quirk Manikandan Muralidharan
@ 2026-05-07 16:34 ` Frank Li
0 siblings, 0 replies; 13+ messages in thread
From: Frank Li @ 2026-05-07 16:34 UTC (permalink / raw)
To: Manikandan Muralidharan
Cc: alexandre.belloni, robh, krzk+dt, conor+dt, nicolas.ferre,
claudiu.beznea, linux, mturquette, sboyd, tytso, aubin.constans,
Ryan.Wanner, romain.sioen, durai.manickamkr, cristian.birsan,
adrian.hunter, jarkko.nikula, npitre, linux-i3c, devicetree,
linux-kernel, linux-arm-kernel, linux-clk
On Thu, May 07, 2026 at 02:18:03PM +0530, Manikandan Muralidharan wrote:
> Add support for microchip sama7d65 SoC I3C HCI master only IP
> with additional clock support to enable bulk clock acquisition
add apply the required quirk.
>
> Reviewed-by: Adrian Hunter <adrian.hunter@intel•com>
> Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip•com>
> ---
...
> @@ -1031,6 +1038,9 @@ static void i3c_hci_remove(struct platform_device *pdev)
>
> static const __maybe_unused struct of_device_id i3c_hci_of_match[] = {
> { .compatible = "mipi-i3c-hci", },
> + { .compatible = "microchip,sama7d65-i3c-hci",
> + .data = (void *)(HCI_QUIRK_PIO_MODE | HCI_QUIRK_OD_PP_TIMING |
> + HCI_QUIRK_RESP_BUF_THLD) },
Now don't prefer directly convert drive data to void *point. ACPI use
ulong as driver data. It can be updated later.
Frank
> {},
> };
> MODULE_DEVICE_TABLE(of, i3c_hci_of_match);
> --
> 2.25.1
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v6 4/5] ARM: dts: microchip: add I3C controller
2026-05-07 8:48 [PATCH v6 0/5] Add microchip sama7d65 SoC I3C support Manikandan Muralidharan
` (2 preceding siblings ...)
2026-05-07 8:48 ` [PATCH v6 3/5] i3c: mipi-i3c-hci: add microchip sama7d65 SoC compatible with the required quirk Manikandan Muralidharan
@ 2026-05-07 8:48 ` Manikandan Muralidharan
2026-05-16 16:07 ` Claudiu Beznea
2026-05-07 8:48 ` [PATCH v6 5/5] ARM: configs: at91: sama7: add sama7d65 i3c-hci Manikandan Muralidharan
4 siblings, 1 reply; 13+ messages in thread
From: Manikandan Muralidharan @ 2026-05-07 8:48 UTC (permalink / raw)
To: alexandre.belloni, Frank.Li, robh, krzk+dt, conor+dt,
nicolas.ferre, claudiu.beznea, linux, mturquette, sboyd, tytso,
aubin.constans, Ryan.Wanner, romain.sioen, durai.manickamkr,
cristian.birsan, adrian.hunter, jarkko.nikula, npitre, linux-i3c,
devicetree, linux-kernel, linux-arm-kernel, linux-clk
Cc: manikandan.m
From: Durai Manickam KR <durai.manickamkr@microchip•com>
Add I3C controller for sama7d65 SoC.
Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip•com>
Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip•com>
---
Changes in v3:
- Remove clock-names property as driver enables the clk in bulk
arch/arm/boot/dts/microchip/sama7d65.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm/boot/dts/microchip/sama7d65.dtsi b/arch/arm/boot/dts/microchip/sama7d65.dtsi
index 67253bbc08df..ec200848c153 100644
--- a/arch/arm/boot/dts/microchip/sama7d65.dtsi
+++ b/arch/arm/boot/dts/microchip/sama7d65.dtsi
@@ -1055,5 +1055,13 @@ gic: interrupt-controller@e8c11000 {
#address-cells = <0>;
interrupt-controller;
};
+
+ i3c: i3c@e9000000 {
+ compatible = "microchip,sama7d65-i3c-hci";
+ reg = <0xe9000000 0x300>;
+ interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 105>, <&pmc PMC_TYPE_GCK 105>;
+ status = "disabled";
+ };
};
};
--
2.25.1
^ permalink raw reply related [flat|nested] 13+ messages in thread* Re: [PATCH v6 4/5] ARM: dts: microchip: add I3C controller
2026-05-07 8:48 ` [PATCH v6 4/5] ARM: dts: microchip: add I3C controller Manikandan Muralidharan
@ 2026-05-16 16:07 ` Claudiu Beznea
2026-05-18 6:10 ` Manikandan.M
0 siblings, 1 reply; 13+ messages in thread
From: Claudiu Beznea @ 2026-05-16 16:07 UTC (permalink / raw)
To: Manikandan Muralidharan, alexandre.belloni, Frank.Li, robh,
krzk+dt, conor+dt, nicolas.ferre, linux, mturquette, sboyd, tytso,
aubin.constans, Ryan.Wanner, romain.sioen, durai.manickamkr,
cristian.birsan, adrian.hunter, jarkko.nikula, npitre, linux-i3c,
devicetree, linux-kernel, linux-arm-kernel, linux-clk
Hi, Manikandan,
On 5/7/26 11:48, Manikandan Muralidharan wrote:
> From: Durai Manickam KR <durai.manickamkr@microchip•com>
>
> Add I3C controller for sama7d65 SoC.
>
> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip•com>
> Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip•com>
> ---
> Changes in v3:
> - Remove clock-names property as driver enables the clk in bulk
>
> arch/arm/boot/dts/microchip/sama7d65.dtsi | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/arch/arm/boot/dts/microchip/sama7d65.dtsi b/arch/arm/boot/dts/microchip/sama7d65.dtsi
> index 67253bbc08df..ec200848c153 100644
> --- a/arch/arm/boot/dts/microchip/sama7d65.dtsi
> +++ b/arch/arm/boot/dts/microchip/sama7d65.dtsi
> @@ -1055,5 +1055,13 @@ gic: interrupt-controller@e8c11000 {
> #address-cells = <0>;
> interrupt-controller;
> };
> +
> + i3c: i3c@e9000000 {
> + compatible = "microchip,sama7d65-i3c-hci";
> + reg = <0xe9000000 0x300>;
From manual at [1] I see the size of I3CC region is 0x1000. Unless that is
wrong I think we should use 0x1000 to properly describe de HW. Please let me
know and I can do it while applying.
Thank you,
Claudiu
[1]
https://ww1.microchip.com/downloads/aemDocuments/documents/MPU32/ProductDocuments/DataSheets/SAMA7D6-Series-Data-Sheet-DS60001851.pdf
> + interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&pmc PMC_TYPE_PERIPHERAL 105>, <&pmc PMC_TYPE_GCK 105>;
> + status = "disabled";
> + };
> };
> };
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH v6 4/5] ARM: dts: microchip: add I3C controller
2026-05-16 16:07 ` Claudiu Beznea
@ 2026-05-18 6:10 ` Manikandan.M
2026-05-18 7:27 ` Nicolas Ferre
0 siblings, 1 reply; 13+ messages in thread
From: Manikandan.M @ 2026-05-18 6:10 UTC (permalink / raw)
To: claudiu.beznea
Cc: alexandre.belloni, Frank.Li, robh, krzk+dt, conor+dt,
Nicolas.Ferre, linux, mturquette, sboyd, tytso, Aubin.Constans,
Ryan.Wanner, Romain.Sioen, durai.manickamkr, Cristian.Birsan,
adrian.hunter, jarkko.nikula, npitre, linux-i3c, devicetree,
linux-kernel, linux-arm-kernel, linux-clk
Hi Claudiu,
On 16/05/26 9:37 pm, Claudiu Beznea wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know
> the content is safe
>
> Hi, Manikandan,
>
> On 5/7/26 11:48, Manikandan Muralidharan wrote:
>> From: Durai Manickam KR <durai.manickamkr@microchip•com>
>>
>> Add I3C controller for sama7d65 SoC.
>>
>> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip•com>
>> Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip•com>
>> ---
>> Changes in v3:
>> - Remove clock-names property as driver enables the clk in bulk
>>
>> arch/arm/boot/dts/microchip/sama7d65.dtsi | 8 ++++++++
>> 1 file changed, 8 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/microchip/sama7d65.dtsi
>> b/arch/arm/boot/dts/microchip/sama7d65.dtsi
>> index 67253bbc08df..ec200848c153 100644
>> --- a/arch/arm/boot/dts/microchip/sama7d65.dtsi
>> +++ b/arch/arm/boot/dts/microchip/sama7d65.dtsi
>> @@ -1055,5 +1055,13 @@ gic: interrupt-controller@e8c11000 {
>> #address-cells = <0>;
>> interrupt-controller;
>> };
>> +
>> + i3c: i3c@e9000000 {
>> + compatible = "microchip,sama7d65-i3c-hci";
>> + reg = <0xe9000000 0x300>;
>
> From manual at [1] I see the size of I3CC region is 0x1000. Unless that is
> wrong I think we should use 0x1000 to properly describe de HW. Please
> let me
> know and I can do it while applying.
>
According to Table 78.6 (Register Summary), the I3CC register space
extends up to offset 0x258, Ideally the mapping should have been 0x400
(next power of 2 considering the memory region alignment), using 0x1000
is also acceptable. Please advise which value is preferred.
> Thank you,
> Claudiu
>
> [1]
> https://ww1.microchip.com/downloads/aemDocuments/documents/MPU32/ProductDocuments/DataSheets/SAMA7D6-Series-Data-Sheet-DS60001851.pdf
>
>> + interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
>> + clocks = <&pmc PMC_TYPE_PERIPHERAL 105>, <&pmc
>> PMC_TYPE_GCK 105>;
>> + status = "disabled";
>> + };
>> };
>> };
>
--
Thanks and Regards,
Manikandan M.
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH v6 4/5] ARM: dts: microchip: add I3C controller
2026-05-18 6:10 ` Manikandan.M
@ 2026-05-18 7:27 ` Nicolas Ferre
0 siblings, 0 replies; 13+ messages in thread
From: Nicolas Ferre @ 2026-05-18 7:27 UTC (permalink / raw)
To: Manikandan M - I67131, Claudiu Beznea
Cc: alexandre.belloni@bootlin•com, Frank.Li@nxp•com, robh@kernel•org,
krzk+dt@kernel•org, conor+dt@kernel•org, linux@armlinux•org.uk,
mturquette@baylibre•com, sboyd@kernel•org, tytso@mit•edu,
Aubin Constans - M51280, Ryan Wanner - C70674,
Romain Sioen - M70749, durai.manickamkr@microchip•com,
Cristian Birsan - M91496, adrian.hunter@intel•com,
jarkko.nikula@linux•intel.com, npitre@baylibre•com,
linux-i3c@lists•infradead.org, devicetree@vger•kernel.org,
linux-kernel@vger•kernel.org,
linux-arm-kernel@lists•infradead.org, linux-clk@vger•kernel.org
On 18/05/2026 at 08:10, Manikandan M - I67131 wrote:
> Hi Claudiu,
>
> On 16/05/26 9:37 pm, Claudiu Beznea wrote:
>> EXTERNAL EMAIL: Do not click links or open attachments unless you know
>> the content is safe
>>
>> Hi, Manikandan,
>>
>> On 5/7/26 11:48, Manikandan Muralidharan wrote:
>>> From: Durai Manickam KR <durai.manickamkr@microchip•com>
>>>
>>> Add I3C controller for sama7d65 SoC.
>>>
>>> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip•com>
>>> Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip•com>
>>> ---
>>> Changes in v3:
>>> - Remove clock-names property as driver enables the clk in bulk
>>>
>>> arch/arm/boot/dts/microchip/sama7d65.dtsi | 8 ++++++++
>>> 1 file changed, 8 insertions(+)
>>>
>>> diff --git a/arch/arm/boot/dts/microchip/sama7d65.dtsi
>>> b/arch/arm/boot/dts/microchip/sama7d65.dtsi
>>> index 67253bbc08df..ec200848c153 100644
>>> --- a/arch/arm/boot/dts/microchip/sama7d65.dtsi
>>> +++ b/arch/arm/boot/dts/microchip/sama7d65.dtsi
>>> @@ -1055,5 +1055,13 @@ gic: interrupt-controller@e8c11000 {
>>> #address-cells = <0>;
>>> interrupt-controller;
>>> };
>>> +
>>> + i3c: i3c@e9000000 {
>>> + compatible = "microchip,sama7d65-i3c-hci";
>>> + reg = <0xe9000000 0x300>;
>>
>> From manual at [1] I see the size of I3CC region is 0x1000. Unless that is
>> wrong I think we should use 0x1000 to properly describe de HW. Please
>> let me
>> know and I can do it while applying.
The memory map simply describes what is the next memory boundary
assigned (or void in this case), not the actual size of the IP user
interface.
So we took the opportunity to avoid mapping unused memory.
> According to Table 78.6 (Register Summary), the I3CC register space
> extends up to offset 0x258, Ideally the mapping should have been 0x400
The underlying memory mapping certainly does what is best, so I would
cling to being the closest to last register described. So your 0x300
value looks very good to me.
Best regards,
Nicolas
> (next power of 2 considering the memory region alignment), using 0x1000
> is also acceptable. Please advise which value is preferred.
>
>> Thank you,
>> Claudiu
>>
>> [1]
>> https://ww1.microchip.com/downloads/aemDocuments/documents/MPU32/ProductDocuments/DataSheets/SAMA7D6-Series-Data-Sheet-DS60001851.pdf
>>
>>> + interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
>>> + clocks = <&pmc PMC_TYPE_PERIPHERAL 105>, <&pmc
>>> PMC_TYPE_GCK 105>;
>>> + status = "disabled";
>>> + };
>>> };
>>> };
>>
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v6 5/5] ARM: configs: at91: sama7: add sama7d65 i3c-hci
2026-05-07 8:48 [PATCH v6 0/5] Add microchip sama7d65 SoC I3C support Manikandan Muralidharan
` (3 preceding siblings ...)
2026-05-07 8:48 ` [PATCH v6 4/5] ARM: dts: microchip: add I3C controller Manikandan Muralidharan
@ 2026-05-07 8:48 ` Manikandan Muralidharan
2026-05-16 16:07 ` Claudiu Beznea
4 siblings, 1 reply; 13+ messages in thread
From: Manikandan Muralidharan @ 2026-05-07 8:48 UTC (permalink / raw)
To: alexandre.belloni, Frank.Li, robh, krzk+dt, conor+dt,
nicolas.ferre, claudiu.beznea, linux, mturquette, sboyd, tytso,
aubin.constans, Ryan.Wanner, romain.sioen, durai.manickamkr,
cristian.birsan, adrian.hunter, jarkko.nikula, npitre, linux-i3c,
devicetree, linux-kernel, linux-arm-kernel, linux-clk
Cc: manikandan.m
Enable the configs needed for I3C framework and microchip
sama7d65 i3c-hci driver.
Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip•com>
Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip•com>
---
arch/arm/configs/sama7_defconfig | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/configs/sama7_defconfig b/arch/arm/configs/sama7_defconfig
index e52f671ccec4..6470c7d3fe8a 100644
--- a/arch/arm/configs/sama7_defconfig
+++ b/arch/arm/configs/sama7_defconfig
@@ -117,6 +117,8 @@ CONFIG_HW_RANDOM=y
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_AT91=y
+CONFIG_I3C=y
+CONFIG_MIPI_I3C_HCI=y
CONFIG_SPI=y
CONFIG_SPI_ATMEL=y
CONFIG_SPI_ATMEL_QUADSPI=y
--
2.25.1
^ permalink raw reply related [flat|nested] 13+ messages in thread* Re: [PATCH v6 5/5] ARM: configs: at91: sama7: add sama7d65 i3c-hci
2026-05-07 8:48 ` [PATCH v6 5/5] ARM: configs: at91: sama7: add sama7d65 i3c-hci Manikandan Muralidharan
@ 2026-05-16 16:07 ` Claudiu Beznea
0 siblings, 0 replies; 13+ messages in thread
From: Claudiu Beznea @ 2026-05-16 16:07 UTC (permalink / raw)
To: Manikandan Muralidharan, alexandre.belloni, Frank.Li, robh,
krzk+dt, conor+dt, nicolas.ferre, linux, mturquette, sboyd, tytso,
aubin.constans, Ryan.Wanner, romain.sioen, durai.manickamkr,
cristian.birsan, adrian.hunter, jarkko.nikula, npitre, linux-i3c,
devicetree, linux-kernel, linux-arm-kernel, linux-clk
On 5/7/26 11:48, Manikandan Muralidharan wrote:
> Enable the configs needed for I3C framework and microchip
> sama7d65 i3c-hci driver.
>
> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip•com>
> Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip•com>
Reviewed-by: Claudiu Beznea <claudiu.beznea@tuxon•dev>
^ permalink raw reply [flat|nested] 13+ messages in thread