Hi All, Been working on getting T113-s3 on mainline as I prepare to update a project from a v3s. One of the benefits has been the ability to move from a 18bit RGB LCD to a MIPI-DSI display, with the interface available on the T113-s3 , which has given some better display choices.
The DSI driver was on mainline from 6.2, however building from sources on init I am getting the following error: *"sun6i-mipi-dsi 5450000.dsi: Couldn't get the DSI mod clock"* Its tripping at the following init in sun6i_mipi_dsi.c <https://elixir.bootlin.com/linux/v6.6.2/source/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c#L1155> if (variant <https://elixir.bootlin.com/linux/v6.6.2/C/ident/variant>-> has_mod_clk <https://elixir.bootlin.com/linux/v6.6.2/C/ident/has_mod_clk>) { dsi <https://elixir.bootlin.com/linux/v6.6.2/C/ident/dsi>->mod_clk <https://elixir.bootlin.com/linux/v6.6.2/C/ident/mod_clk> = devm_clk_get <https://elixir.bootlin.com/linux/v6.6.2/C/ident/devm_clk_get>(dev, "mod"); if (IS_ERR <https://elixir.bootlin.com/linux/v6.6.2/C/ident/IS_ERR>(dsi <https://elixir.bootlin.com/linux/v6.6.2/C/ident/dsi>->mod_clk <https://elixir.bootlin.com/linux/v6.6.2/C/ident/mod_clk>)) { dev_err <https://elixir.bootlin.com/linux/v6.6.2/C/ident/dev_err>(dev, "Couldn't get the DSI mod clock\n"); ret = PTR_ERR <https://elixir.bootlin.com/linux/v6.6.2/C/ident/PTR_ERR>(dsi <https://elixir.bootlin.com/linux/v6.6.2/C/ident/dsi>->mod_clk <https://elixir.bootlin.com/linux/v6.6.2/C/ident/mod_clk>); goto err_attach_clk; } The display modclock is registered from the following DTS node in sunxi-d1s-t113.dtsi <https://elixir.bootlin.com/linux/v6.6.2/source/arch/riscv/boot/dts/allwinner/sunxi-d1s-t113.dtsi#L641> display_clocks <https://elixir.bootlin.com/linux/v6.6.2/D/ident/display_clocks>: clock-controller@5000000 { compatible = "allwinner,sun20i-d1-de2-clk <https://elixir.bootlin.com/linux/v6.6.2/B/ident/allwinner%2Csun20i-d1-de2-clk> ", "allwinner,sun50i-h5-de2-clk"; reg = <0x5000000 0x10000>; clocks <https://elixir.bootlin.com/linux/v6.6.2/D/ident/clocks> = <&ccu <https://elixir.bootlin.com/linux/v6.6.2/D/ident/ccu> CLK_BUS_DE <https://elixir.bootlin.com/linux/v6.6.2/D/ident/CLK_BUS_DE>>, *<&ccu <https://elixir.bootlin.com/linux/v6.6.2/D/ident/ccu> CLK_DE <https://elixir.bootlin.com/linux/v6.6.2/D/ident/CLK_DE>>*; clock-names = "bus", *"mod"*; resets = <&ccu <https://elixir.bootlin.com/linux/v6.6.2/D/ident/ccu> RST_BUS_DE <https://elixir.bootlin.com/linux/v6.6.2/D/ident/RST_BUS_DE>>; #clock-cells = <1>; #reset-cells = <1>; }; I checked the buildroot config and the CCU for sun8i DE2 is being built and included, the registration should occur and give an exception if it's not happening: ccu-sun8i-de2.c <https://elixir.bootlin.com/linux/v6.6.2/source/drivers/clk/sunxi-ng/ccu-sun8i-de2.c#L263> mod_clk <https://elixir.bootlin.com/linux/v6.6.2/C/ident/mod_clk> = devm_clk_get <https://elixir.bootlin.com/linux/v6.6.2/C/ident/devm_clk_get>( &pdev->dev, "mod"); if (IS_ERR <https://elixir.bootlin.com/linux/v6.6.2/C/ident/IS_ERR>(mod_clk <https://elixir.bootlin.com/linux/v6.6.2/C/ident/mod_clk>)) return dev_err_probe <https://elixir.bootlin.com/linux/v6.6.2/C/ident/dev_err_probe>(&pdev->dev, PTR_ERR <https://elixir.bootlin.com/linux/v6.6.2/C/ident/PTR_ERR>(mod_clk <https://elixir.bootlin.com/linux/v6.6.2/C/ident/mod_clk>), "Couldn't get mod clk\n"); ret = clk_prepare_enable <https://elixir.bootlin.com/linux/v6.6.2/C/ident/clk_prepare_enable>(mod_clk <https://elixir.bootlin.com/linux/v6.6.2/C/ident/mod_clk>); if (ret) { dev_err <https://elixir.bootlin.com/linux/v6.6.2/C/ident/dev_err>(&pdev->dev , "Couldn't enable mod clk: %d\n", ret); goto err_disable_bus_clk; } I don't see dmesg print any clock errors, but at the same time, I understand that linux common clock framework also won't print anything by default. I can't see anything in either driver that would cause an error other than the clock not existing, if anyone has any ideas - i'm all ears. At the moment I am leaning towards the clock-controller; Is there a userspace or debug option to check (mod) clock status' under the common clock framework? Thanks -- You received this message because you are subscribed to the Google Groups "linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. To view this discussion on the web, visit https://groups.google.com/d/msgid/linux-sunxi/e3e38724-5856-4bf2-ae8f-8ffd2c6dad87n%40googlegroups.com.