• Archit Taneja's avatar
    drm/msm/dsi: Add DSI PLL for 28nm 8960 PHY · c6538de8
    Archit Taneja authored
    Add DSI PLL common clock framework clocks for 8960 PHY.
    
    The PLL here is different from the ones found in B family msm chips. As
    before, the DSI provides two clocks to the outside world. dsixpll and
    dsixpllbyte (x = 1, 2). dsixpll is a regular clock divider, but
    dsixpllbyte is modelled as a custom clock divider.
    
    dsixpllbyte is the starting point of the PLL configuration. It is the
    one that sets up the VCO clock rate. We need the VCO clock rate in the
    form: F * byteclk, where F is a multiplication factor that varies on
    the byte clock the DSI driver is trying to set. We use the custom
    clk_ops for dsixpllbyte to ensure that the parent (VCO) is set at this
    rate.
    
    An additional divider (POSTDIV1) generates the bitclk. Since bit clock
    can be derived from byteclock, we calculate it internally, and don't
    expose it as a clock.
    
    Cc: Stephen Boyd <sboyd@codeaurora.org>
    Signed-off-by: default avatarArchit Taneja <architt@codeaurora.org>
    Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
    c6538de8
dsi_pll_28nm_8960.c 14 KB