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

Laurent Pinchart
2017-05-15T21:53:20Z

Hi Eric,

Thank you for the patch.

On Thursday 11 May 2017 16:56:23 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@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-touchscr
> een-bridge.txt create mode 100644
> Documentation/devicetree/bindings/display/panel/raspberrypi,7inch-touchscre
> en-panel.txt
>
> diff --git
> a/Documentation/devicetree/bindings/display/bridge/raspberrypi,7inch-touchs
> creen-bridge.txt
> b/Documentation/devicetree/bindings/display/bridge/raspberrypi,7inch-touchs
> creen-bridge.txt new file mode 100644
> index 000000000000..a5669beaf68f
> --- /dev/null
> +++
> b/Documentation/devicetree/bindings/display/bridge/raspberrypi,7inch-touchs
> creen-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
> +
> +and this covers the TC358762 bridge and Atmel microcontroller, while
> +../panel/raspberrypi,7inch-touchscreen-panel.txt covers the panel.

The TC358762 is a standalone bridge that doesn't depend on the ATTiny
microcontroller used by the RPI. As it's usable standalone, I believe this
binding should be split in two.

> +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>;
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + port@0 {
> + reg = <0>;
> + 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-touchsc
> reen-panel.txt
> b/Documentation/devicetree/bindings/display/panel/raspberrypi,7inch-touchsc
> reen-panel.txt new file mode 100644
> index 000000000000..1e84f97b3b20
> --- /dev/null
> +++
> b/Documentation/devicetree/bindings/display/panel/raspberrypi,7inch-touchsc
> reen-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"

--
Regards,

Laurent Pinchart