Thread (21 messages) flat view 21 messages, 3 authors, 2016-08-16

[PATCH v3 3/7] clk: rockchip: rk3399: fix incorrect GATE bits for {c, g}pll_aclk_perihp_src

From: heiko@sntech.de (Heiko Stübner)
Date: 2016-08-12 16:30:34
Also in: linux-clk, linux-rockchip, lkml

Am Dienstag, 2. August 2016, 15:19:57 schrieb Xing Zheng:
Sorry to refer incorrect clock diagram, we double check it that the bits
configuration of the Xpll_aclk_perihp_src need to be fixed:
bit 1 - shows aclk_perihp_cpll_src_en
bit 0 - shows aclk_perihp_gpll_src_en

Through the testing that plug/unplug the USB ethernet cable on the RK3399
kevin board.

1. the hclk_host0 and hclk_host1 are endpoint clocks:
cpll --> G5[1] --> aclk_perihp_cpll_src --\              |--> hclk_host0

                                          | --> ... ---> |

gpll --> G5[0] --> aclk_perihp_gpll_src --/              |--> hclk_host1

2. there is no clock below the cpll_aclk_perihp_src,
   and the hclk_hostX are below the gpll_aclk_perihp_src:
    pll_cpll                              1            1   800000000        
 0 0 cpll                               7           19   800000000         
0 0 cpll_aclk_perihp_src            0            0   800000000          0 0
...
    pll_gpll                              1            1   594000000        
 0 0 gpll                              10           10   594000000         
0 0 gpll_aclk_perihp_src            2            2   594000000          0 0
hclk_perihp               5            5    74250000          0 0
hclk_host1_arb         2            2    74250000          0 0 hclk_host1  
          2            2    74250000          0 0 hclk_host0_arb         2 
          2    74250000          0 0 hclk_host0             2            2 
  74250000          0 0

3. by default, G5[0] and G5[1] are enabled:
localhost ~ # mem r 0xff760314
0x000003e0

4. close the G5[1] (aclk_perihp_cpll_src), and plug/unplug USB ethernet
cable, the DUT still works well:
localhost ~ # mem w 0xff760314 0xffff03e2
localhost ~ # mem r 0xff760314
0x000003e2
plug/unplug, the work statue is ok

5. close the G5[0] (aclk_perihp_gpll_src), , and plug/unplug USB ethernet
cable, the DUT will be crashed:
localhost ~ # mem w 0xff760314 0xffff03e1
localhost ~ # mem r 0xff760314
0x000003e1
plug/unplug, the DUT is crashed

Summary:
bit 1 - shows aclk_perihp_cpll_src_en
bit 0 - shows aclk_perihp_gpll_src_en

Fixes: 3bd14ae9da91 ("clk: rockchip: fix incorrect parent for rk3399's
{c,g}pll_aclk_perihp_src") Signed-off-by: Xing Zheng
[off-list ref]
applied to my clk-fixes branch for 4.8


Thanks
Heiko
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help