Hi Jaehoon, On 27 June 2016 at 04:54, Jaehoon Chung <jh80.ch...@samsung.com> wrote: > Hi Simon, > > > On 06/13/2016 02:30 PM, Simon Glass wrote: >> These comments were missed when the original code was written. Add them to >> help people port their drivers over. >> >> Signed-off-by: Simon Glass <s...@chromium.org> >> --- >> >> include/dwmmc.h | 64 >> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 64 insertions(+) >> >> diff --git a/include/dwmmc.h b/include/dwmmc.h >> index 335af51..0199def 100644 >> --- a/include/dwmmc.h >> +++ b/include/dwmmc.h >> @@ -224,9 +224,73 @@ static inline u8 dwmci_readb(struct dwmci_host *host, >> int reg) >> return readb(host->ioaddr + reg); >> } >> >> +#ifdef CONFIG_BLK >> +/** >> + * dwmci_setup_cfg() - Set up the configuration for DWMMC >> + * >> + * This is used to set up a DWMMC device when you are using CONFIG_BLK. >> + * >> + * This should be called from your MMC driver's probe() method once you have >> + * the information required. >> + * >> + * Generally your driver will have a platform data structure which holds >> both >> + * the configuration (struct mmc_config) and the MMC device info (struct >> mmc). >> + * For example: >> + * >> + * struct rockchip_mmc_plat { >> + * struct mmc_config cfg; >> + * struct mmc mmc; >> + * }; >> + * >> + * ... >> + * >> + * Inside U_BOOT_DRIVER(): >> + * .platdata_auto_alloc_size = sizeof(struct rockchip_mmc_plat), >> + * >> + * To access platform data: >> + * struct rockchip_mmc_plat *plat = dev_get_platdata(dev); >> + * >> + * See rockchip_dw_mmc.c for an example. >> + * >> + * @cfg: Configuration structure to fill in (generally &plat->mmc) >> + * @name: Device name (normally dev->name) >> + * @buswidth: Bus width (in bits, such as 4 or 8) >> + * @caps: Host capabilities (MMC_MODE_...) >> + * @max_clk: Maximum supported clock speed in HZ (e.g. 400000) >> + * @min_clk: Minimum supported clock speed in HZ (e.g. 150000000) > > e,g is need to swap max_clk <-> min_clk? > >> + */ >> void dwmci_setup_cfg(struct mmc_config *cfg, const char *name, int buswidth, >> uint caps, u32 max_clk, u32 min_clk); >> + >> +/** >> + * dwmci_bind() - Set up a new MMC block device >> + * >> + * This is used to set up a DWMMC block device when you are using >> CONFIG_BLK. >> + * It should be called from your driver's bind() method. >> + * >> + * See rockchip_dw_mmc.c for an example. >> + * >> + * @dev: Device to set up >> + * @mmc: Pointer to mmc structure (normally &plat->mmc) >> + * @cfg: Empty configuration structure (generally &plat->cfg). This is >> + * normally all zeroes at this point. The only purpose of passing >> + * this in is to set mmc->cfg to it. >> + * @return 0 if OK, -ve if the block device could not be created >> + */ >> int dwmci_bind(struct udevice *dev, struct mmc *mmc, struct mmc_config >> *cfg); >> >> +#else >> +/** >> + * add_dwmci() - Add a new DWMMC interface >> + * >> + * This is used when you are not using CONFIG_BLK. Convert your driver over! >> + * >> + * @host: DWMMC host structure >> + * @max_clk: Maximum supported clock speed in HZ (e.g. 400000) >> + * @min_clk: Minimum supported clock speed in HZ (e.g. 150000000) >> + * @return 0 if OK, -ve on error >> + */ > > Ditto. > > I'm starting to covert to DM for dwmmc exynos... > After finishing convert for dwmmc_exynos, I will check in more detail on > dwmmc core side.
OK I see your patches so I'll apply this as is. Your patches are assigned to Minkyu, so I'll leave them to him. > > Sorry for checking too late. > > Best Regards, > Jaehoon Chung > >> int add_dwmci(struct dwmci_host *host, u32 max_clk, u32 min_clk); >> +#endif /* !CONFIG_BLK */ >> + >> #endif /* __DWMMC_HW_H */ >> > Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot