From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dinh Nguyen Date: Tue, 1 Dec 2015 17:33:02 -0600 Subject: [U-Boot] [PATCH] arm: socfpga: fix up a questionable macro for SDMMC In-Reply-To: <201512020030.32516.marex@denx.de> References: <1449012047-7763-1-git-send-email-dinguyen@opensource.altera.com> <201512020030.32516.marex@denx.de> Message-ID: <565E2E2E.6050407@opensource.altera.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 12/01/2015 05:30 PM, Marek Vasut wrote: > On Wednesday, December 02, 2015 at 12:20:47 AM, dinguyen at opensource.altera.com > wrote: >> From: Dinh Nguyen >> >> Not sure what made this macro questionable, but edit the macro to be >> similar to what is used in Linux. > > It should most likely be dissolved and moved into socfpga_dw_mmc.c , since > it's used only once in there. What do you think ? > Hmm...if you move this to socfpga_dw_mmc.c then the #if defined(A10) would have to follow as the bit for smplsel is at shift 4 instead of 3. So if you had this for in system_manager.h, then socfpga_dw_mmc.c doesn't have to change. --- a/arch/arm/mach-socfpga/include/mach/system_manager.h +++ b/arch/arm/mach-socfpga/include/mach/system_manager.h @@ -201,8 +201,13 @@ struct socfpga_system_manager { #define SYSMGR_FPGAINTF_NAND (1 << 4) #define SYSMGR_FPGAINTF_SDMMC (1 << 5) +#if defined(SOCFPGA_GEN5) #define SYSMGR_SDMMC_CTRL_SET(smplsel, drvsel) \ ((((smplsel) & 0x7) << 3) | (((drvsel) & 0x7) << 0)) +#else /* Arria10 */ +#define SYSMGR_SDMMC_CTRL_SET(smplsel, drvsel) \ + ((((smplsel) & 0x7) << 4) | (((drvsel) & 0x7) << 0)) +#endif --- Dinh