From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Sun, 17 Jun 2012 18:02:49 +0200 Subject: [U-Boot] [PATCH 2/3] mxs: generalize code for print_cpuinfo() In-Reply-To: <4FDDFC8D.3010201@denx.de> References: <1339937889-15538-1-git-send-email-otavio@ossystems.com.br> <1339937889-15538-3-git-send-email-otavio@ossystems.com.br> <4FDDFC8D.3010201@denx.de> Message-ID: <201206171802.49354.marex@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 Dear Stefano Babic, > On 17/06/2012 14:58, Otavio Salvador wrote: > > The information now is gathered from HW_DIGCTL_CHIPID register and > > includes the revision of the chip on the output. > > > > Signed-off-by: Otavio Salvador > > Cc: Marek Vasut > > Cc: Stefano Babic > > Cc: Fabio Estevam > > --- > > Hi Otavio, > > > arch/arm/cpu/arm926ejs/mx28/mx28.c | 29 +++++++++++++++++++++++++++-- > > 1 file changed, 27 insertions(+), 2 deletions(-) > > > > diff --git a/arch/arm/cpu/arm926ejs/mx28/mx28.c > > b/arch/arm/cpu/arm926ejs/mx28/mx28.c index a82ff25..ac2f2e0 100644 > > --- a/arch/arm/cpu/arm926ejs/mx28/mx28.c > > +++ b/arch/arm/cpu/arm926ejs/mx28/mx28.c > > @@ -190,13 +190,38 @@ int arch_cpu_init(void) > > > > #endif > > > > #if defined(CONFIG_DISPLAY_CPUINFO) > > > > +static const char *get_cpu_type(void) > > +{ > > + struct mx28_digctl_regs *digctl_regs = > > + (struct mx28_digctl_regs *)MXS_DIGCTL_BASE; > > + > > + switch (readl(&digctl_regs->hw_digctl_chipid) >> 16) { > > + case 0x2800: > > + return "28"; > > + case 0x3728: > > + return "23"; > > + default: > > + return ""; > > + } > > +} > > I like that there will be support for i.MX23, too. But I dislike that > everything takes the name "MX28". As you suggest in your subject, maybe > it is time to rename directories, and use "mxs" (as in kernel) instead > of mx28. We can do that eventually, later ... it depends on the ordering of Otavio's patches, I'm fine either way. > > + > > +static u8 get_cpu_rev(void) > > +{ > > + struct mx28_digctl_regs *digctl_regs = > > + (struct mx28_digctl_regs *)MXS_DIGCTL_BASE; > > + > > + return readl(&digctl_regs->hw_digctl_chipid) & 0x0000F; > > +} > > Everywhere (i.MX, omap, ...) get_cpu_rev returns u32. The function is > currently exported, too. Correct, but isn't the return value mangled somehow (like having major rev. << 16 and minor rev. << 0 )? Or that's only IMX? > > Best regards, > Stefano Babic Best regards, Marek Vasut