linux-i3c.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [RFC] SAMA7D65 SoC I3C controller driver
@ 2025-07-30 10:14 Durai.ManickamKR
  0 siblings, 0 replies; 3+ messages in thread
From: Durai.ManickamKR @ 2025-07-30 10:14 UTC (permalink / raw)
  To: linux-i3c, alexandre.belloni; +Cc: Hari.PrasathGE

Hi All,

We have an I3C controller in SAMA7D65 SoC based on ARM-Cortex A7. I am 
trying to add driver support for I3C controller which is based on 
mipi-hci spec 1.0 version of synopsys IP.  Supported driver for this IP 
is drivers/i3c/master/mipi-i3c-hci/core.c. We are using LSM6DSO IMU 
sensor as I3C slave device for verifying the common command codes (CCC) 
and I3C messages. Enabled the following configs in the kernel and added 
the I3C controller & I3C slave node in the device tree. With this kernel 
image, we are able successfully probe the mipi-i3c-hci driver. The host 
& slave controller devices are created as 0-208006c100b/ & 
e9000000.i3c/. So I hope RSTDAA, DISEC, DAA and configuring the I3C 
slave device by the I3C host controller is fine.

Kernel config:
CONFIG_I3C=y
CONFIG_MIPI_I3C_HCI=y

Device tree:
compatible = "mipi-i3c-hci";

Though we used synopsys IP,  we don't have support for DMA and few other 
register configurations like lets say setting endianess, setting command 
version and so on. So, I have to remove and modify these in the existing 
driver to make it work for our SoC. So, what i did was, i have created a 
copy of core.c file and included all the related dependent functions 
used in other files (pio.c, cmd_v1.c, dat_v1.c etc) in the same file. 
Created as a separate platform driver to support the i3c controller  in 
the path drivers/i3c/master/mchp-i3c-master.c.

So my query here are,

 1.
    Whether this approach is correct or not.
 2.
    Instead of creating a new driver file, shall we introduce a quirck
    for Microchip I3C and integrate the changes in the existing driver.

Please suggest us the best way to provide support for the SAMA7D65 I3C 
in kernel.


-- 
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c

^ permalink raw reply	[flat|nested] 3+ messages in thread
* [RFC] SAMA7D65 SoC I3C controller driver
@ 2025-07-30 10:55 Durai.ManickamKR
  2025-07-30 11:41 ` Wolfram Sang
  0 siblings, 1 reply; 3+ messages in thread
From: Durai.ManickamKR @ 2025-07-30 10:55 UTC (permalink / raw)
  To: linux-i3c, alexandre.belloni; +Cc: Hari.PrasathGE

Hi All,

We have an I3C controller in SAMA7D65 SoC based on ARM-Cortex A7. I am 
trying to add driver support for I3C controller which is based on 
mipi-hci spec 1.0 version of synopsys IP.  Supported driver for this IP 
is drivers/i3c/master/mipi-i3c-hci/core.c. We are using LSM6DSO IMU 
sensor as I3C slave device for verifying the common command codes (CCC) 
and I3C messages. Enabled the following configs in the kernel and added 
the I3C controller & I3C slave node in the device tree. With this kernel 
image, we are able successfully probe the mipi-i3c-hci driver. The host 
& slave controller devices are created as 0-208006c100b/ & 
e9000000.i3c/. So I hope RSTDAA, DISEC, DAA and configuring the I3C 
slave device by the I3C host controller is fine.

Kernel config:
CONFIG_I3C=y
CONFIG_MIPI_I3C_HCI=y

Device tree:
compatible = "mipi-i3c-hci";

Though we used synopsys IP,  we don't have support for DMA and few other 
register configurations like lets say setting endianess, setting command 
version and so on. So, I have to remove and modify these in the existing 
driver to make it work for our SoC. So, what i did was, i have created a 
copy of core.c file and included all the related dependent functions 
used in other files (pio.c, cmd_v1.c, dat_v1.c etc) in the same file. 
Created as a separate platform driver to support the i3c controller  in 
the path drivers/i3c/master/mchp-i3c-master.c.

So my query here are,

1.
    Whether this approach is correct or not.
2.
    Instead of creating a new driver file, shall we introduce a quirck
    for Microchip I3C and integrate the changes in the existing driver.

Please suggest us the best way to provide support for the SAMA7D65 I3C 
in kernel.

-- 
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c

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

end of thread, other threads:[~2025-07-30 23:27 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-30 10:14 [RFC] SAMA7D65 SoC I3C controller driver Durai.ManickamKR
  -- strict thread matches above, loose matches on Subject: below --
2025-07-30 10:55 Durai.ManickamKR
2025-07-30 11:41 ` Wolfram Sang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).