Sudhakar Rajashekhara <sudhakar....@ti.com> writes: > On DA850/OMAP-L138 EVM, MMC/SD and NOR Flash share > some of the AEMIF pins. This patch prints out a warning > during booting, if both MMC/SD and NOR Flash are enabled > in kernel menuconfig. > > If both MMC/SD and NOR Flash are enabled, only MMC/SD > will work correctly. > > Signed-off-by: Sudhakar Rajashekhara <sudhakar....@ti.com> > --- > This patch is dependent on the following patches which > I have submitted earlier: > [PATCH] davinci: Macro to convert GPIO signal to GPIO pin number > [PATCH v3] davinci: Add platform support for da850/omap-l138 GLCD > [PATCH v3] davinci: Add MMC/SD support for da850/omap-l138 > [PATCH v3] davinci: Add NAND flash support for DA850/OMAP-L138 > [PATCH v3] davinci: Add NOR flash support for da850/omap-l138
FYI for future reference. When you have lots of patch dependencies like this, it is simpler to send them as a series. If you use git-format-patch for a range of commits, it will automatically do the 'PATCH x/y' formatting etc. > arch/arm/mach-davinci/board-da850-evm.c | 63 ++++++++++++++++++++---------- > 1 files changed, 42 insertions(+), 21 deletions(-) > > diff --git a/arch/arm/mach-davinci/board-da850-evm.c > b/arch/arm/mach-davinci/board-da850-evm.c > index 70a2f48..f2946a0 100644 > --- a/arch/arm/mach-davinci/board-da850-evm.c > +++ b/arch/arm/mach-davinci/board-da850-evm.c > @@ -244,6 +244,20 @@ static void __init da850_evm_init_nor(void) > iounmap(aemif_addr); > } > > +#if defined(CONFIG_MTD_PHYSMAP) || \ > + defined(CONFIG_MTD_PHYSMAP_MODULE) > +#define HAS_NOR 1 > +#else > +#define HAS_NOR 0 > +#endif > + > +#if defined(CONFIG_MMC_DAVINCI) || \ > + defined(CONFIG_MMC_DAVINCI_MODULE) > +#define HAS_MMC 1 > +#else > +#define HAS_MMC 0 > +#endif > + > static __init void da850_evm_init(void) > { > struct davinci_soc_info *soc_info = &davinci_soc_info; > @@ -298,27 +312,34 @@ static __init void da850_evm_init(void) > pr_warning("da830_evm_init: watchdog registration failed: %d\n", > ret); > > - ret = da8xx_pinmux_setup(da850_mmcsd0_pins); > - if (ret) > - pr_warning("da850_evm_init: mmcsd0 mux setup failed: %d\n", > - ret); > - > - ret = gpio_request(DA850_MMCSD_CD_PIN, "MMC CD\n"); > - if (ret) > - pr_warning("da850_evm_init: can not open GPIO %d\n", > - DA850_MMCSD_CD_PIN); > - gpio_direction_input(DA850_MMCSD_CD_PIN); > - > - ret = gpio_request(DA850_MMCSD_WP_PIN, "MMC WP\n"); > - if (ret) > - pr_warning("da850_evm_init: can not open GPIO %d\n", > - DA850_MMCSD_WP_PIN); > - gpio_direction_input(DA850_MMCSD_WP_PIN); > - > - ret = da8xx_register_mmcsd0(&da850_mmc_config); > - if (ret) > - pr_warning("da850_evm_init: mmcsd0 registration failed: %d\n", > - ret); > + if (HAS_MMC) { > + if (HAS_NOR) > + pr_warning("WARNING: both NOR Flash and MMC/SD are " > + "enabled, but they share AEMIF pins.\n" > + "\tDisable one of them.\n"); > + Hmm, this isn't quite right. MMC will never be configured unless NOR is enabled also. I think you want the WARNING inside the double-if, but the mux/gpio/init stuff to always happen. Based on init order, you should be able to report which one will not work. Kevin > + ret = da8xx_pinmux_setup(da850_mmcsd0_pins); > + if (ret) > + pr_warning("da850_evm_init: mmcsd0 mux setup failed:" > + " %d\n", ret); > + > + ret = gpio_request(DA850_MMCSD_CD_PIN, "MMC CD\n"); > + if (ret) > + pr_warning("da850_evm_init: can not open GPIO %d\n", > + DA850_MMCSD_CD_PIN); > + gpio_direction_input(DA850_MMCSD_CD_PIN); > + > + ret = gpio_request(DA850_MMCSD_WP_PIN, "MMC WP\n"); > + if (ret) > + pr_warning("da850_evm_init: can not open GPIO %d\n", > + DA850_MMCSD_WP_PIN); > + gpio_direction_input(DA850_MMCSD_WP_PIN); > + > + ret = da8xx_register_mmcsd0(&da850_mmc_config); > + if (ret) > + pr_warning("da850_evm_init: mmcsd0 registration failed:" > + " %d\n", ret); > + } > > davinci_serial_init(&da850_evm_uart_config); > > -- > 1.5.6 > > _______________________________________________ > Davinci-linux-open-source mailing list > Davinci-linux-open-source@linux.davincidsp.com > http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source _______________________________________________ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source