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 + +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>; + 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-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 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html