linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/9] move Rockchip ISP bindings out of staging / add
@ 2020-07-02 16:54 Helen Koike
  2020-07-02 16:54 ` [PATCH v3 1/9] media: staging: dt-bindings: rkisp1: add missing required nodes Helen Koike
                   ` (8 more replies)
  0 siblings, 9 replies; 11+ messages in thread
From: Helen Koike @ 2020-07-02 16:54 UTC (permalink / raw)
  To: devicetree, linux-media, linux-rockchip
  Cc: linux-kernel, devel, robh+dt, heiko, hverkuil-cisco, kernel,
	dafna.hirschfeld, ezequiel, mark.rutland, karthik.poduval,
	jbx6244, kishon, tfiga, eddie.cai.linux, zhengsq

Move the bindings out of drivers/staging and place them in
Documentation/devicetree/bindings instead.

Also, add DT nodes for RK3399 and verify with make ARCH=arm64 dtbs_check
and make ARCH=arm64 dt_binding_check.

Tested by verifying images streamed from Scarlet Chromebook

Changes in v3:
- dropped accepted patches
- cleanup clocks
- fix "no reg" error in dt-bindings parent@0 example
- add linux-rockchip list in MAINTAINERS and reorder items
- add Scarlet sensors dt nodes to the series

Changes in v2:
Add patches modifying bindings, as sugested by Johan Jonker in v1,
before moving them out of staging.


Eddie Cai (1):
  arm64: dts: rockchip: add isp and sensors for scarlet

Helen Koike (7):
  media: staging: dt-bindings: rkisp1: add missing required nodes
  media: staging: dt-bindings: rkisp1: add required items in i2c example
  media: staging: dt-bindings: rkisp1: re-order properties
  media: staging: dt-bindings: rkisp1: fix "no reg" error in parent node
  media: staging: rkisp1: remove unecessary clocks
  dt-bindings: media: rkisp1: move rockchip-isp1 bindings out of staging
  media: MAINTAINERS: rkisp1: add path to dt-bindings

Shunqian Zheng (1):
  arm64: dts: rockchip: add isp0 node for rk3399

 .../bindings/media/rockchip-isp1.yaml         | 65 +++++++++-------
 MAINTAINERS                                   |  2 +
 .../boot/dts/rockchip/rk3399-gru-scarlet.dtsi | 74 +++++++++++++++++++
 arch/arm64/boot/dts/rockchip/rk3399.dtsi      | 27 +++++++
 drivers/staging/media/rkisp1/rkisp1-dev.c     |  2 -
 5 files changed, 143 insertions(+), 27 deletions(-)
 rename {drivers/staging/media/rkisp1/Documentation => Documentation}/devicetree/bindings/media/rockchip-isp1.yaml (81%)

-- 
2.26.0


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

* [PATCH v3 1/9] media: staging: dt-bindings: rkisp1: add missing required nodes
  2020-07-02 16:54 [PATCH v3 0/9] move Rockchip ISP bindings out of staging / add Helen Koike
@ 2020-07-02 16:54 ` Helen Koike
  2020-07-02 16:54 ` [PATCH v3 2/9] media: staging: dt-bindings: rkisp1: add required items in i2c example Helen Koike
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Helen Koike @ 2020-07-02 16:54 UTC (permalink / raw)
  To: devicetree, linux-media, linux-rockchip
  Cc: linux-kernel, devel, robh+dt, heiko, hverkuil-cisco, kernel,
	dafna.hirschfeld, ezequiel, mark.rutland, karthik.poduval,
	jbx6244, kishon, tfiga, eddie.cai.linux, zhengsq

Add missing required nodes in json-schema yaml file for
Rockchip ISP1 dt-bindings.

Signed-off-by: Helen Koike <helen.koike@collabora.com>
---
Changes in v3: None

Changes in v2:
- New patch in the series
---
 .../devicetree/bindings/media/rockchip-isp1.yaml          | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml b/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml
index af246b71eac6b..a77b6ec500c95 100644
--- a/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml
+++ b/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml
@@ -94,11 +94,19 @@ properties:
 
               remote-endpoint: true
 
+        required:
+          - reg
+          - "#address-cells"
+          - "#size-cells"
+
     required:
+      - "#address-cells"
+      - "#size-cells"
       - port@0
 
 required:
   - compatible
+  - reg
   - interrupts
   - clocks
   - clock-names
-- 
2.26.0


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

* [PATCH v3 2/9] media: staging: dt-bindings: rkisp1: add required items in i2c example
  2020-07-02 16:54 [PATCH v3 0/9] move Rockchip ISP bindings out of staging / add Helen Koike
  2020-07-02 16:54 ` [PATCH v3 1/9] media: staging: dt-bindings: rkisp1: add missing required nodes Helen Koike
@ 2020-07-02 16:54 ` Helen Koike
  2020-07-02 16:54 ` [PATCH v3 3/9] media: staging: dt-bindings: rkisp1: re-order properties Helen Koike
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Helen Koike @ 2020-07-02 16:54 UTC (permalink / raw)
  To: devicetree, linux-media, linux-rockchip
  Cc: linux-kernel, devel, robh+dt, heiko, hverkuil-cisco, kernel,
	dafna.hirschfeld, ezequiel, mark.rutland, karthik.poduval,
	jbx6244, kishon, tfiga, eddie.cai.linux, zhengsq

Add missing required items in Rockchip ISP1 dt-bindings example for
a complete i2c node.

Signed-off-by: Helen Koike <helen.koike@collabora.com>
---

Changes in v3: None

Changes in v2:
- new patch in the series
---
 .../devicetree/bindings/media/rockchip-isp1.yaml             | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml b/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml
index a77b6ec500c95..8c7904845788d 100644
--- a/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml
+++ b/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml
@@ -169,6 +169,11 @@ examples:
         };
 
         i2c7: i2c@ff160000 {
+            compatible = "rockchip,rk3399-i2c";
+            reg = <0x0 0xff160000 0x0 0x1000>;
+            interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH 0>;
+            clocks = <&cru SCLK_I2C7>, <&cru PCLK_I2C7>;
+            clock-names = "i2c", "pclk";
             clock-frequency = <400000>;
             #address-cells = <1>;
             #size-cells = <0>;
-- 
2.26.0


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

* [PATCH v3 3/9] media: staging: dt-bindings: rkisp1: re-order properties
  2020-07-02 16:54 [PATCH v3 0/9] move Rockchip ISP bindings out of staging / add Helen Koike
  2020-07-02 16:54 ` [PATCH v3 1/9] media: staging: dt-bindings: rkisp1: add missing required nodes Helen Koike
  2020-07-02 16:54 ` [PATCH v3 2/9] media: staging: dt-bindings: rkisp1: add required items in i2c example Helen Koike
@ 2020-07-02 16:54 ` Helen Koike
  2020-07-02 16:54 ` [PATCH v3 4/9] media: staging: dt-bindings: rkisp1: fix "no reg" error in parent node Helen Koike
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Helen Koike @ 2020-07-02 16:54 UTC (permalink / raw)
  To: devicetree, linux-media, linux-rockchip
  Cc: linux-kernel, devel, robh+dt, heiko, hverkuil-cisco, kernel,
	dafna.hirschfeld, ezequiel, mark.rutland, karthik.poduval,
	jbx6244, kishon, tfiga, eddie.cai.linux, zhengsq

Organize properties order in dt-binbings to move it out of staging.

On top: compatible, reg and interrupts.
Then alphabetical order, then properties starting with '#'.

Signed-off-by: Helen Koike <helen.koike@collabora.com>

---
V3: none

V2:
- this is a new patch in the series
---
 .../bindings/media/rockchip-isp1.yaml         | 32 +++++++++----------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml b/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml
index 8c7904845788d..e5b9c0574e352 100644
--- a/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml
+++ b/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml
@@ -23,19 +23,6 @@ properties:
   interrupts:
     maxItems: 1
 
-  iommus:
-    maxItems: 1
-
-  power-domains:
-    maxItems: 1
-
-  phys:
-    maxItems: 1
-    description: phandle for the PHY port
-
-  phy-names:
-    const: dphy
-
   clocks:
     items:
       - description: ISP clock
@@ -52,6 +39,19 @@ properties:
       - const: hclk_isp
       - const: hclk_isp_wrap
 
+  iommus:
+    maxItems: 1
+
+  phys:
+    maxItems: 1
+    description: phandle for the PHY port
+
+  phy-names:
+    const: dphy
+
+  power-domains:
+    maxItems: 1
+
   # See ./video-interfaces.txt for details
   ports:
     type: object
@@ -110,10 +110,10 @@ required:
   - interrupts
   - clocks
   - clock-names
-  - power-domains
   - iommus
   - phys
   - phy-names
+  - power-domains
   - ports
 
 additionalProperties: false
@@ -139,19 +139,19 @@ examples:
             clock-names = "clk_isp",
                           "aclk_isp", "aclk_isp_wrap",
                           "hclk_isp", "hclk_isp_wrap";
-            power-domains = <&power RK3399_PD_ISP0>;
             iommus = <&isp0_mmu>;
             phys = <&dphy>;
             phy-names = "dphy";
+            power-domains = <&power RK3399_PD_ISP0>;
 
             ports {
                 #address-cells = <1>;
                 #size-cells = <0>;
 
                 port@0 {
+                    reg = <0>;
                     #address-cells = <1>;
                     #size-cells = <0>;
-                    reg = <0>;
 
                     mipi_in_wcam: endpoint@0 {
                         reg = <0>;
-- 
2.26.0


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

* [PATCH v3 4/9] media: staging: dt-bindings: rkisp1: fix "no reg" error in parent node
  2020-07-02 16:54 [PATCH v3 0/9] move Rockchip ISP bindings out of staging / add Helen Koike
                   ` (2 preceding siblings ...)
  2020-07-02 16:54 ` [PATCH v3 3/9] media: staging: dt-bindings: rkisp1: re-order properties Helen Koike
@ 2020-07-02 16:54 ` Helen Koike
  2020-07-02 16:54 ` [PATCH v3 5/9] media: staging: rkisp1: remove unecessary clocks Helen Koike
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Helen Koike @ 2020-07-02 16:54 UTC (permalink / raw)
  To: devicetree, linux-media, linux-rockchip
  Cc: linux-kernel, devel, robh+dt, heiko, hverkuil-cisco, kernel,
	dafna.hirschfeld, ezequiel, mark.rutland, karthik.poduval,
	jbx6244, kishon, tfiga, eddie.cai.linux, zhengsq

Fix the following error found with make ARCH=arm64 dt_binding_check:

Documentation/devicetree/bindings/media/rockchip-isp1.example.dts:24.27-101.11:
Warning (unit_address_vs_reg): /example-0/parent@0: node has a unit name, but no reg or ranges property

Reported-by: Johan Jonker <jbx6244@gmail.com>
Signed-off-by: Helen Koike <helen.koike@collabora.com>
---

V3:
- this is a new patch in the series
---
 .../Documentation/devicetree/bindings/media/rockchip-isp1.yaml   | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml b/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml
index e5b9c0574e352..4d111ef2e89c7 100644
--- a/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml
+++ b/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml
@@ -126,6 +126,7 @@ examples:
     #include <dt-bindings/power/rk3399-power.h>
 
     parent0: parent@0 {
+        reg = <0 0>;
         #address-cells = <2>;
         #size-cells = <2>;
 
-- 
2.26.0


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

* [PATCH v3 5/9] media: staging: rkisp1: remove unecessary clocks
  2020-07-02 16:54 [PATCH v3 0/9] move Rockchip ISP bindings out of staging / add Helen Koike
                   ` (3 preceding siblings ...)
  2020-07-02 16:54 ` [PATCH v3 4/9] media: staging: dt-bindings: rkisp1: fix "no reg" error in parent node Helen Koike
@ 2020-07-02 16:54 ` Helen Koike
  2020-07-02 17:01   ` Helen Koike
  2020-07-02 16:54 ` [PATCH v3 6/9] dt-bindings: media: rkisp1: move rockchip-isp1 bindings out of staging Helen Koike
                   ` (3 subsequent siblings)
  8 siblings, 1 reply; 11+ messages in thread
From: Helen Koike @ 2020-07-02 16:54 UTC (permalink / raw)
  To: devicetree, linux-media, linux-rockchip
  Cc: linux-kernel, devel, robh+dt, heiko, hverkuil-cisco, kernel,
	dafna.hirschfeld, ezequiel, mark.rutland, karthik.poduval,
	jbx6244, kishon, tfiga, eddie.cai.linux, zhengsq

aclk_isp_wrap is a child of aclk_isp, and hclk_isp_wrap is a child of
hclk_isp, thus we can remove parents from the list, with the goal to
cleanup the dt-bindings and remove it from staging.

For reference, this is the isp clock topology:

 xin24m
    pll_npll
       npll
          clk_isp1
          clk_isp0
    pll_cpll
       cpll
          aclk_isp1
             aclk_isp1_noc
             hclk_isp1
                aclk_isp1_wrapper
                hclk_isp1_noc
          aclk_isp0
             hclk_isp1_wrapper
             aclk_isp0_wrapper
             aclk_isp0_noc
             hclk_isp0
                hclk_isp0_wrapper
                hclk_isp0_noc
 pclkin_isp1_wrapper

Signed-off-by: Helen Koike <helen.koike@collabora.com>
---
Changes in V3:
- this is a new patch in the series
---
 .../bindings/media/rockchip-isp1.yaml         | 33 ++++++++++---------
 drivers/staging/media/rkisp1/rkisp1-dev.c     |  2 --
 2 files changed, 17 insertions(+), 18 deletions(-)

diff --git a/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml b/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml
index 4d111ef2e89c7..f806820eb8153 100644
--- a/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml
+++ b/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml
@@ -24,20 +24,21 @@ properties:
     maxItems: 1
 
   clocks:
-    items:
-      - description: ISP clock
-      - description: ISP AXI clock clock
-      - description: ISP AXI clock  wrapper clock
-      - description: ISP AHB clock clock
-      - description: ISP AHB wrapper clock
+    maxItems: 5
+    minItems: 3
+    description:
+      rk3399 isp0 clocks
+        ISP clock
+        ISP AXI wrapper clock
+        ISP AHB wrapper clock
 
   clock-names:
-    items:
-      - const: clk_isp
-      - const: aclk_isp
-      - const: aclk_isp_wrap
-      - const: hclk_isp
-      - const: hclk_isp_wrap
+    oneOf:
+      # rk3399 isp0 clocks
+      - items:
+        - const: clk_isp
+        - const: aclk_isp_wrap
+        - const: hclk_isp_wrap
 
   iommus:
     maxItems: 1
@@ -135,11 +136,11 @@ examples:
             reg = <0x0 0xff910000 0x0 0x4000>;
             interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH 0>;
             clocks = <&cru SCLK_ISP0>,
-                     <&cru ACLK_ISP0>, <&cru ACLK_ISP0_WRAPPER>,
-                     <&cru HCLK_ISP0>, <&cru HCLK_ISP0_WRAPPER>;
+                     <&cru ACLK_ISP0_WRAPPER>,
+                     <&cru HCLK_ISP0_WRAPPER>;
             clock-names = "clk_isp",
-                          "aclk_isp", "aclk_isp_wrap",
-                          "hclk_isp", "hclk_isp_wrap";
+                          "aclk_isp_wrap",
+                          "hclk_isp_wrap";
             iommus = <&isp0_mmu>;
             phys = <&dphy>;
             phy-names = "dphy";
diff --git a/drivers/staging/media/rkisp1/rkisp1-dev.c b/drivers/staging/media/rkisp1/rkisp1-dev.c
index f38801fea10d9..36f5f3b97a9b9 100644
--- a/drivers/staging/media/rkisp1/rkisp1-dev.c
+++ b/drivers/staging/media/rkisp1/rkisp1-dev.c
@@ -407,8 +407,6 @@ static irqreturn_t rkisp1_isr(int irq, void *ctx)
 
 static const char * const rk3399_isp_clks[] = {
 	"clk_isp",
-	"aclk_isp",
-	"hclk_isp",
 	"aclk_isp_wrap",
 	"hclk_isp_wrap",
 };
-- 
2.26.0


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

* [PATCH v3 6/9] dt-bindings: media: rkisp1: move rockchip-isp1 bindings out of staging
  2020-07-02 16:54 [PATCH v3 0/9] move Rockchip ISP bindings out of staging / add Helen Koike
                   ` (4 preceding siblings ...)
  2020-07-02 16:54 ` [PATCH v3 5/9] media: staging: rkisp1: remove unecessary clocks Helen Koike
@ 2020-07-02 16:54 ` Helen Koike
  2020-07-02 16:54 ` [PATCH v3 7/9] media: MAINTAINERS: rkisp1: add path to dt-bindings Helen Koike
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Helen Koike @ 2020-07-02 16:54 UTC (permalink / raw)
  To: devicetree, linux-media, linux-rockchip
  Cc: linux-kernel, devel, robh+dt, heiko, hverkuil-cisco, kernel,
	dafna.hirschfeld, ezequiel, mark.rutland, karthik.poduval,
	jbx6244, kishon, tfiga, eddie.cai.linux, zhengsq

Move rkisp1 bindings to Documentation/devicetree/bindings/media

Verified with:
make ARCH=arm64 dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/media/rockchip-isp1.yaml

Signed-off-by: Helen Koike <helen.koike@collabora.com>
Acked-by: Rob Herring <robh@kernel.org>
---
 .../devicetree/bindings/media/rockchip-isp1.yaml                  | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename {drivers/staging/media/rkisp1/Documentation => Documentation}/devicetree/bindings/media/rockchip-isp1.yaml (100%)

diff --git a/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml b/Documentation/devicetree/bindings/media/rockchip-isp1.yaml
similarity index 100%
rename from drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml
rename to Documentation/devicetree/bindings/media/rockchip-isp1.yaml
-- 
2.26.0


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

* [PATCH v3 7/9] media: MAINTAINERS: rkisp1: add path to dt-bindings
  2020-07-02 16:54 [PATCH v3 0/9] move Rockchip ISP bindings out of staging / add Helen Koike
                   ` (5 preceding siblings ...)
  2020-07-02 16:54 ` [PATCH v3 6/9] dt-bindings: media: rkisp1: move rockchip-isp1 bindings out of staging Helen Koike
@ 2020-07-02 16:54 ` Helen Koike
  2020-07-02 16:54 ` [PATCH v3 8/9] arm64: dts: rockchip: add isp0 node for rk3399 Helen Koike
  2020-07-02 16:54 ` [PATCH v3 9/9] arm64: dts: rockchip: add isp and sensors for Scarlet Helen Koike
  8 siblings, 0 replies; 11+ messages in thread
