[PATCH v5 01/44] dt-bindings: clock: Add new bindings for TI Davinci PLL clocks
flat view
From: Adam Ford <hidden>
Date: 2018-01-11 20:58:21
Also in:
linux-clk, linux-devicetree, lkml
On Thu, Jan 11, 2018 at 2:04 PM, David Lechner [off-list ref] wrote:
quoted hunk ↗ jump to hunk
On 01/11/2018 12:50 PM, Adam Ford wrote:quoted
On Thu, Jan 11, 2018 at 12:29 PM, David Lechner [off-list ref] wrote:quoted
If removing the "clk_ignore_unused" option causes the board to not boot, then we still have problems that need to be fixed, so please also test without this option.Without this option, it still does not boot. Without device tree it hangs after: [snip] NET: Registered protocol family 17 Loading compiled-in X.509 certificates console [netcon0] enabled netconsole: network logging started davinci_emac davinci_emac.1: using random MAC addr: 5e:38:1a:1f:4f:77 mmc0: host does not support reading read-only switch, assuming write-enable hctosys: unable to open rtc device (rtc0) mmc0: new high speed SDHC card at address b368 With device tree it hangs after: [snip] mmc0: host does not support reading read-only switch, assuming write-enable mmc0: new high speed SDHC card at address b368 mmcblk0: mmc0:b368 00000 3.75 GiB mmcblk0: p1 p2 pca953x 0-0020: 0-0020 supply vcc not found, using dummy regulator pca953x 0-0020: failed reading register pca953x: probe of 0-0020 failed with error -121 console [netcon0] enabled netconsole: network logging started davinci_emac 1e20000.ethernet: incompatible machine/device type for reading mac address hctosys: unable to open rtc device (rtc0)Please try this change:diff --git a/drivers/clk/davinci/psc-da850.cb/drivers/clk/davinci/psc-da850.c index 3fd6b49..a526cc2 100644--- a/drivers/clk/davinci/psc-da850.c +++ b/drivers/clk/davinci/psc-da850.c@@ -17,7 +17,7 @@ static const struct davinci_psc_clk_info da850_psc0_info[]__initconst = { LPSC(0, 0, tpcc0, pll0_sysclk2, LPSC_ALWAYS_ENABLED), LPSC(1, 0, tptc0, pll0_sysclk2, LPSC_ALWAYS_ENABLED), LPSC(2, 0, tptc1, pll0_sysclk2, LPSC_ALWAYS_ENABLED), - LPSC(3, 0, aemif, pll0_sysclk3, 0), + LPSC(3, 0, aemif, pll0_sysclk3, LPSC_ALWAYS_ENABLED), LPSC(4, 0, spi0, pll0_sysclk2, 0), LPSC(5, 0, mmcsd0, pll0_sysclk2, 0), LPSC(6, 0, aintc, pll0_sysclk4, LPSC_ALWAYS_ENABLED), If that does not work, try adding LPSC_ALWAYS_ENABLED to all of the clocks in this file and then eliminate them one by one until you find which one is preventing boot.
Unfortunately, that didn't work. I switch all the entries in both tables that had a 0 to LPSC_ALWAYS_ENABLED, but no luck booting.
If it still does not boot, there is a similar DIVCLK_ALWAYS_ENABLED flag in drivers/clk/davinci/pll-da850.c that you can repeat the exercise with. Add DIVCLK_ALWAYS_ENABLED to all of the clocks there and then eliminate it one by one until you find the clock that is causing the problem.
Still no good news. I switched all the entries with a 0 to DIVCLK_ALWAYS_ENABLED and it still didn't finish booting. I wonder if Sekhar Nori might have some suggestions. I didn't look at the code or try to understand it. I just changed the settings.
adam