Skip to contentSkip to conversation

iommu/ipmmu-vmsa: Add r8a7795 DT binding

PATCH In review Magnus Damm 7 participants 9 messages Feb 29, 2016 – Feb 8, 2017

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 iommu/ipmmu-vmsa: Add r8a7795 DT binding

From: Magnus Damm <[email protected]>

Update the IPMMU DT binding documentation to include the r8a7795 compat string as well as the "renesas,ipmmu-main" property that on r8a7795 will be used to describe the topology and the relationship between the various cache IPMMU instances and the main IPMMU.

---

Written against linux-next tag next-20160229

 Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt |   15 ++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)
Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt +13 -2
@@ -7,23 +7,34 @@ connected to the IPMMU through a port ca
 
 Required Properties:
 
-  - compatible: Must contain SoC-specific and generic entries from below.
+  - compatible: Must contain SoC-specific and generic entry below in case
+    the device is compatible with the R-Car Gen2 VMSA-compatible IPMMU.
 
     - "renesas,ipmmu-r8a73a4" for the R8A73A4 (R-Mobile APE6) IPMMU.
     - "renesas,ipmmu-r8a7790" for the R8A7790 (R-Car H2) IPMMU.
     - "renesas,ipmmu-r8a7791" for the R8A7791 (R-Car M2-W) IPMMU.
     - "renesas,ipmmu-r8a7793" for the R8A7793 (R-Car M2-N) IPMMU.
     - "renesas,ipmmu-r8a7794" for the R8A7794 (R-Car E2) IPMMU.
+    - "renesas,ipmmu-r8a7795" for the R8A7795 (R-Car H3) IPMMU.
     - "renesas,ipmmu-vmsa" for generic R-Car Gen2 VMSA-compatible IPMMU.
 
   - reg: Base address and size of the IPMMU registers.
   - interrupts: Specifiers for the MMU fault interrupts. For instances that
     support secure mode two interrupts must be specified, for non-secure and
     secure mode, in that order. For instances that don't support secure mode a
-    single interrupt must be specified.
+    single interrupt must be specified. Not required for cache IPMMUs.
 
   - #iommu-cells: Must be 1.
 
+Optional properties:
+
+  - renesas,ipmmu-main: reference to the main IPMMU instance in two cells.
+    The first cell is a phandle to the main IPMMU and the second cell is
+    the interrupt bit number associated with the particular cache IPMMU device.
+    The interrupt bit number needs to match the main IPMMU IMSSTR register.
+    Only used by cache IPMMU instances.
+
+
 Each bus master connected to an IPMMU must reference the IPMMU in its device
 node with the following property:
 
#2 lore raw
In reply to Magnus Damm

Hi Magnus,

Quoted 8 lines · Magnus Damm

From: Magnus Damm <[email protected]>

Update the IPMMU DT binding documentation to include the r8a7795 compat string as well as the "renesas,ipmmu-main" property that on r8a7795 will be used to describe the topology and the relationship between the various cache IPMMU instances and the main IPMMU.

Thanks for your patch!

Quoted 33 lines

---

Written against linux-next tag next-20160229

 Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt |   15 ++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)
Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt 2016-02-29 23:25:15.540513000 +0900 renamed from Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt +4 -2
@@ -7,23 +7,34 @@ connected to the IPMMU through a port ca
 
 Required Properties:
 
-  - compatible: Must contain SoC-specific and generic entries from below.
+  - compatible: Must contain SoC-specific and generic entry below in case
+    the device is compatible with the R-Car Gen2 VMSA-compatible IPMMU.
 
     - "renesas,ipmmu-r8a73a4" for the R8A73A4 (R-Mobile APE6) IPMMU.
     - "renesas,ipmmu-r8a7790" for the R8A7790 (R-Car H2) IPMMU.
     - "renesas,ipmmu-r8a7791" for the R8A7791 (R-Car M2-W) IPMMU.
     - "renesas,ipmmu-r8a7793" for the R8A7793 (R-Car M2-N) IPMMU.
     - "renesas,ipmmu-r8a7794" for the R8A7794 (R-Car E2) IPMMU.