From: Helen Koike @ 2020-07-02 16:54 UTC (permalink / raw)
  To: devicetree, linux-media, linux-rockchip
  Cc: linux-kernel, devel, robh+dt, heiko, hverkuil-cisco, kernel,
	dafna.hirschfeld, ezequiel, mark.rutland, karthik.poduval,
	jbx6244, kishon, tfiga, eddie.cai.linux, zhengsq

The Rockchip ISP bindings was moved out of staging.
Update MAINTAINERS file with the new path.

Fields sorted according to output of
./scripts/parse-maintainers.pl --input=MAINTAINERS --output=MAINTAINERS
--order

Signed-off-by: Helen Koike <helen.koike@collabora.com>

---

V3:
- Add line:
L:     linux-rockchip@lists.infradead.org
- Re-order:
F:     drivers/staging/media/rkisp1/

V2:
- This is a new patch in the series
---
 MAINTAINERS | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 634d2c3d621aa..d7141cf17072f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -14679,7 +14679,9 @@ F:	include/linux/hid-roccat*
 ROCKCHIP ISP V1 DRIVER
 M:	Helen Koike <helen.koike@collabora.com>
 L:	linux-media@vger.kernel.org
+L:	linux-rockchip@lists.infradead.org
 S:	Maintained
+F:	Documentation/devicetree/bindings/media/rockchip-isp1.yaml
 F:	drivers/staging/media/rkisp1/
 
 ROCKCHIP RASTER 2D GRAPHIC ACCELERATION UNIT DRIVER
