From mboxrd@z Thu Jan 1 00:00:00 1970 From: Przemyslaw Marczak Date: Thu, 19 Feb 2015 15:36:57 +0100 Subject: [U-Boot] [PATCH 3/4] mmc: exynos dwmmc: check boot mode before init dwmmc In-Reply-To: <20150219140330.GI25879@bill-the-cat> References: <1424178544-28632-1-git-send-email-p.marczak@samsung.com> <1424178544-28632-4-git-send-email-p.marczak@samsung.com> <54E46E81.6030303@samsung.com> <20150219140330.GI25879@bill-the-cat> Message-ID: <54E5F509.1010301@samsung.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello Tom, On 02/19/2015 03:03 PM, Tom Rini wrote: > On Wed, Feb 18, 2015 at 11:50:41AM +0100, Przemyslaw Marczak wrote: >> Hello Simon, >> >> On 02/18/2015 06:02 AM, Simon Glass wrote: >>> Hi Przemyslaw, >>> >>> On 17 February 2015 at 06:09, Przemyslaw Marczak wrote: >>>> Before this commit, the mmc devices were always registered >>>> in the same order. So dwmmc channel 0 was registered as mmc 0, >>>> channel 1 as mmc 1, etc. >>>> In case of possibility to boot from more then one device, >>>> the CONFIG_SYS_MMC_ENV_DEV should always point to right mmc device. >>>> >>>> This can be achieved by init boot device as first, so it will be >>>> always registered as mmc 0. Thanks to this, the 'saveenv' command >>>> will work fine for all mmc boot devices. >>>> >>>> Exynos based boards usually uses mmc host channels configuration: >>>> - 0, or 0+1 for 8 bit - as a default boot device (usually eMMC) >>>> - 2 for 4bit - as an optional boot device (usually SD card slot) >>>> >>>> And usually the boot order is defined by OM pin configuration, >>>> which can be changed in a few ways, eg. >>>> - Odroid U3 - eMMC card insertion -> first boot from eMMC >>>> - Odroid X2/XU3 - boot priority jumper >>>> >>>> By this commit, Exynos dwmmc driver will check the OM pin configuration, >>>> and then try to init the boot device and register it as mmc 0. >>> >>> I think a better way to do this would be to make >>> CONFIG_SYS_MMC_ENV_DEV support an option where the device can be >>> selected at run-time. >>> >>> However that would probably be better done when the drive rmodel >>> conversion is complete. >>> >>> So this seems a reasonable patch given where we are. >>> >>> Reviewed-by: Simon Glass >>> >> >> This was just a quick solution to solve the issue on XU3, when the >> same binary can boot from sd or eMMC slots. > > XU3 isn't unique in this regard. "am335x_evm" binaries runs on 4 very > different boards and we still just have to say that sometimes we default > to ENV in a place that isn't workable. > > Yes, I saw this issue on bb black. But it seems to be not a big problem to fix it. When I finish the pmic and finally start work on adding it to the bb black, then maybe I will try to fix it somehow. Regards, -- Przemyslaw Marczak Samsung R&D Institute Poland Samsung Electronics p.marczak at samsung.com