Allwinner A31 DSI Encoder ========================= The DSI pipeline consists of two separate blocks: the DSI controller itself, and its associated D-PHY. DSI Encoder ----------- The DSI Encoder generates the DSI signal from the TCON's. Required properties: - compatible: value must be one of: * allwinner,sun6i-a31-mipi-dsi - reg: base address and size of memory-mapped region - interrupts: interrupt associated to this IP - clocks: phandles to the clocks feeding the DSI encoder * bus: the DSI interface clock * mod: the DSI module clock - clock-names: the clock names mentioned above - phys: phandle to the D-PHY - phy-names: must be "dphy" - resets: phandle to the reset controller driving the encoder - ports: A ports node with endpoint definitions as defined in Documentation/devicetree/bindings/media/video-interfaces.txt. The first port should be the input endpoint, usually coming from the associated TCON. Any MIPI-DSI device attached to this should be described according to the bindings defined in ../mipi-dsi-bus.txt D-PHY ----- Required properties: - compatible: value must be one of: * allwinner,sun6i-a31-mipi-dphy - reg: base address and size of memory-mapped region - clocks: phandles to the clocks feeding the DSI encoder * bus: the DSI interface clock * mod: the DSI module clock - clock-names: the clock names mentioned above - resets: phandle to the reset controller driving the encoder Example: dsi0: dsi@1ca0000 { compatible = "allwinner,sun6i-a31-mipi-dsi"; reg = <0x01ca0000 0x1000>; interrupts = ; clocks = <&ccu CLK_BUS_MIPI_DSI>, <&ccu CLK_DSI_SCLK>; clock-names = "bus", "mod"; resets = <&ccu RST_BUS_MIPI_DSI>; phys = <&dphy0>; phy-names = "dphy"; #address-cells = <1>; #size-cells = <0>; panel@0 { compatible = "bananapi,lhr050h41", "ilitek,ili9881c"; reg = <0>; power-gpios = <&pio 1 7 GPIO_ACTIVE_HIGH>; /* PB07 */ reset-gpios = <&r_pio 0 5 GPIO_ACTIVE_LOW>; /* PL05 */ backlight = <&pwm_bl>; }; ports { #address-cells = <1>; #size-cells = <0>; port@0 { #address-cells = <1>; #size-cells = <0>; reg = <0>; dsi0_in_tcon0: endpoint { remote-endpoint = <&tcon0_out_dsi0>; }; }; }; }; dphy0: d-phy@1ca1000 { compatible = "allwinner,sun6i-a31-mipi-dphy"; reg = <0x01ca1000 0x1000>; clocks = <&ccu CLK_BUS_MIPI_DSI>, <&ccu CLK_DSI_DPHY>; clock-names = "bus", "mod"; resets = <&ccu RST_BUS_MIPI_DSI>; #phy-cells = <0>; };