Bug 244754

Summary: import DTS files from Linux 5.5 breaks AM33xx drivers
Product: Base System Reporter: Oskar Holmlund <oskar.holmlund>
Component: armAssignee: freebsd-arm (Nobody) <freebsd-arm>
Status: Closed FIXED    
Severity: Affects Only Me CC: manu, oskar.holmlund
Priority: ---    
Version: CURRENT   
Hardware: Any   
OS: Any   

Description Oskar Holmlund 2020-03-12 12:47:18 UTC
Head r358906 will boot but several drivers fails in ti_hwmods_get_clock() due to removal of ti,hwmods in am33xx-l4.dtsi (r358430).

r358906 will work fine with DTS from pre r358430.

Is it possible to update struct hwmod ti_hwmods[] { ... } to map properties from parent sysc, for example clocks?

gpio0_target: target-module@7000 {      /* 0x44e07000, ap 14 20.0 */
    compatible = "ti,sysc-omap2", "ti,sysc";
...
    clocks = <&l4_wkup_clkctrl AM3_L4_WKUP_GPIO1_CLKCTRL 0>,
             <&l4_wkup_clkctrl AM3_L4_WKUP_GPIO1_CLKCTRL 18>;
...
    gpio0: gpio@0 {
    };
};

target-module@4c000 {                   /* 0x4804c000, ap 32 36.0 */
    compatible = "ti,sysc-omap2", "ti,sysc";
...
    clocks = <&l4ls_clkctrl AM3_L4LS_GPIO2_CLKCTRL 0>,
             <&l4ls_clkctrl AM3_L4LS_GPIO2_CLKCTRL 18>;
...
    gpio1: gpio@0 {
....
    };
};
Comment 1 Emmanuel Vadot freebsd_committer freebsd_triage 2020-03-15 10:16:29 UTC
This is inevitable since our TI port is dying because no one is maintaining it.
Maybe some hackish way would be possible for a short time but the real solution is to do a proper clock implementation if someone care about those SoCs.
Comment 2 Emmanuel Vadot freebsd_committer freebsd_triage 2020-09-17 09:26:57 UTC
Fixed now that we have clock drivers.