-- 
2.26.0


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

* [PATCH v3 8/9] arm64: dts: rockchip: add isp0 node for rk3399
  2020-07-02 16:54 [PATCH v3 0/9] move Rockchip ISP bindings out of staging / add Helen Koike
                   ` (6 preceding siblings ...)
  2020-07-02 16:54 ` [PATCH v3 7/9] media: MAINTAINERS: rkisp1: add path to dt-bindings Helen Koike
@ 2020-07-02 16:54 ` Helen Koike
  2020-07-02 16:54 ` [PATCH v3 9/9] arm64: dts: rockchip: add isp and sensors for Scarlet Helen Koike
  8 siblings, 0 replies; 11+ messages in thread
From: Helen Koike @ 2020-07-02 16:54 UTC (permalink / raw)
  To: devicetree, linux-media, linux-rockchip
  Cc: linux-kernel, devel, robh+dt, heiko, hverkuil-cisco, kernel,
	dafna.hirschfeld, ezequiel, mark.rutland, karthik.poduval,
	jbx6244, kishon, tfiga, eddie.cai.linux, zhengsq

From: Shunqian Zheng <zhengsq@rock-chips.com>

RK3399 has two ISPs, but only isp0 was tested.
Add isp0 node in rk3399 dtsi

Verified with:
make ARCH=arm64 dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/media/rockchip-isp1.yaml

