All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefano Babic <sbabic@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/7] Add support for MX35 processor
Date: Wed, 19 Jan 2011 10:45:19 +0100	[thread overview]
Message-ID: <4D36B2AF.9000305@denx.de> (raw)
In-Reply-To: <20110119073555.08B4C2FC@gemini.denx.de>

On 01/19/2011 08:35 AM, Wolfgang Denk wrote:
> Dear Stefano Babic,
>> +	if (!reg) {
>> +		reg = __REG(ROMPATCH_REV);
> 
> __REG()?

It should not be..

> 
> NAK.  Please use I/O accessors.  Please fix globally.

I supposed to have already replaced all of them, but I have missed some
of them.

>> +void imx_get_mac_from_fuse(unsigned char *mac)
>> +{
>> +	int i;
>> +
>> +	for (i = 0; i < 6; i++)
>> +		mac[i] = 0;
> 
> 	memset(mac, 0, 6);
> 
> ?

I think your question mark is related to the fact that it is not so
clear why I set the mac address to all zero. At first glance, it makes
no sense.

However, the reason is that the i.MX35 does not have a MAC address
stored in its internal fuses as other i.MX processors
(i.MX27/i.MX25/i.MX51), but I want to expose the same interface for all
i.MX processors. In this way, I can avoid nasty #ifdef in code.
As I can see in u-boot code, the exception now in code is the i.MX31,
that was the first i.MX processor added to mainline. It has still a lot
of own functions (I mean, something like mx31_*, such as mx31_gpio.
mx31_iomux, and so on).

> What do these "!<" markers mean?

They have no useful meaning and I must drop them.

> 
>> +/*
>> + * This function is used to configure a pin through the IOMUX module.
>> + * FIXED ME: for backward compatible. Will be static function!
>> + * @param  pin		a pin number as defined in \b #iomux_pin_name_t
>> + * @param  cfg		an output function as defined in \b #iomux_pin_cfg_t
>> + *
>> + * @return		0 if successful; Non-zero otherwise
> 
> When does the "otherwise" happen?
> 
>> + */
>> +static int iomux_config_mux(iomux_pin_name_t pin, iomux_pin_cfg_t cfg)
>> +{
>> +	u32 mux_reg = PIN_TO_IOMUX_MUX(pin);
>> +
>> +	if (mux_reg != NON_MUX_I) {
>> +		mux_reg += IOMUXGPR;
>> +		__REG(mux_reg) = cfg;
>> +	}
>> +
>> +	return 0;
>> +}
> 
> Should we make this function return "void" ?

iomux_config_mux is already void for mx5 processors. Of course, it must
return void for MX35, too. And mxc_request_mux as well.
I will check all these functions to remove inconsistencies.

> 
>> +/* delay x useconds AND perserve advance timstamp value */
>> +/* GPTCNT is now supposed to tick 1 by 1 us. */
> 
> s/perserve/preserve/ ?
> 
> Incorrect multiline comment style.

Thanks, I will fix it.

> 
>> diff --git a/arch/arm/include/asm/arch-mx35/imx-regs.h b/arch/arm/include/asm/arch-mx35/imx-regs.h
>> new file mode 100644
>> index 0000000..f382960
>> --- /dev/null
>> +++ b/arch/arm/include/asm/arch-mx35/imx-regs.h
> ...
>> +#define __REG(x)     (*((volatile u32 *)(x)))
>> +#define __REG16(x)   (*((volatile u16 *)(x)))
>> +#define __REG8(x)    (*((volatile u8 *)(x)))
> 
> NAK!! Please use I/O accessors.  Please fix globally.

Of course - I will fix it.

> 
>> +/* CCM */
>> +#define CLKCTL_CCMR		0x00
>> +#define CLKCTL_PDR0		0x04
>> +#define CLKCTL_PDR1		0x08
>> +#define CLKCTL_PDR2		0x0C
>> +#define CLKCTL_PDR3		0x10
>> +#define CLKCTL_PDR4		0x14
>> +#define CLKCTL_RCSR		0x18
>> +#define CLKCTL_MPCTL		0x1C
>> +#define CLKCTL_PPCTL		0x20
>> +#define CLKCTL_ACMR		0x24
>> +#define CLKCTL_COSR		0x28
>> +#define CLKCTL_CGR0		0x2C
>> +#define CLKCTL_CGR1		0x30
>> +#define CLKCTL_CGR2		0x34
>> +#define CLKCTL_CGR3		0x38
> 
> NAK!! Please use C struct.  Please fix globally.

No, this not. I have already set a structure for the Clock Module, that
it is used in most part of code (ccm_regs). However, these offsets are
used in the assembly file (lowlevel_init.S), and I cannot use the
structure. It seems to me the only structure needed, and it seems to me
not necessary to add an asm-offsets.h only for it. For this reason. I
let it in imx-regs.h


> 
>> +extern unsigned int get_board_rev(void);
>> +extern int is_soc_rev(int rev);
>> +extern int sdhc_init(void);
>> +
>> +#define fixup_before_linux	\
>> +	{		\
>> +		volatile unsigned long *l2cc_ctl = (unsigned long *)0x30000100;\
> 
> 0x30000100 ? Don't we have a #define for it?

I have already removed the usage of this macro, I forget to drop its
define. Thanks, I will remove it.

> Please fix these license headers - all of these.  They say where you
> can _get_ License Version 2 or later, but they don't say which version
> actually applies.  Please make clear that License v2+ applies.

I will check this issue globally.

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================

  reply	other threads:[~2011-01-19  9:45 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-14 13:35 [U-Boot] [PATCH 1/7] Add support for MX35 processor Stefano Babic
2011-01-14 13:35 ` [U-Boot] [PATCH 2/7] serial_mxc: add support for Freescale's i.MX35 processor Stefano Babic
2011-01-19  7:19   ` Wolfgang Denk
2011-01-14 13:35 ` [U-Boot] [PATCH 3/7] mxc_i2c: Add support for the " Stefano Babic
2011-01-19  7:37   ` Wolfgang Denk
2011-01-19  9:46     ` Stefano Babic
2011-01-14 13:35 ` [U-Boot] [PATCH 4/7] mxc_nand: add support for " Stefano Babic
2011-01-14 18:33   ` Scott Wood
2011-01-14 13:35 ` [U-Boot] [PATCH 5/7] Add basic support for Freescale's mc9sdz60 Stefano Babic
2011-01-19  7:40   ` Wolfgang Denk
2011-01-14 13:35 ` [U-Boot] [PATCH 6/7] mxc_spi: add support for i.MX35 processor Stefano Babic
2011-01-19  7:48   ` Wolfgang Denk
2011-01-19 10:09     ` Stefano Babic
2011-01-19 11:40       ` Wolfgang Denk
2011-01-14 13:35 ` [U-Boot] [PATCH 7/7] Add support for Freescale's mx35pdk board Stefano Babic
2011-01-17 16:43   ` Jason Liu
2011-01-17 16:54     ` Stefano Babic
2011-01-17 17:29       ` Stefano Babic
2011-01-18  9:40       ` Wolfgang Denk
2011-01-18 10:18         ` Stefano Babic
2011-01-19  8:06   ` Wolfgang Denk
2011-01-19 10:01     ` Stefano Babic
2011-01-19  7:35 ` [U-Boot] [PATCH 1/7] Add support for MX35 processor Wolfgang Denk
2011-01-19  9:45   ` Stefano Babic [this message]
2011-01-19 11:37     ` Wolfgang Denk
2011-01-19 11:54       ` Stefano Babic
2011-01-21  9:36       ` Detlev Zundel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D36B2AF.9000305@denx.de \
    --to=sbabic@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.