* [PATCH v4] ARM: dts: Configure osc clock for d_can on am437x @ 2020-07-14 6:35 dillon.minfei 2020-07-14 6:35 ` [PATCH v4] Fix dcan driver probe failed on am437x platform dillon.minfei 0 siblings, 1 reply; 5+ messages in thread From: dillon.minfei @ 2020-07-14 6:35 UTC (permalink / raw) To: sfr, bcousson, tony, robh+dt Cc: linux-omap, devicetree, linux-kernel, dillon min From: dillon min <dillon.minfei@gmail.com> V3 -> V4: make Fixes tags before Signed-off-by line. make subject more clear and short. add driver probe failed log to commit message. V2 -> V3: make Fixes tags after Signed-off-by line. V1 -> V2: correct commit messages based on Stephen Rothwell's reviewing. make Fixes tags to oneline. make all commit message tags at the end of commit message V1: Got following d_can probe errors with kernel 5.8-rc1 on am437x [ 10.730822] CAN device driver interface Starting Wait for Network to be Configured... [ OK ] Reached target Network. [ 10.787363] c_can_platform 481cc000.can: probe failed [ 10.792484] c_can_platform: probe of 481cc000.can failed with error -2 [ 10.799457] c_can_platform 481d0000.can: probe failed [ 10.804617] c_can_platform: probe of 481d0000.can failed with error -2 actually, Tony has fixed this issue on am335x, the patch [3] commit messages: " The reason why the issue happens is because we now attempt to read the interconnect target module revision register by first manually enabling all the device clocks in sysc_probe(). And looks like d_can also needs the osc clock in addition to the module clock, and it may or may not be enabled depending on the bootloader version and if other devices have already requested osc clock. Let's fix the issue by adding osc clock as an optional clock for the module for am335x. Note that am437x does not seem to list the osc clock at all, so presumably it is not needed for am437x. " from TRM of am335x/am437x [1][2], they have the same clock structure, so, we can just reuse [3] for am437x platform. Tested on custom am4372 board. [1]: https://www.ti.com/lit/pdf/spruh73 Chapter-23, Figure 23-1. DCAN Integration [2]: https://www.ti.com/lit/pdf/spruhl7 Chapter-25, Figure 25-1. DCAN Integration [3]: commit 516f1117d0fb ("ARM: dts: Configure osc clock for d_can on am335x") dillon min (1): Since am437x have the same clock structure with am335x [1][2], reuse the code from Tony Lindgren's patch [reference] to fix dcan probe failed on am437x platform. arch/arm/boot/dts/am437x-l4.dtsi | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) -- 2.7.4 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v4] Fix dcan driver probe failed on am437x platform 2020-07-14 6:35 [PATCH v4] ARM: dts: Configure osc clock for d_can on am437x dillon.minfei @ 2020-07-14 6:35 ` dillon.minfei 2020-07-14 6:45 ` Stephen Rothwell 0 siblings, 1 reply; 5+ messages in thread From: dillon.minfei @ 2020-07-14 6:35 UTC (permalink / raw) To: sfr, bcousson, tony, robh+dt Cc: linux-omap, devicetree, linux-kernel, dillon min From: dillon min <dillon.minfei@gmail.com> Got following d_can probe errors with kernel 5.8-rc1 on am437x [ 10.730822] CAN device driver interface Starting Wait for Network to be Configured... [ OK ] Reached target Network. [ 10.787363] c_can_platform 481cc000.can: probe failed [ 10.792484] c_can_platform: probe of 481cc000.can failed with error -2 [ 10.799457] c_can_platform 481d0000.can: probe failed [ 10.804617] c_can_platform: probe of 481d0000.can failed with error -2 actually, Tony has fixed this issue on am335x with the patch [3] Since am437x has the same clock structure with am335x [1][2], so reuse the code from Tony Lindgren's patch [3] to fix it. [1]: https://www.ti.com/lit/pdf/spruh73 Chapter-23, Figure 23-1. DCAN Integration [2]: https://www.ti.com/lit/pdf/spruhl7 Chapter-25, Figure 25-1. DCAN Integration [3]: commit 516f1117d0fb ("ARM: dts: Configure osc clock for d_can on am335x") Fixes: 1a5cd7c23cc5 ("bus: ti-sysc: Enable all clocks directly during init to read revision") Signed-off-by: dillon min <dillon.minfei@gmail.com> --- Hi Stephen, This changes correct commit messages based on your reviewing. make Fixes tags to oneline. make all commit message tags at the end of commit message make Fixes tags before Signed-off-by line. add probe failed log to commit message. arch/arm/boot/dts/am437x-l4.dtsi | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/arch/arm/boot/dts/am437x-l4.dtsi b/arch/arm/boot/dts/am437x-l4.dtsi index 0d0f9fe4a882..4129affde54e 100644 --- a/arch/arm/boot/dts/am437x-l4.dtsi +++ b/arch/arm/boot/dts/am437x-l4.dtsi @@ -1541,8 +1541,9 @@ reg = <0xcc020 0x4>; reg-names = "rev"; /* Domains (P, C): per_pwrdm, l4ls_clkdm */ - clocks = <&l4ls_clkctrl AM4_L4LS_D_CAN0_CLKCTRL 0>; - clock-names = "fck"; + clocks = <&l4ls_clkctrl AM4_L4LS_D_CAN0_CLKCTRL 0>, + <&dcan0_fck>; + clock-names = "fck", "osc"; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0xcc000 0x2000>; @@ -1550,6 +1551,8 @@ dcan0: can@0 { compatible = "ti,am4372-d_can", "ti,am3352-d_can"; reg = <0x0 0x2000>; + clocks = <&dcan0_fck>; + clock-names = "fck"; syscon-raminit = <&scm_conf 0x644 0>; interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; status = "disabled"; @@ -1561,8 +1564,9 @@ reg = <0xd0020 0x4>; reg-names = "rev"; /* Domains (P, C): per_pwrdm, l4ls_clkdm */ - clocks = <&l4ls_clkctrl AM4_L4LS_D_CAN1_CLKCTRL 0>; - clock-names = "fck"; + clocks = <&l4ls_clkctrl AM4_L4LS_D_CAN1_CLKCTRL 0>, + <&dcan1_fck>; + clock-names = "fck", "osc"; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0xd0000 0x2000>; @@ -1570,6 +1574,8 @@ dcan1: can@0 { compatible = "ti,am4372-d_can", "ti,am3352-d_can"; reg = <0x0 0x2000>; + clocks = <&dcan1_fck>; + clock-name = "fck"; syscon-raminit = <&scm_conf 0x644 1>; interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; status = "disabled"; -- 2.7.4 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v4] Fix dcan driver probe failed on am437x platform 2020-07-14 6:35 ` [PATCH v4] Fix dcan driver probe failed on am437x platform dillon.minfei @ 2020-07-14 6:45 ` Stephen Rothwell 2020-07-14 7:02 ` dillon min 0 siblings, 1 reply; 5+ messages in thread From: Stephen Rothwell @ 2020-07-14 6:45 UTC (permalink / raw) To: dillon.minfei Cc: bcousson, tony, robh+dt, linux-omap, devicetree, linux-kernel [-- Attachment #1: Type: text/plain, Size: 366 bytes --] Hi Dillon, > Hi Stephen, > > This changes correct commit messages based on your reviewing. > make Fixes tags to oneline. > make all commit message tags at the end of commit message > make Fixes tags before Signed-off-by line. > add probe failed log to commit message. Thanks for persisting. It looks good to me, now. -- Cheers, Stephen Rothwell [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v4] Fix dcan driver probe failed on am437x platform 2020-07-14 6:45 ` Stephen Rothwell @ 2020-07-14 7:02 ` dillon min 2020-07-14 15:13 ` Tony Lindgren 0 siblings, 1 reply; 5+ messages in thread From: dillon min @ 2020-07-14 7:02 UTC (permalink / raw) To: Stephen Rothwell Cc: Benoit Cousson, tony, Rob Herring, linux-omap, open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, Linux Kernel Mailing List Hi Stephen, Thanks for your patience, step by step help on my patch reviewing. Dillon, On Tue, Jul 14, 2020 at 2:45 PM Stephen Rothwell <sfr@canb.auug.org.au> wrote: > > Hi Dillon, > > > Hi Stephen, > > > > This changes correct commit messages based on your reviewing. > > make Fixes tags to oneline. > > make all commit message tags at the end of commit message > > make Fixes tags before Signed-off-by line. > > add probe failed log to commit message. > > Thanks for persisting. It looks good to me, now. > > -- > Cheers, > Stephen Rothwell ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v4] Fix dcan driver probe failed on am437x platform 2020-07-14 7:02 ` dillon min @ 2020-07-14 15:13 ` Tony Lindgren 0 siblings, 0 replies; 5+ messages in thread From: Tony Lindgren @ 2020-07-14 15:13 UTC (permalink / raw) To: dillon min Cc: Stephen Rothwell, Benoit Cousson, Rob Herring, linux-omap, open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, Linux Kernel Mailing List * dillon min <dillon.minfei@gmail.com> [200714 07:03]: > Hi Stephen, > > Thanks for your patience, step by step help on my patch reviewing. Thanks I'll update my fixes branch with v4 version. Tony ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-07-14 15:13 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-07-14 6:35 [PATCH v4] ARM: dts: Configure osc clock for d_can on am437x dillon.minfei 2020-07-14 6:35 ` [PATCH v4] Fix dcan driver probe failed on am437x platform dillon.minfei 2020-07-14 6:45 ` Stephen Rothwell 2020-07-14 7:02 ` dillon min 2020-07-14 15:13 ` Tony Lindgren
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).