From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Roese Date: Mon, 7 Dec 2020 12:07:56 +0100 Subject: [PATCH 4/4] arm: mvebu: Espressobin: Detect presence of emmc at runtime In-Reply-To: <20201205124416.cwdpsiiscunikhln@pali> References: <20201125182010.23167-1-pali@kernel.org> <20201125182010.23167-5-pali@kernel.org> <6e634885-d69d-75f6-dd7f-cdcfb4cf8ebf@gmail.com> <20201203155654.dkukwc7srupn5ng6@pali> <14b1f524-70ce-0485-fb58-f39ac9977abf@denx.de> <20201205124416.cwdpsiiscunikhln@pali> Message-ID: <8a01bcad-316e-3067-33b0-5617bef50a55@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 05.12.20 13:44, Pali Roh?r wrote: > On Thursday 03 December 2020 17:30:44 Stefan Roese wrote: >> On 03.12.20 16:56, Pali Roh?r wrote: >>> On Wednesday 02 December 2020 15:35:08 Andre Heider wrote: >>>> On 25/11/2020 19:20, Pali Roh?r wrote: >>>>> Try to initialize emmc in board_late_init() and if it fails then we know >>>>> that emmc device is not connected. >>>>> >>>>> This allows to use in U-Boot just one DTS file for all Espressobin variants >>>>> and also to correctly set fdtfile env variable for Linux kernel. >>>>> >>>>> Signed-off-by: Pali Roh?r >>>>> Tested-by: G?rald Kerma >>>> >>>> Small nit below, with that: >>>> Reviewed-by: Andre Heider >>>> >>>>> --- >>>>> board/Marvell/mvebu_armada-37xx/board.c | 6 +++++- >>>>> 1 file changed, 5 insertions(+), 1 deletion(-) >>>>> >>>>> diff --git a/board/Marvell/mvebu_armada-37xx/board.c b/board/Marvell/mvebu_armada-37xx/board.c >>>>> index 73d69e0388..f67b04b78c 100644 >>>>> --- a/board/Marvell/mvebu_armada-37xx/board.c >>>>> +++ b/board/Marvell/mvebu_armada-37xx/board.c >>>>> @@ -8,6 +8,7 @@ >>>>> #include >>>>> #include >>>>> #include >>>>> +#include >>>>> #include >>>>> #include >>>>> #include >>>>> @@ -83,6 +84,7 @@ int board_init(void) >>>>> #ifdef CONFIG_BOARD_LATE_INIT >>>>> int board_late_init(void) >>>>> { >>>>> + struct mmc *mmc_dev; >>>>> bool ddr4, emmc; >>>>> if (env_get("fdtfile")) >>>>> @@ -95,7 +97,9 @@ int board_late_init(void) >>>>> ddr4 = ((readl(A3700_CH0_MC_CTRL2_REG) >> A3700_MC_CTRL2_SDRAM_TYPE_OFFS) >>>>> & A3700_MC_CTRL2_SDRAM_TYPE_MASK) == A3700_MC_CTRL2_SDRAM_TYPE_DDR4; >>>>> - emmc = of_machine_is_compatible("globalscale,espressobin-emmc"); >>>>> + /* eMMC is mmc dev num 1 */ >>>>> + mmc_dev = find_mmc_device(1); >>>>> + emmc = (mmc_dev && mmc_init(mmc_dev) == 0); >>>> >>>> I think you meant "mmc_dev && (mmc_init(mmc_dev) == 0);"? >>> >>> Hm... no... I usually do not put parenthesis around || and && operators. >>> >>> But both variants are same right? >> >> Yours still has parenthesis around the (a && b) part, which is not >> needed. But this is nitpicking AFAIAC. >> >>> If U-Boot coding style prefers second (your) variant, I do not have >>> a problem to change it. >> >> checkpatch should complain if something does not match the coding style. >> >>> Stefan, do you need to change this styling? >> >> No, not from my point of view. > > Ok! So based on Philipp and Andre replies, would you be sending these > patches to 2021.01 release? As for this release is scheduled usage of > "globalscale,espressobin-emmc" compatible string in U-Boot, these > patches are removing them and previous versions do not used them. Yes, I'm preparing a pull request just now. Thanks, Stefan