Message ID | 1442199877-1280-1-git-send-email-yangbo.lu@freescale.com |
---|---|
State | Superseded, archived |
Delegated to: | York Sun |
Headers | show |
Yangbo, On 09/13/2015 08:04 PM, Yangbo Lu wrote: > If adapter card type identification is supported for platform, we would > enable dat[4:7] for eMMC4.5 card. > > Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com> > Cc: York Sun <yorksun@freescale.com> > --- > board/freescale/common/qixis.h | 2 ++ > drivers/mmc/fsl_esdhc.c | 3 +++ > 2 files changed, 5 insertions(+) > > diff --git a/board/freescale/common/qixis.h b/board/freescale/common/qixis.h > index 51ce9c3..450cd0d 100644 > --- a/board/freescale/common/qixis.h > +++ b/board/freescale/common/qixis.h > @@ -127,6 +127,8 @@ void qixis_write_i2c(unsigned int reg, u8 value); > #define QIXIS_ESDHC_NO_ADAPTER 0x7 /* No Card is Present*/ > #define QIXIS_SDCLKIN 0x08 > #define QIXIS_SDCLKOUT 0x02 > +#define QIXIS_DAT5_6_7 0X02 > +#define QIXIS_DAT4 0X01 > #endif > > #endif > diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c > index 0b37002..639ec02 100644 > --- a/drivers/mmc/fsl_esdhc.c > +++ b/drivers/mmc/fsl_esdhc.c > @@ -747,6 +747,9 @@ void mmc_adapter_card_type_ident(void) > > switch (card_id) { > case QIXIS_ESDHC_ADAPTER_TYPE_EMMC45: > + value = QIXIS_READ(brdcfg[5]); > + value |= (QIXIS_DAT4 | QIXIS_DAT5_6_7); > + QIXIS_WRITE(brdcfg[5], value); > break; > case QIXIS_ESDHC_ADAPTER_TYPE_SDMMC_LEGACY: > break; > Does any other board have this identification feature? I see the code only use qixis. How are RDB and customer boards handled? York
Hi York, Please see my comments below. > -----Original Message----- > From: Sun York-R58495 > Sent: Monday, September 14, 2015 11:57 PM > To: Lu Yangbo-B47093; u-boot@lists.denx.de > Subject: Re: [PATCH 1/3] mmc: fsl_esdhc: enable dat[4:7] for eMMC4.5 > > Yangbo, > > On 09/13/2015 08:04 PM, Yangbo Lu wrote: > > If adapter card type identification is supported for platform, we > > would enable dat[4:7] for eMMC4.5 card. > > > > Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com> > > Cc: York Sun <yorksun@freescale.com> > > --- > > board/freescale/common/qixis.h | 2 ++ > > drivers/mmc/fsl_esdhc.c | 3 +++ > > 2 files changed, 5 insertions(+) > > > > diff --git a/board/freescale/common/qixis.h > > b/board/freescale/common/qixis.h index 51ce9c3..450cd0d 100644 > > --- a/board/freescale/common/qixis.h > > +++ b/board/freescale/common/qixis.h > > @@ -127,6 +127,8 @@ void qixis_write_i2c(unsigned int reg, u8 value); > > #define QIXIS_ESDHC_NO_ADAPTER 0x7 /* No Card is > Present*/ > > #define QIXIS_SDCLKIN 0x08 > > #define QIXIS_SDCLKOUT 0x02 > > +#define QIXIS_DAT5_6_7 0X02 > > +#define QIXIS_DAT4 0X01 > > #endif > > > > #endif > > diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c index > > 0b37002..639ec02 100644 > > --- a/drivers/mmc/fsl_esdhc.c > > +++ b/drivers/mmc/fsl_esdhc.c > > @@ -747,6 +747,9 @@ void mmc_adapter_card_type_ident(void) > > > > switch (card_id) { > > case QIXIS_ESDHC_ADAPTER_TYPE_EMMC45: > > + value = QIXIS_READ(brdcfg[5]); > > + value |= (QIXIS_DAT4 | QIXIS_DAT5_6_7); > > + QIXIS_WRITE(brdcfg[5], value); > > break; > > case QIXIS_ESDHC_ADAPTER_TYPE_SDMMC_LEGACY: > > break; > > > > Does any other board have this identification feature? I see the code > only use qixis. How are RDB and customer boards handled? > > York [Lu Yangbo-B47093] This feature is used for QDS boards that use SDHC Adapter card. Now only T1040QDS and T2080QDS are enabled, because we want to support SD/MMC UHS-I speed mode on these two boards in kernel and these QIXIS configuration are needed for *the Adapter*. For RDB and customer boards, they don't use Adapter card and the default configuration is ok for SD/MMC Default speed mode and High speed mode.
On 09/14/2015 07:22 PM, Lu Yangbo-B47093 wrote: > Hi York, > > Please see my comments below. > >> -----Original Message----- >> From: Sun York-R58495 >> Sent: Monday, September 14, 2015 11:57 PM >> To: Lu Yangbo-B47093; u-boot@lists.denx.de >> Subject: Re: [PATCH 1/3] mmc: fsl_esdhc: enable dat[4:7] for eMMC4.5 >> >> Yangbo, >> >> On 09/13/2015 08:04 PM, Yangbo Lu wrote: >>> If adapter card type identification is supported for platform, we >>> would enable dat[4:7] for eMMC4.5 card. >>> >>> Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com> >>> Cc: York Sun <yorksun@freescale.com> >>> --- >>> board/freescale/common/qixis.h | 2 ++ >>> drivers/mmc/fsl_esdhc.c | 3 +++ >>> 2 files changed, 5 insertions(+) >>> >>> diff --git a/board/freescale/common/qixis.h >>> b/board/freescale/common/qixis.h index 51ce9c3..450cd0d 100644 >>> --- a/board/freescale/common/qixis.h >>> +++ b/board/freescale/common/qixis.h >>> @@ -127,6 +127,8 @@ void qixis_write_i2c(unsigned int reg, u8 value); >>> #define QIXIS_ESDHC_NO_ADAPTER 0x7 /* No Card is >> Present*/ >>> #define QIXIS_SDCLKIN 0x08 >>> #define QIXIS_SDCLKOUT 0x02 >>> +#define QIXIS_DAT5_6_7 0X02 >>> +#define QIXIS_DAT4 0X01 >>> #endif >>> >>> #endif >>> diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c index >>> 0b37002..639ec02 100644 >>> --- a/drivers/mmc/fsl_esdhc.c >>> +++ b/drivers/mmc/fsl_esdhc.c >>> @@ -747,6 +747,9 @@ void mmc_adapter_card_type_ident(void) >>> >>> switch (card_id) { >>> case QIXIS_ESDHC_ADAPTER_TYPE_EMMC45: >>> + value = QIXIS_READ(brdcfg[5]); >>> + value |= (QIXIS_DAT4 | QIXIS_DAT5_6_7); >>> + QIXIS_WRITE(brdcfg[5], value); >>> break; >>> case QIXIS_ESDHC_ADAPTER_TYPE_SDMMC_LEGACY: >>> break; >>> >> >> Does any other board have this identification feature? I see the code >> only use qixis. How are RDB and customer boards handled? >> >> York > [Lu Yangbo-B47093] This feature is used for QDS boards that use SDHC Adapter card. Now only T1040QDS and T2080QDS are enabled, because we want to support SD/MMC UHS-I speed mode on these two boards in kernel and these QIXIS configuration are needed for *the Adapter*. For RDB and customer boards, they don't use Adapter card and the default configuration is ok for SD/MMC Default speed mode and High speed mode. > I am actually more concerned how a customer board can take advantage of this. York
> On 09/14/2015 07:22 PM, Lu Yangbo-B47093 wrote: > > Hi York, > > > > Please see my comments below. > > > >> -----Original Message----- > >> From: Sun York-R58495 > >> Sent: Monday, September 14, 2015 11:57 PM > >> To: Lu Yangbo-B47093; u-boot@lists.denx.de > >> Subject: Re: [PATCH 1/3] mmc: fsl_esdhc: enable dat[4:7] for eMMC4.5 > >> > >> Yangbo, > >> > >> On 09/13/2015 08:04 PM, Yangbo Lu wrote: > >>> If adapter card type identification is supported for platform, we > >>> would enable dat[4:7] for eMMC4.5 card. > >>> > >>> Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com> > >>> Cc: York Sun <yorksun@freescale.com> > >>> --- > >>> board/freescale/common/qixis.h | 2 ++ > >>> drivers/mmc/fsl_esdhc.c | 3 +++ > >>> 2 files changed, 5 insertions(+) > >>> > >>> diff --git a/board/freescale/common/qixis.h > >>> b/board/freescale/common/qixis.h index 51ce9c3..450cd0d 100644 > >>> --- a/board/freescale/common/qixis.h > >>> +++ b/board/freescale/common/qixis.h > >>> @@ -127,6 +127,8 @@ void qixis_write_i2c(unsigned int reg, u8 value); > >>> #define QIXIS_ESDHC_NO_ADAPTER 0x7 /* No Card is > >> Present*/ > >>> #define QIXIS_SDCLKIN 0x08 > >>> #define QIXIS_SDCLKOUT 0x02 > >>> +#define QIXIS_DAT5_6_7 0X02 > >>> +#define QIXIS_DAT4 0X01 > >>> #endif > >>> > >>> #endif > >>> diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c index > >>> 0b37002..639ec02 100644 > >>> --- a/drivers/mmc/fsl_esdhc.c > >>> +++ b/drivers/mmc/fsl_esdhc.c > >>> @@ -747,6 +747,9 @@ void mmc_adapter_card_type_ident(void) > >>> > >>> switch (card_id) { > >>> case QIXIS_ESDHC_ADAPTER_TYPE_EMMC45: > >>> + value = QIXIS_READ(brdcfg[5]); > >>> + value |= (QIXIS_DAT4 | QIXIS_DAT5_6_7); > >>> + QIXIS_WRITE(brdcfg[5], value); > >>> break; > >>> case QIXIS_ESDHC_ADAPTER_TYPE_SDMMC_LEGACY: > >>> break; > >>> > >> > >> Does any other board have this identification feature? I see the code > >> only use qixis. How are RDB and customer boards handled? > >> > >> York > > [Lu Yangbo-B47093] This feature is used for QDS boards that use SDHC > Adapter card. Now only T1040QDS and T2080QDS are enabled, because we want > to support SD/MMC UHS-I speed mode on these two boards in kernel and > these QIXIS configuration are needed for *the Adapter*. For RDB and > customer boards, they don't use Adapter card and the default > configuration is ok for SD/MMC Default speed mode and High speed mode. > > > > I am actually more concerned how a customer board can take advantage of > this. > > York [Lu Yangbo-B47093] This feature is used to resolve pin multiplexing and Adapter card configuration on QDS board. RDB and custom boards don't support Adapter card, and the FPGA/CPLD is easier(don't have these register and settings), having no need to change. So they couldn't take advantage of this... Thanks. -Yangbo Lu
diff --git a/board/freescale/common/qixis.h b/board/freescale/common/qixis.h index 51ce9c3..450cd0d 100644 --- a/board/freescale/common/qixis.h +++ b/board/freescale/common/qixis.h @@ -127,6 +127,8 @@ void qixis_write_i2c(unsigned int reg, u8 value); #define QIXIS_ESDHC_NO_ADAPTER 0x7 /* No Card is Present*/ #define QIXIS_SDCLKIN 0x08 #define QIXIS_SDCLKOUT 0x02 +#define QIXIS_DAT5_6_7 0X02 +#define QIXIS_DAT4 0X01 #endif #endif diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c index 0b37002..639ec02 100644 --- a/drivers/mmc/fsl_esdhc.c +++ b/drivers/mmc/fsl_esdhc.c @@ -747,6 +747,9 @@ void mmc_adapter_card_type_ident(void) switch (card_id) { case QIXIS_ESDHC_ADAPTER_TYPE_EMMC45: + value = QIXIS_READ(brdcfg[5]); + value |= (QIXIS_DAT4 | QIXIS_DAT5_6_7); + QIXIS_WRITE(brdcfg[5], value); break; case QIXIS_ESDHC_ADAPTER_TYPE_SDMMC_LEGACY: break;
If adapter card type identification is supported for platform, we would enable dat[4:7] for eMMC4.5 card. Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com> Cc: York Sun <yorksun@freescale.com> --- board/freescale/common/qixis.h | 2 ++ drivers/mmc/fsl_esdhc.c | 3 +++ 2 files changed, 5 insertions(+)