Signed-off-by: Shunqian Zheng <zhengsq@rock-chips.com>
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
Signed-off-by: Helen Koike <helen.koike@collabora.com>

---

V3:
- clean up clocks

V2:
- re-order power-domains property

V1:
This patch was originally part of this patchset:

    https://patchwork.kernel.org/patch/10267431/

The only difference is:
- add phy properties
- add ports
---
 arch/arm64/boot/dts/rockchip/rk3399.dtsi | 27 ++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
index 2581e9cc7a1de..a27c3ccf4bd08 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
@@ -1710,6 +1710,33 @@ vopb_mmu: iommu@ff903f00 {
 		status = "disabled";
 	};
 
+	isp0: isp0@ff910000 {
+		compatible = "rockchip,rk3399-cif-isp";
+		reg = <0x0 0xff910000 0x0 0x4000>;
+		interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH 0>;
+		clocks = <&cru SCLK_ISP0>,
+			 <&cru ACLK_ISP0_WRAPPER>,
+			 <&cru HCLK_ISP0_WRAPPER>;
+		clock-names = "clk_isp",
+			      "aclk_isp_wrap",
+			      "hclk_isp_wrap";
+		iommus = <&isp0_mmu>;
+		phys = <&mipi_dphy_rx0>;
+		phy-names = "dphy";
+		power-domains = <&power RK3399_PD_ISP0>;
+
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			port@0 {
+				reg = <0>;
+				#address-cells = <1>;
+				#size-cells = <0>;
+			};
+		};
+	};
+
 	isp0_mmu: iommu@ff914000 {
 		compatible = "rockchip,iommu";
 		reg = <0x0 0xff914000 0x0 0x100>, <0x0 0xff915000 0x0 0x100>;
-- 
2.26.0


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

* [PATCH v3 9/9] arm64: dts: rockchip: add isp and sensors for Scarlet
  2020-07-02 16:54 [PATCH v3 0/9] move Rockchip ISP bindings out of staging / add Helen Koike
                   ` (7 preceding siblings ...)
  2020-07-02 16:54 ` [PATCH v3 8/9] arm64: dts: rockchip: add isp0 node for rk3399 Helen Koike
@ 2020-07-02 16:54 ` Helen Koike
  8 siblings, 0 replies; 11+ messages in thread
From: Helen Koike @ 2020-07-02 16:54 UTC (permalink / raw)
  To: devicetree, linux-media, linux-rockchip
  Cc: linux-kernel, devel, robh+dt, heiko, hverkuil-cisco, kernel,
	dafna.hirschfeld, ezequiel, mark.rutland, karthik.poduval,
	jbx6244, kishon, tfiga, eddie.cai.linux, zhengsq

From: Eddie Cai <eddie.cai.linux@gmail.com>

Enable ISP and camera sensor ov2685 and ov5695 for Scarlet Chromebook

Verified with:
    make ARCH=arm64 dtbs_check

Signed-off-by: Shunqian Zheng <zhengsq@rock-chips.com>
Signed-off-by: Eddie Cai <eddie.cai.linux@gmail.com>
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Signed-off-by: Helen Koike <helen.koike@collabora.com>
---

This patch is based on:
https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/527854

Changes in V3:
- This patch was first submitted stand alone at
https://lore.kernel.org/patchwork/patch/1223736/
I'm including in this patch series without changes
---
 .../boot/dts/rockchip/rk3399-gru-scarlet.dtsi | 74 +++++++++++++++++++
 1 file changed, 74 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/rk3399-gru-scarlet.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-gru-scarlet.dtsi
index 4373ed732af76..ae08205aa8e24 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-gru-scarlet.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-gru-scarlet.dtsi
@@ -296,6 +296,52 @@ camera: &i2c7 {
 
 	/* 24M mclk is shared between world and user cameras */
 	pinctrl-0 = <&i2c7_xfer &test_clkout1>;
+
+	/* Rear-facing camera */
+	wcam: camera@36 {
+		compatible = "ovti,ov5695";
+		reg = <0x36>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&wcam_rst>;
+
+		clocks = <&cru SCLK_TESTCLKOUT1>;
+		clock-names = "xvclk";
+
+		avdd-supply = <&pp2800_cam>;
+		dvdd-supply = <&pp1250_cam>;
+		dovdd-supply = <&pp1800_s0>;
+		reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;
+
+		port {
+			wcam_out: endpoint {
+				remote-endpoint = <&mipi_in_wcam>;
+				data-lanes = <1 2>;
+			};
+		};
+	};
+
+	/* Front-facing camera */
+	ucam: camera@3c {
+		compatible = "ovti,ov2685";
+		reg = <0x3c>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&ucam_rst>;
+
+		clocks = <&cru SCLK_TESTCLKOUT1>;
+		clock-names = "xvclk";
+
+		avdd-supply = <&pp2800_cam>;
+		dovdd-supply = <&pp1800_s0>;
+		dvdd-supply = <&pp1800_s0>;
+		reset-gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
+
+		port {
+			ucam_out: endpoint {
+				remote-endpoint = <&mipi_in_ucam>;
+				data-lanes = <1>;
+			};
+		};
+	};
 };
 
 &cdn_dp {
@@ -353,10 +399,38 @@ &io_domains {
 	gpio1830-supply = <&pp1800_s0>;		/* APIO4_VDD;  4c 4d */
 };
 
+&isp0 {
+	status = "okay";
+
+	ports {
+		port@0 {
+			mipi_in_wcam: endpoint@0 {
+				reg = <0>;
+				remote-endpoint = <&wcam_out>;
+				data-lanes = <1 2>;
+			};
+
+			mipi_in_ucam: endpoint@1 {
+				reg = <1>;
+				remote-endpoint = <&ucam_out>;
+				data-lanes = <1>;
+			};
+		};
+	};
+};
+
+&isp0_mmu {
+	status = "okay";
+};
+
 &max98357a {
 	sdmode-gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>;
 };
 
+&mipi_dphy_rx0 {
+	status = "okay";
+};
+
 &mipi_dsi {
 	status = "okay";
 	clock-master;
-- 
2.26.0


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

* Re: [PATCH v3 5/9] media: staging: rkisp1: remove unecessary clocks
  2020-07-02 16:54 ` [PATCH v3 5/9] media: staging: rkisp1: remove unecessary clocks Helen Koike
@ 2020-07-02 17:01   ` Helen Koike
  0 siblings, 0 replies; 11+ messages in thread
From: Helen Koike @ 2020-07-02 17:01 UTC (permalink / raw)
  To: devicetree, linux-media, linux-rockchip
  Cc: linux-kernel, devel, robh+dt, heiko, hverkuil-cisco, kernel,
	dafna.hirschfeld, ezequiel, mark.rutland, karthik.poduval,
	jbx6244, kishon, tfiga, eddie.cai.linux, zhengsq



On 7/2/20 1:54 PM, Helen Koike wrote:
> aclk_isp_wrap is a child of aclk_isp, and hclk_isp_wrap is a child of
> hclk_isp, thus we can remove parents from the list, with the goal to
> cleanup the dt-bindings and remove it from staging.
> 
> For reference, this is the isp clock topology:
> 
>  xin24m
>     pll_npll
>        npll
>           clk_isp1
>           clk_isp0
>     pll_cpll
>        cpll
>           aclk_isp1
>              aclk_isp1_noc
>              hclk_isp1
>                 aclk_isp1_wrapper
>                 hclk_isp1_noc
>           aclk_isp0
>              hclk_isp1_wrapper
>              aclk_isp0_wrapper
>              aclk_isp0_noc
>              hclk_isp0
>                 hclk_isp0_wrapper
>                 hclk_isp0_noc
>  pclkin_isp1_wrapper
> 
> Signed-off-by: Helen Koike <helen.koike@collabora.com>
> ---
> Changes in V3:
> - this is a new patch in the series
> ---
>  .../bindings/media/rockchip-isp1.yaml         | 33 ++++++++++---------
>  drivers/staging/media/rkisp1/rkisp1-dev.c     |  2 --
>  2 files changed, 17 insertions(+), 18 deletions(-)
> 
> diff --git a/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml b/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml
> index 4d111ef2e89c7..f806820eb8153 100644
> --- a/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml
> +++ b/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml
> @@ -24,20 +24,21 @@ properties:
>      maxItems: 1
>  
>    clocks:
> -    items:
> -      - description: ISP clock
> -      - description: ISP AXI clock clock
> -      - description: ISP AXI clock  wrapper clock
> -      - description: ISP AHB clock clock
> -      - description: ISP AHB wrapper clock
> +    maxItems: 5
> +    minItems: 3

Sorry, I forgot to mentioned that, as discussed previously on https://patchwork.kernel.org/patch/11475007/ ,
this is prepared to add rk3288 support, this is why maxItems is 5 (since rk3288 has 5 clocks).

> +    description:
> +      rk3399 isp0 clocks
> +        ISP clock
> +        ISP AXI wrapper clock
> +        ISP AHB wrapper clock
>  
>    clock-names:
> -    items:
> -      - const: clk_isp
> -      - const: aclk_isp
> -      - const: aclk_isp_wrap
> -      - const: hclk_isp
> -      - const: hclk_isp_wrap
> +    oneOf:

Same for this "oneOf", so we can add "rk3399 isp1 clocks" and "rk3288 clocks" later.

Regards,
Helen

> +      # rk3399 isp0 clocks
> +      - items:
> +        - const: clk_isp
> +        - const: aclk_isp_wrap
> +        - const: hclk_isp_wrap
>  
>    iommus:
>      maxItems: 1
> @@ -135,11 +136,11 @@ examples:
>              reg = <0x0 0xff910000 0x0 0x4000>;
>              interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH 0>;
>              clocks = <&cru SCLK_ISP0>,
> -                     <&cru ACLK_ISP0>, <&cru ACLK_ISP0_WRAPPER>,
> -                     <&cru HCLK_ISP0>, <&cru HCLK_ISP0_WRAPPER>;
> +                     <&cru ACLK_ISP0_WRAPPER>,
> +                     <&cru HCLK_ISP0_WRAPPER>;
>              clock-names = "clk_isp",
> -                          "aclk_isp", "aclk_isp_wrap",
> -                          "hclk_isp", "hclk_isp_wrap";
> +                          "aclk_isp_wrap",
> +                          "hclk_isp_wrap";
>              iommus = <&isp0_mmu>;
>              phys = <&dphy>;
>              phy-names = "dphy";
> diff --git a/drivers/staging/media/rkisp1/rkisp1-dev.c b/drivers/staging/media/rkisp1/rkisp1-dev.c
> index f38801fea10d9..36f5f3b97a9b9 100644
> --- a/drivers/staging/media/rkisp1/rkisp1-dev.c
> +++ b/drivers/staging/media/rkisp1/rkisp1-dev.c
> @@ -407,8 +407,6 @@ static irqreturn_t rkisp1_isr(int irq, void *ctx)
>  
>  static const char * const rk3399_isp_clks[] = {
>  	"clk_isp",
> -	"aclk_isp",
> -	"hclk_isp",
>  	"aclk_isp_wrap",
>  	"hclk_isp_wrap",
>  };
> 

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

end of thread, other threads:[~2020-07-02 17:02 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-02 16:54 [PATCH v3 0/9] move Rockchip ISP bindings out of staging / add Helen Koike
2020-07-02 16:54 ` [PATCH v3 1/9] media: staging: dt-bindings: rkisp1: add missing required nodes Helen Koike
2020-07-02 16:54 ` [PATCH v3 2/9] media: staging: dt-bindings: rkisp1: add required items in i2c example Helen Koike
2020-07-02 16:54 ` [PATCH v3 3/9] media: staging: dt-bindings: rkisp1: re-order properties Helen Koike
2020-07-02 16:54 ` [PATCH v3 4/9] media: staging: dt-bindings: rkisp1: fix "no reg" error in parent node Helen Koike
2020-07-02 16:54 ` [PATCH v3 5/9] media: staging: rkisp1: remove unecessary clocks Helen Koike
2020-07-02 17:01   ` Helen Koike
2020-07-02 16:54 ` [PATCH v3 6/9] dt-bindings: media: rkisp1: move rockchip-isp1 bindings out of staging Helen Koike
2020-07-02 16:54 ` [PATCH v3 7/9] media: MAINTAINERS: rkisp1: add path to dt-bindings Helen Koike
2020-07-02 16:54 ` [PATCH v3 8/9] arm64: dts: rockchip: add isp0 node for rk3399 Helen Koike
2020-07-02 16:54 ` [PATCH v3 9/9] arm64: dts: rockchip: add isp and sensors for Scarlet Helen Koike

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).