Re: [U-Boot] hardware versions to Kernel

2018-03-12 Thread Chris Packham
On Sat, Mar 10, 2018 at 6:34 AM, Andy Rea  wrote:
> I have an ARM CPU on a board that has 3 optional sub boards plugged into it,
> all of which have 3 hardware rev bits connected to the CPU
>
>
>
> Rather than getting the CPU to do mmap type stuff or sys/class/gpio stuff to
> read those versions in the kernel, is there a way for u-boot to push that
> information ( even it's a U32 or a string ) into the kernel somewhere that
> can be parsed?  I tried some code in the board startup to create env vars to
> append into the bootargs but they aren't evaluated each boot properly (
> boards are optional and revs can change )  so cat /proc/cmdlne stayed the
> same value all the time
>
>
>
> Is there a better way to do this?

I've done something similar in the past by having u-boot manipulate
the device-tree passed to the kernel with a few calls to
fdt_setprop(). It's practical when you have a few tweaks to make. I've
used it for telling the kernel to disable bits of hardware on
prototype boards.

For more substantial configurations you could use a FIT image[1]. I've
also used this for having u-boot tell the kernel about plug-in boards.
Ultimately we ended up switching to device-tree overlays once the
kernel support caught up so that we could support hot-plugging boards.

[1] - 
http://git.denx.de/?p=u-boot.git;a=blob_plain;f=doc/uImage.FIT/howto.txt;hb=HEAD
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] hardware versions to Kernel

2018-03-09 Thread Andy Rea
I have an ARM CPU on a board that has 3 optional sub boards plugged into it,
all of which have 3 hardware rev bits connected to the CPU

 

Rather than getting the CPU to do mmap type stuff or sys/class/gpio stuff to
read those versions in the kernel, is there a way for u-boot to push that
information ( even it's a U32 or a string ) into the kernel somewhere that
can be parsed?  I tried some code in the board startup to create env vars to
append into the bootargs but they aren't evaluated each boot properly (
boards are optional and revs can change )  so cat /proc/cmdlne stayed the
same value all the time

 

Is there a better way to do this?

 

thanks

 

Andy

 



smime.p7s
Description: S/MIME cryptographic signature
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot