On Thu, May 11, 2017 at 04:56:23PM -0700, Eric Anholt wrote:
> The Raspberry Pi 7" Touchscreen is a DPI touchscreen panel with
> DSI->DPI bridge and touchscreen controller integrated, that connects
> to the Raspberry Pi through its 15-pin "DSI" connector (some lines are
> DSI, some lines are I2C).
> 
> This device is represented in the DT as three nodes (DSI device, I2C
> device, panel).  Input will be left to a separate binding later, as it
> will be a basic I2C client device.
> 
> Signed-off-by: Eric Anholt <e...@anholt.net>
> ---
>  .../raspberrypi,7inch-touchscreen-bridge.txt       | 68 
> ++++++++++++++++++++++
>  .../panel/raspberrypi,7inch-touchscreen-panel.txt  |  7 +++
>  2 files changed, 75 insertions(+)
>  create mode 100644 
> Documentation/devicetree/bindings/display/bridge/raspberrypi,7inch-touchscreen-bridge.txt
>  create mode 100644 
> Documentation/devicetree/bindings/display/panel/raspberrypi,7inch-touchscreen-panel.txt
> 
> diff --git 
> a/Documentation/devicetree/bindings/display/bridge/raspberrypi,7inch-touchscreen-bridge.txt
>  
> b/Documentation/devicetree/bindings/display/bridge/raspberrypi,7inch-touchscreen-bridge.txt
> new file mode 100644
> index 000000000000..a5669beaf68f
> --- /dev/null
> +++ 
> b/Documentation/devicetree/bindings/display/bridge/raspberrypi,7inch-touchscreen-bridge.txt
> @@ -0,0 +1,68 @@
> +Official 7" (800x480) Raspberry Pi touchscreen panel's bridge.
> +
> +This DSI panel contains:
> +
> +- TC358762 DSI->DPI bridge
> +- Atmel microcontroller on I2C for power sequencing the DSI bridge and
> +  controlling backlight
> +- Touchscreen controller on I2C for touch input

This is 1 uC or 2?

> +
> +and this covers the TC358762 bridge and Atmel microcontroller, while
> +../panel/raspberrypi,7inch-touchscreen-panel.txt covers the panel.
> +
> +Required properties:
> +- compatible:        Must be "raspberrypi,7inch-touchscreen-bridge"
> +- raspberrypi,touchscreen-bridge:
> +             Handle to the I2C device for Atmel microcontroller
> +
> +Example:
> +
> +dsi1: dsi@7e700000 {
> +     #address-cells = <1>;
> +     #size-cells = <0>;
> +     <...>
> +
> +     lcd-bridge@0 {
> +             compatible = "raspberrypi,7inch-touchscreen-bridge";
> +             reg = <0>;
> +
> +             raspberrypi,touchscreen-bridge = <&pitouchscreen_bridge>;

I think this should be a port with a graph connection from the DSI 
node to the i2c bridge device (and then to the panel).

It's also how other DSI bridges like the tc358767 are done.

> +             ports {
> +                     #address-cells = <1>;
> +                     #size-cells = <0>;
> +                     port@0 {
> +                             reg = <0>;

BTW, you don't need this when there is only 1.

> +                             pitouchscreen_bridge_port: endpoint {
> +                                     remote-endpoint = 
> <&pitouchscreen_panel_port>;
> +                             };
> +                     };
> +             };
> +     };
> +};
> +
> +i2c_dsi: i2c {
> +     compatible = "i2c-gpio";
> +     #address-cells = <1>;
> +     #size-cells = <0>;
> +     gpios = <&gpio 28 0
> +              &gpio 29 0>;
> +
> +     pitouchscreen_bridge: bridge@45 {
> +             compatible = "raspberrypi,touchscreen-bridge-i2c";
> +             reg = <0x45>;
> +     };
> +};
> +
> +lcd {
> +     compatible = "raspberrypi,7inch-touchscreen-panel";
> +     ports {
> +             #address-cells = <1>;
> +             #size-cells = <0>;
> +             port@0 {
> +                     reg = <0>;
> +                     pitouchscreen_panel_port: endpoint {
> +                             remote-endpoint = <&pitouchscreen_bridge_port>;
> +                     };
> +             };
> +     };
> +};
> diff --git 
> a/Documentation/devicetree/bindings/display/panel/raspberrypi,7inch-touchscreen-panel.txt
>  
> b/Documentation/devicetree/bindings/display/panel/raspberrypi,7inch-touchscreen-panel.txt
> new file mode 100644
> index 000000000000..1e84f97b3b20
> --- /dev/null
> +++ 
> b/Documentation/devicetree/bindings/display/panel/raspberrypi,7inch-touchscreen-panel.txt
> @@ -0,0 +1,7 @@
> +Official 7" (800x480) Raspberry Pi touchscreen panel's panel.
> +
> +This binding is compatible with the simple-panel binding, which is specified
> +in simple-panel.txt in this directory.
> +
> +Required properties:
> +- compatible:        Must be "raspberrypi,7inch-touchscreen-panel"
> -- 
> 2.11.0
> 
> _______________________________________________
> dri-devel mailing list
> dri-de...@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to