[U-Boot] [PATCH 5/6] Enable the dm9000 on ColdFire 5253DEMO board.
Wolfgang Denk
wd at denx.de
Tue Apr 12 12:17:42 CEST 2011
Dear Jason Jin,
In message <1302597610-15646-6-git-send-email-Jason.jin at freescale.com> you wrote:
> commit a45dde2293c816138e53c26eca6fd0322583f9a6 changed the dm9000
> direct register access to standard IO. This should work
> on the ColdFire platform as there are corresponding macros for
> the LE devices. But the hardware settings on M5253DEMO board had
> swapped the byte order which make the original macros such as out_le16
> cannot work. To avoid changing the common io access code on ColdFire
> platform, the DM9000_BYTE_SWAPPED define added to make the dm9000 use
> __raw* IO access on ColdFire M5253DEMO board.
...
> +#ifndef DM9000_BYTE_SWAPPED
> #define DM9000_outb(d,r) writeb(d, (volatile u8 *)(r))
> #define DM9000_outw(d,r) writew(d, (volatile u16 *)(r))
> #define DM9000_outl(d,r) writel(d, (volatile u32 *)(r))
> #define DM9000_inb(r) readb((volatile u8 *)(r))
> #define DM9000_inw(r) readw((volatile u16 *)(r))
> #define DM9000_inl(r) readl((volatile u32 *)(r))
> +#else
> +#define DM9000_outb(d,r) __raw_writeb(d, (volatile u8 *)(r))
> +#define DM9000_outw(d,r) __raw_writew(d, (volatile u16 *)(r))
> +#define DM9000_outl(d,r) __raw_writel(d, (volatile u32 *)(r))
> +#define DM9000_inb(r) __raw_readb((volatile u8 *)(r))
> +#define DM9000_inw(r) __raw_readw((volatile u16 *)(r))
> +#define DM9000_inl(r) __raw_readl((volatile u32 *)(r))
> +#endif
All these "volatile something *" casts are not needed and should be
removed.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
When a program is being tested, it is too late to make design
changes. -- Geoffrey James, "The Tao of Programming"
More information about the U-Boot
mailing list