Hi Rob, On Monday 15 May 2017 15:44:57 Rob Herring wrote: > 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-touch > > screen-bridge.txt create mode 100644 > > Documentation/devicetree/bindings/display/panel/raspberrypi,7inch-touchs > > creen-panel.txt> > > diff --git > > a/Documentation/devicetree/bindings/display/bridge/raspberrypi,7inch-touc > > hscreen-bridge.txt > > b/Documentation/devicetree/bindings/display/bridge/raspberrypi,7inch-touc > > hscreen-bridge.txt new file mode 100644 > > index 000000000000..a5669beaf68f > > --- /dev/null > > +++ > > b/Documentation/devicetree/bindings/display/bridge/raspberrypi,7inch-touc > > hscreen-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). No, this should actually not exist :-) The property references the I2C device DT node corresponding to the microcontroller that controls the backlight (and, if I understand correctly, handles power sequencing). The DSI driver (in patch 3/4) then grabs the I2C device and talks to it. I don't think this is right, as commented separately on this patch, the bindings should be split, with a standalone binding for the TC358762 (and a separate standalone driver too). > 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-touch > > screen-panel.txt > > b/Documentation/devicetree/bindings/display/panel/raspberrypi,7inch-touch > > screen-panel.txt new file mode 100644 > > index 000000000000..1e84f97b3b20 > > --- /dev/null > > +++ > > b/Documentation/devicetree/bindings/display/panel/raspberrypi,7inch-touch > > screen-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 -- 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