mbox series

[v5,0/6] Silvaco I3C master driver

Message ID 20210121101808.14654-1-miquel.raynal@bootlin.com
Headers show
Series Silvaco I3C master driver | expand

Message

Miquel Raynal Jan. 21, 2021, 10:18 a.m. UTC
Hello,

Here is the addition of a driver for the Silvaco I3C master IP.

Changes in v5:
* Added Rob's R-by when relevant.
* Fixed the robots warnings by pushing a little bit forward the changes in the
  mipi-hci binding file.
* Fixed the I3C master node name regex.
* Removed the redundant $ref: entries when the hz suffix is used.
* Simplified a little bit the regexes defining the child nodes.
* Updated the reg propertie description to better describe each entry.

Changes in v4:
* Converted the I3C binding file to yaml schema (including a license
  change, as requested by checkpatch.pl)
* Included this schema to the MIPI HCI binding file.
* Updated the Silvaco binding following Rob's review.
* No changes in the driver at all.

Changes in v3:
* Fix the MAINTAINERS file.
* Fix the bindings (clocks description, size-cells, etc)
* Add Rob's Ack on one patch.
* Dropped unnecessary locks.
* Used a hardware feature to automatically NACK IBI's during regular
  data transfers.
* Stopped flushing FIFOs (not needed).
* Entirely reworked the IBI handling logic.
* Dropped the warning when a device does not advertise it's dynamic
  address during an IBI.
* Moved the IBI logic into the master's workqueue instead of a
  threaded handler.
* Added a svc_i3c_master_readb() helper.
* Used consistent bit definitions (BIT() vs. FIELD_GET()).

Changes in v2:
* Change the manufacturer name from svc to silvaco.

Miquel Raynal (6):
  dt-bindings: i3c: Convert the bus description to yaml
  dt-bindings: i3c: mipi-hci: Include the bus binding
  dt-bindings: Add vendor prefix for Silvaco
  dt-bindings: i3c: Describe Silvaco master binding
  i3c: master: svc: Add Silvaco I3C master driver
  MAINTAINERS: Add Silvaco I3C master

 Documentation/devicetree/bindings/i3c/i3c.txt |  140 --
 .../devicetree/bindings/i3c/i3c.yaml          |  179 ++
 .../devicetree/bindings/i3c/mipi-i3c-hci.yaml |    9 +-
 .../bindings/i3c/silvaco,i3c-master.yaml      |   60 +
 .../devicetree/bindings/vendor-prefixes.yaml  |    2 +
 MAINTAINERS                                   |    8 +
 drivers/i3c/master/Kconfig                    |    8 +
 drivers/i3c/master/Makefile                   |    1 +
 drivers/i3c/master/svc-i3c-master.c           | 1478 +++++++++++++++++
 9 files changed, 1743 insertions(+), 142 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/i3c/i3c.txt
 create mode 100644 Documentation/devicetree/bindings/i3c/i3c.yaml
 create mode 100644 Documentation/devicetree/bindings/i3c/silvaco,i3c-master.yaml
 create mode 100644 drivers/i3c/master/svc-i3c-master.c

Comments

Rob Herring Feb. 5, 2021, 9:31 p.m. UTC | #1
On Thu, 21 Jan 2021 11:18:03 +0100, Miquel Raynal wrote:
> Attempting a conversion of the i3c.txt file to yaml schema with

> minimal content changes.

> 

> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>

> ---

>  Documentation/devicetree/bindings/i3c/i3c.txt | 140 --------------

>  .../devicetree/bindings/i3c/i3c.yaml          | 179 ++++++++++++++++++

>  2 files changed, 179 insertions(+), 140 deletions(-)

>  delete mode 100644 Documentation/devicetree/bindings/i3c/i3c.txt

>  create mode 100644 Documentation/devicetree/bindings/i3c/i3c.yaml

> 


Reviewed-by: Rob Herring <robh@kernel.org>
Rob Herring Feb. 5, 2021, 9:31 p.m. UTC | #2
On Thu, 21 Jan 2021 11:18:04 +0100, Miquel Raynal wrote:
> Update a little bit the content to match the bus binding, including:

> - the node title should have been named after the description done

>   in the historical i3c.txt file, ie: i3c-master@<address>

> - child nodes should be accepted even though the drivers do not currently

>   support it

> - #address-cells and #size-cells are also mandatory and have specific

>   values

> 

> Cc: Nicolas Pitre <nico@fluxnic.net>

> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>

> ---

>  Documentation/devicetree/bindings/i3c/mipi-i3c-hci.yaml | 9 +++++++--

>  1 file changed, 7 insertions(+), 2 deletions(-)

> 


Reviewed-by: Rob Herring <robh@kernel.org>
Alexandre Belloni Feb. 5, 2021, 11:44 p.m. UTC | #3
On Thu, 21 Jan 2021 11:18:02 +0100, Miquel Raynal wrote:
> Here is the addition of a driver for the Silvaco I3C master IP.

> 

> Changes in v5:

> * Added Rob's R-by when relevant.

> * Fixed the robots warnings by pushing a little bit forward the changes in the

>   mipi-hci binding file.

> * Fixed the I3C master node name regex.

> * Removed the redundant $ref: entries when the hz suffix is used.

> * Simplified a little bit the regexes defining the child nodes.

> * Updated the reg propertie description to better describe each entry.

> 

> [...]


Applied, thanks!

[1/6] dt-bindings: i3c: Convert the bus description to yaml
      commit: 5e4cdca887fdb445f962b3dbc2a2514d7c025d9b
[2/6] dt-bindings: i3c: mipi-hci: Include the bus binding
      commit: de67276e66fcfcd404516eebfd6436239dd9882a
[3/6] dt-bindings: Add vendor prefix for Silvaco
      commit: 57f7c9ff1b3fdc2cccb377207e538bf5f3ab03cf
[4/6] dt-bindings: i3c: Describe Silvaco master binding
      commit: b8b0446f1f1afd58e5a9ba14ab2caa08797f3bb5
[5/6] i3c: master: svc: Add Silvaco I3C master driver
      commit: dd3c52846d5954acd43f0e771689302f27dadc28
[6/6] MAINTAINERS: Add Silvaco I3C master
      commit: f06a1af8e739cb573b79cd175fd88534e912bea0

Best regards,
-- 
Alexandre Belloni <alexandre.belloni@bootlin.com>