• Yong Wu's avatar
    memory: mtk-smi: Add gals support · 64fea74a
    Yong Wu authored
    In some SoCs like mt8183, SMI add GALS(Global Async Local Sync) module
    which can help synchronize for the modules in different clock frequency.
    It can be seen as a "asynchronous fifo". This is a example diagram:
    
                M4U
                 |
             ----------
             |        |
         gals0-rx   gals1-rx
             |        |
             |        |
         gals0-tx   gals1-tx
             |        |
            ------------
             SMI Common
            ------------
                 |
      +-----+--------+-----+- ...
      |     |        |     |
      |  gals-rx  gals-rx  |
      |     |        |     |
      |     |        |     |
      |  gals-tx  gals-tx  |
      |     |        |     |
    larb1 larb2   larb3  larb4
    
    GALS only help transfer the command/data while it doesn't have the
    configuring register, thus it has the special "smi" clock and doesn't
    have the "apb" clock. From the diagram above, we add "gals0" and
    "gals1" clocks for smi-common and add a "gals" clock for smi-larb.
    
    This patch adds gals clock supporting in the SMI. Note that some larbs
    may still don't have the "gals" clock like larb1 and larb4 above.
    
    This is also a preparing patch for mt8183 which has GALS.
    
    CC: Matthias Brugger <matthias.bgg@gmail.com>
    Signed-off-by: default avatarYong Wu <yong.wu@mediatek.com>
    Reviewed-by: default avatarEvan Green <evgreen@chromium.org>
    Reviewed-by: default avatarMatthias Brugger <matthias.bgg@gmail.com>
    Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
    64fea74a
mtk-smi.c 12.2 KB