+    - "renesas,ipmmu-r8a7795" for the R8A7795 (R-Car H3) IPMMU.
     - "renesas,ipmmu-vmsa" for generic R-Car Gen2 VMSA-compatible IPMMU.
 
   - reg: Base address and size of the IPMMU registers.
   - interrupts: Specifiers for the MMU fault interrupts. For instances that
     support secure mode two interrupts must be specified, for non-secure and
     secure mode, in that order. For instances that don't support secure mode a
-    single interrupt must be specified.
+    single interrupt must be specified. Not required for cache IPMMUs.
 
   - #iommu-cells: Must be 1.

Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt 2016-02-29 23:25:15.540513000 +0900 connected to the IPMMU through a port ca · line 37

Quoted 10 lines
Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt 2016-02-29 23:25:15.540513000 +0900 renamed from Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt +9 -0
 
+Optional properties:
+
+  - renesas,ipmmu-main: reference to the main IPMMU instance in two cells.
+    The first cell is a phandle to the main IPMMU and the second cell is
+    the interrupt bit number associated with the particular cache IPMMU device.
+    The interrupt bit number needs to match the main IPMMU IMSSTR register.
+    Only used by cache IPMMU instances.
+
+

I think it would be good to include an example of how the optional properties should be used.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

#3 lore raw
In reply to Magnus Damm
Quoted 7 lines · Magnus Damm

From: Magnus Damm <[email protected]>

Update the IPMMU DT binding documentation to include the r8a7795 compat string as well as the "renesas,ipmmu-main" property that on r8a7795 will be used to describe the topology and the relationship between the various cache IPMMU instances and the main IPMMU.

Quoted 7 lines

---

Written against linux-next tag next-20160229

 Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt |   15 ++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

Through which tree should this go?

#4 lore raw
Quoted 11 lines · Joerg Roedel
Quoted 10 lines · Magnus Damm

From: Magnus Damm <[email protected]>

Update the IPMMU DT binding documentation to include the r8a7795 compat string as well as the "renesas,ipmmu-main" property that on r8a7795 will be used to describe the topology and the relationship between the various cache IPMMU instances and the main IPMMU.

---

Quoted 6 lines
Quoted 4 lines

Written against linux-next tag next-20160229

 Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt |   15 ++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

Through which tree should this go?

Unless anyone objects may I suggest going through your tree please!

/ magnus

#5 lore raw
Quoted 12 lines · Magnus Damm
Quoted 11 lines · Joerg Roedel
Quoted 10 lines · Magnus Damm

From: Magnus Damm <[email protected]>

Update the IPMMU DT binding documentation to include the r8a7795 compat string as well as the "renesas,ipmmu-main" property that on r8a7795 will be used to describe the topology and the relationship between the various cache IPMMU instances and the main IPMMU.

---

Quoted 8 lines
Quoted 6 lines
Quoted 4 lines

Written against linux-next tag next-20160229

 Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt |   15 ++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

Through which tree should this go?

Unless anyone objects may I suggest going through your tree please!

FWIW that would be my preferred option.

maintainer
#6 lore raw
Quoted 15 lines · Simon Horman
Quoted 14 lines · Magnus Damm
Quoted 13 lines · Joerg Roedel
Quoted 12 lines · Magnus Damm

From: Magnus Damm <[email protected]>

Update the IPMMU DT binding documentation to include the r8a7795 compat string as well as the "renesas,ipmmu-main" property that on r8a7795 will be used to describe the topology and the relationship between the various cache IPMMU instances and the main IPMMU.

---

Written against linux-next tag next-20160229

Quoted 8 lines
Quoted 6 lines
Quoted 4 lines
Quoted 2 lines
 Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt |   15 ++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

