Hi, On Tue, Jul 5, 2022 at 8:10 AM Kieran Bingham <kieran.bingham+renesas@xxxxxxxxxxxxxxxx> wrote: > > Hi Rasmus, > > Quoting Rasmus Villemoes (2022-07-05 10:08:37) > > Hi > > > > I have an imx8mp board with a sn65dsi86 and a (full-size) DisplayPort > > connector, which I'm trying to get up and running. > > > > The display connector registers itself as a bridge; I do get > > successfully to the end of display_connector_probe(). But > > ti_sn_bridge_probe() only looks for a panel (passing NULL for the > > drm_bridge** argument), so always fails with -EPROBE_DEFER. > > > > This text > > > > At the moment, this binding only handles the eDP case. It is > > possible it will be extended in the future to handle the DP case. > > For DP, presumably a connector would be listed under the DP AUX > > bus instead of a panel. > > > > in dp-aux-bus.yaml suggests that what I'm trying to do is simply not > > supported yet. But then I stumbled on commit 5a6bca1ff7a5 (arm64: dts: > > renesas: falcon-cpu: Add DSI display output), which seems to do exactly > > what I'm trying to, except with a mini dp connector. So I must be > > missing something; maybe ti_sn_bridge_probe() failing is not actually a > > problem and I could be looking at the wrong place. > > > > Snippets from my .dts; the dp connector is currently placed at top > > level, i.e. not within an aux-bus node below the sn65dsi86: > > > > display_port0: connector { > > compatible = "dp-connector"; > > label = "DP0"; > > type = "full-size"; > > dp-pwr-supply = <®_DP_PWR>; > > > > port { > > dp_connector_in: endpoint { > > remote-endpoint = <&sn65dsi86_out>; > > }; > > }; > > }; > > > > &i2c5 { > > ... > > eDP: bridge@2c { > > compatible = "ti,sn65dsi86"; > > reg = <0x2c>; > > pinctrl-names = "default"; > > pinctrl-0 = <&pinctrl_eDP>; > > > > interrupts-extended = <&gpio3 14 IRQ_TYPE_LEVEL_HIGH>; > > enable-gpios = <&gpio3 9 GPIO_ACTIVE_HIGH>; > > > > vpll-supply = <&VDD_1V8>; > > vccio-supply = <&VDD_1V8>; > > vcca-supply = <®_1V2>; > > vcc-supply = <®_1V2>; > > > > clocks = <&clk_38_4MHz>; > > clock-names = "refclk"; > > > > ports { > > #address-cells = <1>; > > #size-cells = <0>; > > > > port@0 { > > reg = <0>; > > sn65dsi86_in_a: endpoint { > > remote-endpoint = <&mipi_dsi_out>; > > }; > > }; > > > > port@1 { > > reg = <1>; > > sn65dsi86_out: endpoint { > > remote-endpoint = <&dp_connector_in>; > > data-lanes = <3 2 1 0>; > > }; > > }; > > }; > > }; > > }; > > > > When I manually set the enable-gpio high in U-Boot, I can talk to the > > device and e.g. read out the 8 device_id bytes which match what I expect. > > > > Any hints would be highly appreciated. > > If it helps, this is an area I've been working to support one of our > boards. I have a branch at: > > git://git.kernel.org/pub/scm/linux/kernel/git/kbingham/rcar.git > kbingham/drm-misc/next/sn65dsi86/hpd > > But it's still a work in progress, and now needs rebasing to account for > Sam's latest updates. > > I intend to resume this in a few weeks, but hopefully that branch may > have some helpful pointers to get things progressing for you too. In case you didn't notice, Dmitry's latest series is probably interesting to you. https://lore.kernel.org/r/20220711092117.360797-1-dmitry.baryshkov@xxxxxxxxxx/ -Doug