> Am 05.07.2020 um 08:52 schrieb H. Nikolaus Schaller <hns@xxxxxxxxxxxxx>: > > Hi Tony, > since v5.7-rc1 our Pyra (OMAP5) dsi panel doesn't initialize and we do not > get a /dev/fb0. > > There is a suspicious log message: > > [ 15.352314] DSI: omapdss DSI error: unsupported DSI module > > I could trace it down to be likely a discrepancy between > > target-module@58000000 { > > ... > > target-module@5000 { > compatible = "ti,sysc-omap2", "ti,sysc"; > reg = <0x5000 0x4>, > ... > ranges = <0 0x5000 0x1000>; > > dsi1: encoder@0 { > compatible = "ti,omap5-dsi"; > > target-module@9000 { > compatible = "ti,sysc-omap2", "ti,sysc"; > reg = <0x9000 0x4>, > <0x9010 0x4>, > <0x9014 0x4>; > > ... > > ranges = <0 0x9000 0x1000>; > > dsi2: encoder@0 { > compatible = "ti,omap5-dsi"; > reg = <0 0x200>, > <0x200 0x40>, > <0x300 0x40>; > > > > and > > static const struct dsi_of_data dsi_of_data_omap5 = { > .model = DSI_MODEL_OMAP5, > .pll_hw = &dss_omap5_dsi_pll_hw, > .modules = (const struct dsi_module_id_data[]) { > { .address = 0x58004000, .id = 0, }, > { .address = 0x58009000, .id = 1, }, > { }, > }, > > Therefore the address match logic in dsi_probe() fails and ends in > the mentioned log message. > > Looking at git blame, the DTS was recently changed by 5a507162f096b54. > Commit 98e1a6a86a22d62 did do a similar change for dsi2 but did not > modify the address. > > So I wonder if the 0x5000 is just a typo or if there is something > where the dsi1: encoder@0 should have a negative offset to end > up at address 0x58004000? > > BR and thanks, > Nikolaus > This patch makes the DSI error go away and omapdrm initialized: diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi index e147121513e644..b9f54f62163879 100644 --- a/arch/arm/boot/dts/omap5.dtsi +++ b/arch/arm/boot/dts/omap5.dtsi @@ -474,7 +474,7 @@ rfbi: encoder@0 { }; }; - target-module@5000 { + target-module@4000 { compatible = "ti,sysc-omap2", "ti,sysc"; reg = <0x5000 0x4>, <0x5010 0x4>, @@ -490,7 +490,7 @@ SYSC_OMAP2_SOFTRESET | ti,syss-mask = <1>; #address-cells = <1>; #size-cells = <1>; - ranges = <0 0x5000 0x1000>; + ranges = <0 0x4000 0x1000>; dsi1: encoder@0 { compatible = "ti,omap5-dsi"; But I still have no display: [ 17.537515] [drm] Initialized omapdrm 1.0.0 20110917 for omapdrm.0 on minor 2 [ 18.558950] omapdrm omapdrm.0: [drm] Cannot find any crtc or sizes So there is more to fix. BR, Nikolaus