Message ID | 20201229161724.511102-2-maxime.chevallier@bootlin.com |
---|---|
State | New |
Headers | show |
Series | media: rockchip: Introduce driver for Rockchip's camera interface | expand |
On Tue, Dec 29, 2020 at 05:17:22PM +0100, Maxime Chevallier wrote: > Add a documentation for the Rockchip Camera Interface controller > binding. > > This controller can be found on platforms such as the PX30 or the > RK3288, the PX30 being the only platform supported so far. > > Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com> > --- > v3: Renamed the controller to "vip" > > v4: fixed the binding to get a compiling example > > v5: Fixed the binding even more, the 'endpoint' description was missing > > .../bindings/media/rockchip-vip.yaml | 101 ++++++++++++++++++ > 1 file changed, 101 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/rockchip-vip.yaml > > diff --git a/Documentation/devicetree/bindings/media/rockchip-vip.yaml b/Documentation/devicetree/bindings/media/rockchip-vip.yaml > new file mode 100644 > index 000000000000..93055273b32f > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/rockchip-vip.yaml > @@ -0,0 +1,101 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/media/rockchip-vip.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Rockchip VIP Camera Interface > + > +maintainers: > + - Maxime Chevallier <maxime.chevallier@bootlin.com> > + > +description: |- > + Camera Interface for Rockchip platforms > + > +properties: > + compatible: > + const: rockchip,px30-vip > + > + reg: > + maxItems: 2 Need to define what each 'reg' entry represents. > + > + interrupts: > + maxItems: 1 > + > + clocks: > + items: > + - description: ACLK > + - description: HCLK > + - description: PCLK IN > + > + clock-names: > + items: > + - const: aclk > + - const: hclk > + - const: pclkin > + > + resets: > + items: > + - description: AXI > + - description: AHB > + - description: PCLK IN > + > + reset-names: > + items: > + - const: axi > + - const: ahb > + - const: pclkin > + > + power-domains: > + maxItems: 1 > + > + # See ./video-interfaces.txt for details > + port: > + type: object > + additionalProperties: false > + description: A connection to a sensor or decoder > + > + properties: > + endpoint: > + type: object > + > + properties: > + remote-endpoint: true > + > + required: > + - remote-endpoint > + > + required: > + - endpoint You can drop everything for 'endpoint'. Just need 'port'. > + > +required: > + - compatible > + - reg > + - interrupts > + - clocks > + - port > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + #include <dt-bindings/clock/px30-cru.h> > + #include <dt-bindings/power/px30-power.h> > + > + vip: vip@ff490000 { > + compatible = "rockchip,px30-vip"; > + reg = <0x0 0xff490000>, <0x0 0x200>; > + interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cru ACLK_CIF>, <&cru HCLK_CIF>, <&cru PCLK_CIF>; > + clock-names = "aclk", "hclk", "pclkin"; > + resets = <&cru SRST_CIF_A>, <&cru SRST_CIF_H>, <&cru SRST_CIF_PCLKIN>; > + reset-names = "axi", "ahb", "pclkin"; > + power-domains = <&power PX30_PD_VI>; > + port { > + vip_in: endpoint { > + remote-endpoint = <&tw9900_out>; > + }; > + }; > + }; > +... > -- > 2.25.4 >
diff --git a/Documentation/devicetree/bindings/media/rockchip-vip.yaml b/Documentation/devicetree/bindings/media/rockchip-vip.yaml new file mode 100644 index 000000000000..93055273b32f --- /dev/null +++ b/Documentation/devicetree/bindings/media/rockchip-vip.yaml @@ -0,0 +1,101 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/rockchip-vip.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Rockchip VIP Camera Interface + +maintainers: + - Maxime Chevallier <maxime.chevallier@bootlin.com> + +description: |- + Camera Interface for Rockchip platforms + +properties: + compatible: + const: rockchip,px30-vip + + reg: + maxItems: 2 + + interrupts: + maxItems: 1 + + clocks: + items: + - description: ACLK + - description: HCLK + - description: PCLK IN + + clock-names: + items: + - const: aclk + - const: hclk + - const: pclkin + + resets: + items: + - description: AXI + - description: AHB + - description: PCLK IN + + reset-names: + items: + - const: axi + - const: ahb + - const: pclkin + + power-domains: + maxItems: 1 + + # See ./video-interfaces.txt for details + port: + type: object + additionalProperties: false + description: A connection to a sensor or decoder + + properties: + endpoint: + type: object + + properties: + remote-endpoint: true + + required: + - remote-endpoint + + required: + - endpoint + +required: + - compatible + - reg + - interrupts + - clocks + - port + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/arm-gic.h> + #include <dt-bindings/clock/px30-cru.h> + #include <dt-bindings/power/px30-power.h> + + vip: vip@ff490000 { + compatible = "rockchip,px30-vip"; + reg = <0x0 0xff490000>, <0x0 0x200>; + interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cru ACLK_CIF>, <&cru HCLK_CIF>, <&cru PCLK_CIF>; + clock-names = "aclk", "hclk", "pclkin"; + resets = <&cru SRST_CIF_A>, <&cru SRST_CIF_H>, <&cru SRST_CIF_PCLKIN>; + reset-names = "axi", "ahb", "pclkin"; + power-domains = <&power PX30_PD_VI>; + port { + vip_in: endpoint { + remote-endpoint = <&tw9900_out>; + }; + }; + }; +...
Add a documentation for the Rockchip Camera Interface controller binding. This controller can be found on platforms such as the PX30 or the RK3288, the PX30 being the only platform supported so far. Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com> --- v3: Renamed the controller to "vip" v4: fixed the binding to get a compiling example v5: Fixed the binding even more, the 'endpoint' description was missing .../bindings/media/rockchip-vip.yaml | 101 ++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/rockchip-vip.yaml