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@xxxxxxxxxxx> > --- > 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@xxxxxxxxxxx> > + > +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 >