Through which tree should this go?

Unless anyone objects may I suggest going through your tree please!

FWIW that would be my preferred option.

Okay, applied.

#7 lore raw
In reply to Magnus Damm

Hi Rob,

Quoted 8 lines · On Monday 29 Feb 2016 23:33:09 Magnus Damm wrote:

From: Magnus Damm <[email protected]>

Update the IPMMU DT binding documentation to include the r8a7795 compat string as well as the "renesas,ipmmu-main" property that on r8a7795 will be used to describe the topology and the relationship between the various cache IPMMU instances and the main IPMMU.

This DT binding has been merged already, but isn't used upstream (nor in the dts nor in the drivers). We plan to start using it, and I'd like to seize this last opportunity to change it if needed and ask you for a review.

Quoted 10 lines

---

Written against linux-next tag next-20160229

 Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt |   15 ++++-
 1 file changed, 13 insertions(+), 2 deletions(-)

--- 0001/Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt
+++
work/Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt

2016-02

Quoted 38 lines

-29 23:25:15.540513000 +0900 @@ -7,23 +7,34 @@ connected to the IPMMU through a port ca

Required Properties:

Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt +3 -1
-  - compatible: Must contain SoC-specific and generic entries from below.
+  - compatible: Must contain SoC-specific and generic entry below in case
+    the device is compatible with the R-Car Gen2 VMSA-compatible IPMMU.
 
     - "renesas,ipmmu-r8a73a4" for the R8A73A4 (R-Mobile APE6) IPMMU.
     - "renesas,ipmmu-r8a7790" for the R8A7790 (R-Car H2) IPMMU.
     - "renesas,ipmmu-r8a7791" for the R8A7791 (R-Car M2-W) IPMMU.
     - "renesas,ipmmu-r8a7793" for the R8A7793 (R-Car M2-N) IPMMU.
     - "renesas,ipmmu-r8a7794" for the R8A7794 (R-Car E2) IPMMU.
+    - "renesas,ipmmu-r8a7795" for the R8A7795 (R-Car H3) IPMMU.
     - "renesas,ipmmu-vmsa" for generic R-Car Gen2 VMSA-compatible IPMMU.
 
   - reg: Base address and size of the IPMMU registers.
   - interrupts: Specifiers for the MMU fault interrupts. For instances that

support secure mode two interrupts must be specified, for non-secure and secure mode, in that order. For instances that don't support secure mode a

Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt +6 -1
-    single interrupt must be specified.
+    single interrupt must be specified. Not required for cache IPMMUs.
 
   - #iommu-cells: Must be 1.
 
+Optional properties:
+
+  - renesas,ipmmu-main: reference to the main IPMMU instance in two cells.
+    The first cell is a phandle to the main IPMMU and the second cell is
+    the interrupt bit number associated with the particular cache IPMMU

device.

Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt +4 -0
+    The interrupt bit number needs to match the main IPMMU IMSSTR register.
+    Only used by cache IPMMU instances.
+
+
 Each bus master connected to an IPMMU must reference the IPMMU in its

device node with the following property:

Signature · 3 lines
Regards,

Laurent Pinchart
#8 lore raw
Quoted 10 lines · Laurent Pinchart

Hi Rob,

Quoted 7 lines · On Monday 29 Feb 2016 23:33:09 Magnus Damm wrote:

From: Magnus Damm <[email protected]>

Update the IPMMU DT binding documentation to include the r8a7795 compat string as well as the "renesas,ipmmu-main" property that on r8a7795 will be used to describe the topology and the relationship between the various cache IPMMU instances and the main IPMMU.

Quoted 5 lines
Quoted 1 line

This DT binding has been merged already, but isn't used upstream (nor in the dts nor in the drivers). We plan to start using it, and I'd like to seize this last opportunity to change it if needed and ask you for a review.

Looks pretty standard.

Rob