Message ID | 20230331121826.96973-2-jack.zhu@starfivetech.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add Starfive Camera Subsystem driver | expand |
On 31/03/2023 14:18, Jack Zhu wrote: > Add the bindings documentation for Starfive JH7110 Camera Subsystem > which is used for handing image sensor data. > > Signed-off-by: Jack Zhu <jack.zhu@starfivetech.com> > --- > .../bindings/media/starfive,jh7110-camss.yaml | 159 ++++++++++++++++++ > MAINTAINERS | 7 + > 2 files changed, 166 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml > > diff --git a/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml b/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml > new file mode 100644 > index 000000000000..0235c70e7793 > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml > @@ -0,0 +1,159 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > + > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/media/starfive,jh7110-camss.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Starfive SoC CAMSS ISP > + > +maintainers: > + - Jack Zhu <jack.zhu@starfivetech.com> > + - Changhuang Liang <changhuang.liang@starfivetech.com> > + > +description: > + The Starfive CAMSS ISP is a Camera interface for Starfive JH7110 SoC. It > + consists of a VIN controller (Video In Controller, a top-level control until) > + and an ISP. > + > +properties: > + compatible: > + const: starfive,jh7110-camss > + > + reg: > + maxItems: 2 > + > + reg-names: > + items: > + - const: syscon > + - const: isp > + > + clocks: > + maxItems: 7 > + > + clock-names: > + items: > + - const: apb_func > + - const: wrapper_clk_c > + - const: dvp_inv > + - const: axiwr > + - const: mipi_rx0_pxl > + - const: ispcore_2x > + - const: isp_axi > + > + resets: > + maxItems: 6 > + > + reset-names: > + items: > + - const: wrapper_p > + - const: wrapper_c > + - const: axird > + - const: axiwr > + - const: isp_top_n > + - const: isp_top_axi > + > + power-domains: > + items: > + - description: JH7110 ISP Power Domain Switch Controller. > + > + interrupts: > + maxItems: 4 > + > + ports: > + $ref: /schemas/graph.yaml#/properties/ports > + > + properties: > + port@0: > + $ref: /schemas/graph.yaml#/properties/port > + unevaluatedProperties: false > + description: > + Input port for receiving DVP data. > + > + properties: > + endpoint: > + $ref: video-interfaces.yaml# I don't think we use video-interfaces with port. Are you sure this works fine? Please extend the example with appropriate properties to check... > + unevaluatedProperties: false > + > + port@1: > + $ref: /schemas/graph.yaml#/properties/port > + unevaluatedProperties: false > + description: > + Input port for receiving CSI data. > + > + properties: > + endpoint: > + $ref: video-interfaces.yaml# > + unevaluatedProperties: false Same concerns here. Best regards, Krzysztof
On 2023/4/1 4:09, Krzysztof Kozlowski wrote: > On 31/03/2023 14:18, Jack Zhu wrote: >> Add the bindings documentation for Starfive JH7110 Camera Subsystem >> which is used for handing image sensor data. >> >> Signed-off-by: Jack Zhu <jack.zhu@starfivetech.com> >> --- >> .../bindings/media/starfive,jh7110-camss.yaml | 159 ++++++++++++++++++ >> MAINTAINERS | 7 + >> 2 files changed, 166 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml >> >> diff --git a/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml b/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml >> new file mode 100644 >> index 000000000000..0235c70e7793 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml >> @@ -0,0 +1,159 @@ >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >> + >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/media/starfive,jh7110-camss.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Starfive SoC CAMSS ISP >> + >> +maintainers: >> + - Jack Zhu <jack.zhu@starfivetech.com> >> + - Changhuang Liang <changhuang.liang@starfivetech.com> >> + >> +description: >> + The Starfive CAMSS ISP is a Camera interface for Starfive JH7110 SoC. It >> + consists of a VIN controller (Video In Controller, a top-level control until) >> + and an ISP. >> + >> +properties: >> + compatible: >> + const: starfive,jh7110-camss >> + >> + reg: >> + maxItems: 2 >> + >> + reg-names: >> + items: >> + - const: syscon >> + - const: isp >> + >> + clocks: >> + maxItems: 7 >> + >> + clock-names: >> + items: >> + - const: apb_func >> + - const: wrapper_clk_c >> + - const: dvp_inv >> + - const: axiwr >> + - const: mipi_rx0_pxl >> + - const: ispcore_2x >> + - const: isp_axi >> + >> + resets: >> + maxItems: 6 >> + >> + reset-names: >> + items: >> + - const: wrapper_p >> + - const: wrapper_c >> + - const: axird >> + - const: axiwr >> + - const: isp_top_n >> + - const: isp_top_axi >> + >> + power-domains: >> + items: >> + - description: JH7110 ISP Power Domain Switch Controller. >> + >> + interrupts: >> + maxItems: 4 >> + >> + ports: >> + $ref: /schemas/graph.yaml#/properties/ports >> + >> + properties: >> + port@0: >> + $ref: /schemas/graph.yaml#/properties/port >> + unevaluatedProperties: false >> + description: >> + Input port for receiving DVP data. >> + >> + properties: >> + endpoint: >> + $ref: video-interfaces.yaml# > > I don't think we use video-interfaces with port. Are you sure this works > fine? Please extend the example with appropriate properties to check... > Thank you for your review. the following change, is it OK? endpoint: $ref: video-interfaces.yaml# unevaluatedProperties: false properties: bus-width: const: 8 data-shift: const: 2 in example: port@0 { reg = <0>; vin_from_sc2235: endpoint { remote-endpoint = <&sc2235_to_vin>; bus-width = <8>; data-shift = <2>; hsync-active = <1>; vsync-active = <0>; pclk-sample = <1>; }; }; >> + unevaluatedProperties: false >> + >> + port@1: >> + $ref: /schemas/graph.yaml#/properties/port >> + unevaluatedProperties: false >> + description: >> + Input port for receiving CSI data. >> + >> + properties: >> + endpoint: >> + $ref: video-interfaces.yaml# >> + unevaluatedProperties: false > > Same concerns here. > for port@1, We don't use any properties as the allwinner,sun6i-a31-isp.yaml file. Use the following modification, I don't know if it is ok? port@1: $ref: /schemas/graph.yaml#/properties/port description: Input port for receiving CSI data. > > Best regards, > Krzysztof >
On Mon, Apr 03, 2023 at 05:14:25PM +0800, Jack Zhu wrote: > > > On 2023/4/1 4:09, Krzysztof Kozlowski wrote: > > On 31/03/2023 14:18, Jack Zhu wrote: > >> Add the bindings documentation for Starfive JH7110 Camera Subsystem > >> which is used for handing image sensor data. > >> > >> Signed-off-by: Jack Zhu <jack.zhu@starfivetech.com> > >> --- > >> .../bindings/media/starfive,jh7110-camss.yaml | 159 ++++++++++++++++++ > >> MAINTAINERS | 7 + > >> 2 files changed, 166 insertions(+) > >> create mode 100644 Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml > >> > >> diff --git a/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml b/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml > >> new file mode 100644 > >> index 000000000000..0235c70e7793 > >> --- /dev/null > >> +++ b/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml > >> @@ -0,0 +1,159 @@ > >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > >> + > >> +%YAML 1.2 > >> +--- > >> +$id: http://devicetree.org/schemas/media/starfive,jh7110-camss.yaml# > >> +$schema: http://devicetree.org/meta-schemas/core.yaml# > >> + > >> +title: Starfive SoC CAMSS ISP > >> + > >> +maintainers: > >> + - Jack Zhu <jack.zhu@starfivetech.com> > >> + - Changhuang Liang <changhuang.liang@starfivetech.com> > >> + > >> +description: > >> + The Starfive CAMSS ISP is a Camera interface for Starfive JH7110 SoC. It > >> + consists of a VIN controller (Video In Controller, a top-level control until) > >> + and an ISP. > >> + > >> +properties: > >> + compatible: > >> + const: starfive,jh7110-camss > >> + > >> + reg: > >> + maxItems: 2 > >> + > >> + reg-names: > >> + items: > >> + - const: syscon > >> + - const: isp > >> + > >> + clocks: > >> + maxItems: 7 > >> + > >> + clock-names: > >> + items: > >> + - const: apb_func > >> + - const: wrapper_clk_c > >> + - const: dvp_inv > >> + - const: axiwr > >> + - const: mipi_rx0_pxl > >> + - const: ispcore_2x > >> + - const: isp_axi > >> + > >> + resets: > >> + maxItems: 6 > >> + > >> + reset-names: > >> + items: > >> + - const: wrapper_p > >> + - const: wrapper_c > >> + - const: axird > >> + - const: axiwr > >> + - const: isp_top_n > >> + - const: isp_top_axi > >> + > >> + power-domains: > >> + items: > >> + - description: JH7110 ISP Power Domain Switch Controller. > >> + > >> + interrupts: > >> + maxItems: 4 > >> + > >> + ports: > >> + $ref: /schemas/graph.yaml#/properties/ports > >> + > >> + properties: > >> + port@0: > >> + $ref: /schemas/graph.yaml#/properties/port > >> + unevaluatedProperties: false > >> + description: > >> + Input port for receiving DVP data. > >> + > >> + properties: > >> + endpoint: > >> + $ref: video-interfaces.yaml# > > > > I don't think we use video-interfaces with port. Are you sure this works > > fine? Please extend the example with appropriate properties to check... > > > Thank you for your review. > the following change, is it OK? What Krzysztof meant is port@0 needs to $ref '$defs/port-base' rather then 'properties/port' to work with video-interfaces.yaml. If you made that change, then this is fine. > > endpoint: > $ref: video-interfaces.yaml# > unevaluatedProperties: false > > properties: > bus-width: > const: 8 > > data-shift: > const: 2 > > in example: > port@0 { > reg = <0>; > vin_from_sc2235: endpoint { > remote-endpoint = <&sc2235_to_vin>; > bus-width = <8>; > data-shift = <2>; > hsync-active = <1>; > vsync-active = <0>; > pclk-sample = <1>; > }; > }; > > > >> + unevaluatedProperties: false > >> + > >> + port@1: > >> + $ref: /schemas/graph.yaml#/properties/port > >> + unevaluatedProperties: false > >> + description: > >> + Input port for receiving CSI data. > >> + > >> + properties: > >> + endpoint: > >> + $ref: video-interfaces.yaml# > >> + unevaluatedProperties: false > > > > Same concerns here. > > > for port@1, We don't use any properties as the allwinner,sun6i-a31-isp.yaml file. > Use the following modification, I don't know if it is ok? Yes. > port@1: > $ref: /schemas/graph.yaml#/properties/port > description: Input port for receiving CSI data. Rob
On 2023/4/4 5:48, Rob Herring wrote: > On Mon, Apr 03, 2023 at 05:14:25PM +0800, Jack Zhu wrote: >> >> >> On 2023/4/1 4:09, Krzysztof Kozlowski wrote: >> > On 31/03/2023 14:18, Jack Zhu wrote: >> >> Add the bindings documentation for Starfive JH7110 Camera Subsystem >> >> which is used for handing image sensor data. >> >> >> >> Signed-off-by: Jack Zhu <jack.zhu@starfivetech.com> >> >> --- >> >> .../bindings/media/starfive,jh7110-camss.yaml | 159 ++++++++++++++++++ >> >> MAINTAINERS | 7 + >> >> 2 files changed, 166 insertions(+) >> >> create mode 100644 Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml >> >> >> >> diff --git a/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml b/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml >> >> new file mode 100644 >> >> index 000000000000..0235c70e7793 >> >> --- /dev/null >> >> +++ b/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml >> >> @@ -0,0 +1,159 @@ >> >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >> >> + >> >> +%YAML 1.2 >> >> +--- >> >> +$id: http://devicetree.org/schemas/media/starfive,jh7110-camss.yaml# >> >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> >> + >> >> +title: Starfive SoC CAMSS ISP >> >> + >> >> +maintainers: >> >> + - Jack Zhu <jack.zhu@starfivetech.com> >> >> + - Changhuang Liang <changhuang.liang@starfivetech.com> >> >> + >> >> +description: >> >> + The Starfive CAMSS ISP is a Camera interface for Starfive JH7110 SoC. It >> >> + consists of a VIN controller (Video In Controller, a top-level control until) >> >> + and an ISP. >> >> + >> >> +properties: >> >> + compatible: >> >> + const: starfive,jh7110-camss >> >> + >> >> + reg: >> >> + maxItems: 2 >> >> + >> >> + reg-names: >> >> + items: >> >> + - const: syscon >> >> + - const: isp >> >> + >> >> + clocks: >> >> + maxItems: 7 >> >> + >> >> + clock-names: >> >> + items: >> >> + - const: apb_func >> >> + - const: wrapper_clk_c >> >> + - const: dvp_inv >> >> + - const: axiwr >> >> + - const: mipi_rx0_pxl >> >> + - const: ispcore_2x >> >> + - const: isp_axi >> >> + >> >> + resets: >> >> + maxItems: 6 >> >> + >> >> + reset-names: >> >> + items: >> >> + - const: wrapper_p >> >> + - const: wrapper_c >> >> + - const: axird >> >> + - const: axiwr >> >> + - const: isp_top_n >> >> + - const: isp_top_axi >> >> + >> >> + power-domains: >> >> + items: >> >> + - description: JH7110 ISP Power Domain Switch Controller. >> >> + >> >> + interrupts: >> >> + maxItems: 4 >> >> + >> >> + ports: >> >> + $ref: /schemas/graph.yaml#/properties/ports >> >> + >> >> + properties: >> >> + port@0: >> >> + $ref: /schemas/graph.yaml#/properties/port >> >> + unevaluatedProperties: false >> >> + description: >> >> + Input port for receiving DVP data. >> >> + >> >> + properties: >> >> + endpoint: >> >> + $ref: video-interfaces.yaml# >> > >> > I don't think we use video-interfaces with port. Are you sure this works >> > fine? Please extend the example with appropriate properties to check... >> > >> Thank you for your review. >> the following change, is it OK? > > What Krzysztof meant is port@0 needs to $ref '$defs/port-base' rather > then 'properties/port' to work with video-interfaces.yaml. If you made > that change, then this is fine. > Thank you for your comment. OK, I have made that change. Thank you. port@0: $ref: /schemas/graph.yaml#/$defs/port-base unevaluatedProperties: false description: Input port for receiving DVP data. properties: endpoint: $ref: video-interfaces.yaml# unevaluatedProperties: false properties: bus-width: const: 8 data-shift: const: 2 >> >> endpoint: >> $ref: video-interfaces.yaml# >> unevaluatedProperties: false >> >> properties: >> bus-width: >> const: 8 >> >> data-shift: >> const: 2 >> >> in example: >> port@0 { >> reg = <0>; >> vin_from_sc2235: endpoint { >> remote-endpoint = <&sc2235_to_vin>; >> bus-width = <8>; >> data-shift = <2>; >> hsync-active = <1>; >> vsync-active = <0>; >> pclk-sample = <1>; >> }; >> }; >> >> >> >> + unevaluatedProperties: false >> >> + >> >> + port@1: >> >> + $ref: /schemas/graph.yaml#/properties/port >> >> + unevaluatedProperties: false >> >> + description: >> >> + Input port for receiving CSI data. >> >> + >> >> + properties: >> >> + endpoint: >> >> + $ref: video-interfaces.yaml# >> >> + unevaluatedProperties: false >> > >> > Same concerns here. >> > >> for port@1, We don't use any properties as the allwinner,sun6i-a31-isp.yaml file. >> Use the following modification, I don't know if it is ok? > > Yes. > >> port@1: >> $ref: /schemas/graph.yaml#/properties/port >> description: Input port for receiving CSI data. > > Rob
Hi Jack, Thank you for the patch. On Fri, Mar 31, 2023 at 08:18:18PM +0800, Jack Zhu wrote: > Add the bindings documentation for Starfive JH7110 Camera Subsystem > which is used for handing image sensor data. > > Signed-off-by: Jack Zhu <jack.zhu@starfivetech.com> > --- > .../bindings/media/starfive,jh7110-camss.yaml | 159 ++++++++++++++++++ > MAINTAINERS | 7 + > 2 files changed, 166 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml > > diff --git a/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml b/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml > new file mode 100644 > index 000000000000..0235c70e7793 > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml > @@ -0,0 +1,159 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > + > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/media/starfive,jh7110-camss.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Starfive SoC CAMSS ISP > + > +maintainers: > + - Jack Zhu <jack.zhu@starfivetech.com> > + - Changhuang Liang <changhuang.liang@starfivetech.com> > + > +description: > + The Starfive CAMSS ISP is a Camera interface for Starfive JH7110 SoC. It > + consists of a VIN controller (Video In Controller, a top-level control until) > + and an ISP. > + > +properties: > + compatible: > + const: starfive,jh7110-camss > + > + reg: > + maxItems: 2 > + > + reg-names: > + items: > + - const: syscon > + - const: isp > + > + clocks: > + maxItems: 7 > + > + clock-names: > + items: > + - const: apb_func > + - const: wrapper_clk_c > + - const: dvp_inv > + - const: axiwr > + - const: mipi_rx0_pxl > + - const: ispcore_2x > + - const: isp_axi > + > + resets: > + maxItems: 6 > + > + reset-names: > + items: > + - const: wrapper_p > + - const: wrapper_c > + - const: axird > + - const: axiwr > + - const: isp_top_n > + - const: isp_top_axi > + > + power-domains: > + items: > + - description: JH7110 ISP Power Domain Switch Controller. > + > + interrupts: > + maxItems: 4 > + > + ports: > + $ref: /schemas/graph.yaml#/properties/ports > + > + properties: > + port@0: > + $ref: /schemas/graph.yaml#/properties/port > + unevaluatedProperties: false > + description: > + Input port for receiving DVP data. > + > + properties: > + endpoint: > + $ref: video-interfaces.yaml# > + unevaluatedProperties: false > + > + port@1: > + $ref: /schemas/graph.yaml#/properties/port > + unevaluatedProperties: false > + description: > + Input port for receiving CSI data. > + > + properties: > + endpoint: > + $ref: video-interfaces.yaml# > + unevaluatedProperties: false > + > + required: > + - port@1 Both ports should be required. It's fine to have unconnected ports (that is, without any endpoint child node), but the ports should always be present if they exist in the hardware. > + > +required: > + - compatible > + - reg > + - reg-names > + - clocks > + - clock-names > + - resets > + - reset-names > + - power-domains > + - interrupts > + - ports > + > +additionalProperties: false > + > +examples: > + - | > + isp@19840000 { > + compatible = "starfive,jh7110-camss"; > + reg = <0x19840000 0x10000>, > + <0x19870000 0x30000>; > + reg-names = "syscon", "isp"; > + clocks = <&ispcrg 0>, > + <&ispcrg 13>, > + <&ispcrg 2>, > + <&ispcrg 12>, > + <&ispcrg 1>, > + <&syscrg 51>, > + <&syscrg 52>; > + clock-names = "apb_func", > + "wrapper_clk_c", > + "dvp_inv", > + "axiwr", > + "mipi_rx0_pxl", > + "ispcore_2x", > + "isp_axi"; > + resets = <&ispcrg 0>, > + <&ispcrg 1>, > + <&ispcrg 10>, > + <&ispcrg 11>, > + <&syscrg 41>, > + <&syscrg 42>; > + reset-names = "wrapper_p", > + "wrapper_c", > + "axird", > + "axiwr", > + "isp_top_n", > + "isp_top_axi"; > + power-domains = <&pwrc 5>; > + interrupts = <92>, <87>, <88>, <90>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + port@0 { > + reg = <0>; > + vin_from_sc2235: endpoint { > + remote-endpoint = <&sc2235_to_vin>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + vin_from_csi2rx: endpoint { > + remote-endpoint = <&csi2rx_to_vin>; > + }; > + }; > + }; > + }; > diff --git a/MAINTAINERS b/MAINTAINERS > index b6c811326355..f7165371c56d 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -19908,6 +19908,13 @@ M: Ion Badulescu <ionut@badula.org> > S: Odd Fixes > F: drivers/net/ethernet/adaptec/starfire* > > +STARFIVE CAMERA SUBSYSTEM DRIVER > +M: Jack Zhu <jack.zhu@starfivetech.com> > +M: Changhuang Liang <changhuang.liang@starfivetech.com> > +L: linux-media@vger.kernel.org > +S: Maintained > +F: Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml > + > STARFIVE DEVICETREES > M: Emil Renner Berthing <kernel@esmil.dk> > S: Maintained
On 2023/4/4 12:39, Laurent Pinchart wrote: > Hi Jack, > > Thank you for the patch. > > On Fri, Mar 31, 2023 at 08:18:18PM +0800, Jack Zhu wrote: >> Add the bindings documentation for Starfive JH7110 Camera Subsystem >> which is used for handing image sensor data. >> >> Signed-off-by: Jack Zhu <jack.zhu@starfivetech.com> >> --- >> .../bindings/media/starfive,jh7110-camss.yaml | 159 ++++++++++++++++++ >> MAINTAINERS | 7 + >> 2 files changed, 166 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml >> >> diff --git a/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml b/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml >> new file mode 100644 >> index 000000000000..0235c70e7793 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml >> @@ -0,0 +1,159 @@ >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >> + >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/media/starfive,jh7110-camss.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Starfive SoC CAMSS ISP >> + >> +maintainers: >> + - Jack Zhu <jack.zhu@starfivetech.com> >> + - Changhuang Liang <changhuang.liang@starfivetech.com> >> + >> +description: >> + The Starfive CAMSS ISP is a Camera interface for Starfive JH7110 SoC. It >> + consists of a VIN controller (Video In Controller, a top-level control until) >> + and an ISP. >> + >> +properties: >> + compatible: >> + const: starfive,jh7110-camss >> + >> + reg: >> + maxItems: 2 >> + >> + reg-names: >> + items: >> + - const: syscon >> + - const: isp >> + >> + clocks: >> + maxItems: 7 >> + >> + clock-names: >> + items: >> + - const: apb_func >> + - const: wrapper_clk_c >> + - const: dvp_inv >> + - const: axiwr >> + - const: mipi_rx0_pxl >> + - const: ispcore_2x >> + - const: isp_axi >> + >> + resets: >> + maxItems: 6 >> + >> + reset-names: >> + items: >> + - const: wrapper_p >> + - const: wrapper_c >> + - const: axird >> + - const: axiwr >> + - const: isp_top_n >> + - const: isp_top_axi >> + >> + power-domains: >> + items: >> + - description: JH7110 ISP Power Domain Switch Controller. >> + >> + interrupts: >> + maxItems: 4 >> + >> + ports: >> + $ref: /schemas/graph.yaml#/properties/ports >> + >> + properties: >> + port@0: >> + $ref: /schemas/graph.yaml#/properties/port >> + unevaluatedProperties: false >> + description: >> + Input port for receiving DVP data. >> + >> + properties: >> + endpoint: >> + $ref: video-interfaces.yaml# >> + unevaluatedProperties: false >> + >> + port@1: >> + $ref: /schemas/graph.yaml#/properties/port >> + unevaluatedProperties: false >> + description: >> + Input port for receiving CSI data. >> + >> + properties: >> + endpoint: >> + $ref: video-interfaces.yaml# >> + unevaluatedProperties: false >> + >> + required: >> + - port@1 > > Both ports should be required. It's fine to have unconnected ports (that > is, without any endpoint child node), but the ports should always be > present if they exist in the hardware. > Thank you for your comments. OK, I will add port@0. >> + >> +required: >> + - compatible >> + - reg >> + - reg-names >> + - clocks >> + - clock-names >> + - resets >> + - reset-names >> + - power-domains >> + - interrupts >> + - ports >> + >> +additionalProperties: false >> + >> +examples: >> + - | >> + isp@19840000 { >> + compatible = "starfive,jh7110-camss"; >> + reg = <0x19840000 0x10000>, >> + <0x19870000 0x30000>; >> + reg-names = "syscon", "isp"; >> + clocks = <&ispcrg 0>, >> + <&ispcrg 13>, >> + <&ispcrg 2>, >> + <&ispcrg 12>, >> + <&ispcrg 1>, >> + <&syscrg 51>, >> + <&syscrg 52>; >> + clock-names = "apb_func", >> + "wrapper_clk_c", >> + "dvp_inv", >> + "axiwr", >> + "mipi_rx0_pxl", >> + "ispcore_2x", >> + "isp_axi"; >> + resets = <&ispcrg 0>, >> + <&ispcrg 1>, >> + <&ispcrg 10>, >> + <&ispcrg 11>, >> + <&syscrg 41>, >> + <&syscrg 42>; >> + reset-names = "wrapper_p", >> + "wrapper_c", >> + "axird", >> + "axiwr", >> + "isp_top_n", >> + "isp_top_axi"; >> + power-domains = <&pwrc 5>; >> + interrupts = <92>, <87>, <88>, <90>; >> + >> + ports { >> + #address-cells = <1>; >> + #size-cells = <0>; >> + port@0 { >> + reg = <0>; >> + vin_from_sc2235: endpoint { >> + remote-endpoint = <&sc2235_to_vin>; >> + }; >> + }; >> + >> + port@1 { >> + reg = <1>; >> + vin_from_csi2rx: endpoint { >> + remote-endpoint = <&csi2rx_to_vin>; >> + }; >> + }; >> + }; >> + }; >> diff --git a/MAINTAINERS b/MAINTAINERS >> index b6c811326355..f7165371c56d 100644 >> --- a/MAINTAINERS >> +++ b/MAINTAINERS >> @@ -19908,6 +19908,13 @@ M: Ion Badulescu <ionut@badula.org> >> S: Odd Fixes >> F: drivers/net/ethernet/adaptec/starfire* >> >> +STARFIVE CAMERA SUBSYSTEM DRIVER >> +M: Jack Zhu <jack.zhu@starfivetech.com> >> +M: Changhuang Liang <changhuang.liang@starfivetech.com> >> +L: linux-media@vger.kernel.org >> +S: Maintained >> +F: Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml >> + >> STARFIVE DEVICETREES >> M: Emil Renner Berthing <kernel@esmil.dk> >> S: Maintained >
diff --git a/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml b/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml new file mode 100644 index 000000000000..0235c70e7793 --- /dev/null +++ b/Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml @@ -0,0 +1,159 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) + +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/starfive,jh7110-camss.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Starfive SoC CAMSS ISP + +maintainers: + - Jack Zhu <jack.zhu@starfivetech.com> + - Changhuang Liang <changhuang.liang@starfivetech.com> + +description: + The Starfive CAMSS ISP is a Camera interface for Starfive JH7110 SoC. It + consists of a VIN controller (Video In Controller, a top-level control until) + and an ISP. + +properties: + compatible: + const: starfive,jh7110-camss + + reg: + maxItems: 2 + + reg-names: + items: + - const: syscon + - const: isp + + clocks: + maxItems: 7 + + clock-names: + items: + - const: apb_func + - const: wrapper_clk_c + - const: dvp_inv + - const: axiwr + - const: mipi_rx0_pxl + - const: ispcore_2x + - const: isp_axi + + resets: + maxItems: 6 + + reset-names: + items: + - const: wrapper_p + - const: wrapper_c + - const: axird + - const: axiwr + - const: isp_top_n + - const: isp_top_axi + + power-domains: + items: + - description: JH7110 ISP Power Domain Switch Controller. + + interrupts: + maxItems: 4 + + ports: + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port@0: + $ref: /schemas/graph.yaml#/properties/port + unevaluatedProperties: false + description: + Input port for receiving DVP data. + + properties: + endpoint: + $ref: video-interfaces.yaml# + unevaluatedProperties: false + + port@1: + $ref: /schemas/graph.yaml#/properties/port + unevaluatedProperties: false + description: + Input port for receiving CSI data. + + properties: + endpoint: + $ref: video-interfaces.yaml# + unevaluatedProperties: false + + required: + - port@1 + +required: + - compatible + - reg + - reg-names + - clocks + - clock-names + - resets + - reset-names + - power-domains + - interrupts + - ports + +additionalProperties: false + +examples: + - | + isp@19840000 { + compatible = "starfive,jh7110-camss"; + reg = <0x19840000 0x10000>, + <0x19870000 0x30000>; + reg-names = "syscon", "isp"; + clocks = <&ispcrg 0>, + <&ispcrg 13>, + <&ispcrg 2>, + <&ispcrg 12>, + <&ispcrg 1>, + <&syscrg 51>, + <&syscrg 52>; + clock-names = "apb_func", + "wrapper_clk_c", + "dvp_inv", + "axiwr", + "mipi_rx0_pxl", + "ispcore_2x", + "isp_axi"; + resets = <&ispcrg 0>, + <&ispcrg 1>, + <&ispcrg 10>, + <&ispcrg 11>, + <&syscrg 41>, + <&syscrg 42>; + reset-names = "wrapper_p", + "wrapper_c", + "axird", + "axiwr", + "isp_top_n", + "isp_top_axi"; + power-domains = <&pwrc 5>; + interrupts = <92>, <87>, <88>, <90>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + port@0 { + reg = <0>; + vin_from_sc2235: endpoint { + remote-endpoint = <&sc2235_to_vin>; + }; + }; + + port@1 { + reg = <1>; + vin_from_csi2rx: endpoint { + remote-endpoint = <&csi2rx_to_vin>; + }; + }; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index b6c811326355..f7165371c56d 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -19908,6 +19908,13 @@ M: Ion Badulescu <ionut@badula.org> S: Odd Fixes F: drivers/net/ethernet/adaptec/starfire* +STARFIVE CAMERA SUBSYSTEM DRIVER +M: Jack Zhu <jack.zhu@starfivetech.com> +M: Changhuang Liang <changhuang.liang@starfivetech.com> +L: linux-media@vger.kernel.org +S: Maintained +F: Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml + STARFIVE DEVICETREES M: Emil Renner Berthing <kernel@esmil.dk> S: Maintained
Add the bindings documentation for Starfive JH7110 Camera Subsystem which is used for handing image sensor data. Signed-off-by: Jack Zhu <jack.zhu@starfivetech.com> --- .../bindings/media/starfive,jh7110-camss.yaml | 159 ++++++++++++++++++ MAINTAINERS | 7 + 2 files changed, 166 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml