[U-Boot] [PATCH V2 12/12] imx: mx7dsabresd: add board revision check
Peng Fan
peng.fan at nxp.com
Thu May 11 12:52:56 UTC 2017
Hi Stefano,
> -----Original Message-----
> From: Stefano Babic [mailto:sbabic at denx.de]
> Sent: Thursday, May 11, 2017 7:33 PM
> To: Peng Fan <peng.fan at nxp.com>; Fabio Estevam <festevam at gmail.com>
> Cc: Stefano Babic <sbabic at denx.de>; U-Boot-Denx <u-boot at lists.denx.de>
> Subject: Re: [U-Boot] [PATCH V2 12/12] imx: mx7dsabresd: add board revision
> check
>
> Hi Peng,
>
> On 18/04/2017 02:54, Peng Fan wrote:
> > Hi Fabio,
> >
> >> -----Original Message-----
> >> From: Fabio Estevam [mailto:festevam at gmail.com]
> >> Sent: Monday, April 17, 2017 11:00 PM
> >> To: Peng Fan <peng.fan at nxp.com>
> >> Cc: Stefano Babic <sbabic at denx.de>; U-Boot-Denx
> >> <u-boot at lists.denx.de>
> >> Subject: Re: [U-Boot] [PATCH V2 12/12] imx: mx7dsabresd: add board
> >> revision check
> >>
> >> On Thu, Apr 13, 2017 at 3:10 AM, Peng Fan <peng.fan at nxp.com> wrote:
> >>
> >>> +#define BOARD_REV_C 0x300
> >>> +#define BOARD_REV_B 0x200
> >>> +#define BOARD_REV_A 0x100
> >>> +
> >>> +static int mx7sabre_rev(void)
> >>> +{
> >>> + /*
> >>> + * Get Board ID information from OCOTP_GP1[15:8]
> >>> + * i.MX7D SDB RevA: 0x41
> >>> + * i.MX7D SDB RevB: 0x42
> >>
> >> Isn't this versioning scheme shared with other NXP boards? If so, it
> >> would be better to put this in common code.
> >
> > I prefer to keep the code here. There are board revision fuse for the
> > boards from NXP, but this is not always true, I think.
>
> Anyway, there is "quite" same code for mx6 sabre:
>
> static int mx6sabre_rev(void)
> {
> /*
> * Get Board ID information from OCOTP_GP1[15:8]
> * i.MX6Q ARD RevA: 0x01
> * i.MX6Q ARD RevB: 0x02
> */
> struct ocotp_regs *ocotp = (struct ocotp_regs *)OCOTP_BASE_ADDR;
> struct fuse_bank *bank = &ocotp->bank[4];
> struct fuse_bank4_regs *fuse =
> (struct fuse_bank4_regs *)bank->fuse_regs;
> int reg = readl(&fuse->gp1);
> int ret;
>
> switch (reg >> 8 & 0x0F) {
> case 0x02:
> ret = BOARD_REV_B;
> break;
> case 0x01:
> default:
>
> And the version number is simple an integer and we do not need to add
> defines - if we simply returns the read value (1,2,3,..), the code works even
> with future versions. Are you sure that this is not at least "sabre common code
> " ?
Could I use a follow up patch to move the revision check to a common place?
I would not send a whole V3 patch set if no more comments.
Thanks,
Peng.
>
> Regards,
> Stefano
>
> --
> ============================================================
> =========
> DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
> ============================================================
> =========
More information about the U-Boot
mailing list