| # 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 unit) |
| 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#/$defs/port-base |
| unevaluatedProperties: false |
| description: Input port for receiving DVP data. |
| |
| properties: |
| endpoint: |
| $ref: video-interfaces.yaml# |
| unevaluatedProperties: false |
| |
| properties: |
| bus-type: |
| enum: [5, 6] |
| |
| bus-width: |
| enum: [8, 10, 12] |
| |
| data-shift: |
| enum: [0, 2] |
| default: 0 |
| |
| hsync-active: |
| enum: [0, 1] |
| default: 1 |
| |
| vsync-active: |
| enum: [0, 1] |
| default: 1 |
| |
| required: |
| - bus-type |
| - bus-width |
| |
| port@1: |
| $ref: /schemas/graph.yaml#/properties/port |
| description: Input port for receiving CSI data. |
| |
| required: |
| - port@0 |
| - 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>; |
| bus-type = <5>; |
| bus-width = <8>; |
| data-shift = <2>; |
| hsync-active = <1>; |
| vsync-active = <0>; |
| pclk-sample = <1>; |
| }; |
| }; |
| |
| port@1 { |
| reg = <1>; |
| vin_from_csi2rx: endpoint { |
| remote-endpoint = <&csi2rx_to_vin>; |
| }; |
| }; |
| }; |
| }; |