[U-Boot] [PATCH 1/6] h2200: Add support for iPAQ h2200

Marek Vasut
2012-09-22T18:21:55Z

Dear ?ukasz Da?ek,

> On 22.09.2012 20:00, Marek Vasut wrote:
> > Dear ?ukasz Da?ek,
> >
> >> On 22.09.2012 19:04, Marek Vasut wrote:
> >>> Dear ?ukasz Da?ek,
> >>>
> >>>> On 19.09.2012 23:02, Marek Vasut wrote:
> >>>>>> and at the offset
> >>>>>> + * 0x40 ascii characters 'ECEC', secondly 1st stage
> >>>>>> + * loads code from flash into SDRAM at address 0xa0040000
> >>>>>> + * so all instructions which reinitializes memory
> >>>>>> + * controller have to be disabled.
> >>>>>> + */
> >>>>>> +
> >>>>>> +static inline void writelrb(uint32_t val, uint32_t addr)
> >>>>>
> >>>>> Replace this with clrsetbits_le32()
> >>>>
> >>>> I've copied writelrb and pxa2xx_dram_init from pxa2xx.c
> >>>> and I think there is a reason why it's done that way and not by
> >>>> clrsetbits_le32. But if you insist I can replace all calls to writelrb
> >>>> by clrsetbits.
> >>>
> >>> And can you elaborate on the reason please?
> >>>
> >>> (hint: clrsetbits() wasn't there by the time)
> >>
> >> I don't know what was the reason. I didn't change becuse I didn't
> >> want to break it.
> >
> > If you have time, replace it with clrsetbits() please ... in the original
> > file.
>
> In arch/arm/cpu/pxa/pxa2xx.c?

Yes, and you don't need the copy of it now.

> >>>>>> +{
> >>>>>> + writel(val, addr);
> >>>>>> + asm volatile("" : : : "memory");
> >>>>>> + readl(addr);
> >>>>>> + asm volatile("" : : : "memory");
> >>>>>> +}
> >>>>>> +
> >>>>>> +static void h2200_pxa2xx_dram_init(void)
> >>>>>
> >>>>> Why do you duplicate it ?!
> >>>>>
> >>>>> [...]
> >>>>
> >>>> Because code in pxa2xx.c disable and then re-enable memory.
> >>>> And u-boot is executed from memory (1st stage bootloder
> >>>> copied it there).
> >>>
> >>> So don't reinit the memory at all, just skip this whole part.
> >>
> >> 1st stage loader doesn't init everything (for example MSC).
> >
> > So I checked ... every board calls the dram init on it's own in
> > dram_init() ... so just don't do that.
>
> Do what? Don't call modified pxa2xx_dram_init?

What exactly do you need to do ? What registers do you need to set ? How come
the bootloader kick dram in, but won't configure MSC ?

Split out the MSC config and memory config maybe ?

> >>>>> +
> >>>>> +# define CONFIG_USB_ETHER 1
> >>>>> +# define CONFIG_USBNET_DEV_ADDR "de:ad:be:ef:00:01"
> >>>>> +# define CONFIG_USBNET_HOST_ADDR "de:ad:be:ef:00:02"
> >>>>> Definitelly not, any mac address setting should not be present, Joe ?
> >>>>
> >>>> So tell me how should I specify mac addresses? By EXTRA_ENV_SETTINGS?
> >>>
> >>> Joe explained it, your adapter doesn't carry it's own mac?
> >>
> >> No.
> >
> > Then leave it in ?
>
> leave CONFIG_USBNET_DEV_ADDR...?
>
> ?ukasz Da?ek

Best regards,
Marek Vasut