Re: [PATCH 2/4] dt-bindings: Document the Raspberry Pi Touchscreen nodes.

From: Rob Herring
Date: Mon May 15 2017 - 16:45:05 EST


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 <eric@xxxxxxxxxx>
> ---
> .../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-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/dri-devel