10.03.2020 18:19, Thierry Reding пишет: > From: Joseph Lo <josephl@xxxxxxxxxx> > > The EMC clock needs to carefully coordinate with the EMC controller > programming to make sure external memory can be properly clocked. Do so > by hooking up the EMC clock with an EMC provider that will specify which > rates are supported by the EMC and provide a callback to use for setting > the clock rate at the EMC. > > Based on work by Peter De Schrijver <pdeschrijver@xxxxxxxxxx>. > > Signed-off-by: Joseph Lo <josephl@xxxxxxxxxx> > Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> > --- > Changes in v5: > - major rework and cleanup ... > +u32 emc_readl(struct tegra_emc *emc, unsigned long offset) > +{ > + return readl_relaxed(emc->emc_base[REG_EMC] + offset); > +} static u32 emc_readl() > +u32 emc_readl_per_ch(struct tegra_emc *emc, int type, > + unsigned long offset) static u32 emc_readl_per_ch()