[PATCH 0/3] of: add update device node status via cmdline feature
Shawn Guo
shawn.guo at linaro.org
Fri Aug 23 05:36:02 EDT 2013
On Fri, Aug 23, 2013 at 04:49:55PM +0800, Dong Aisheng wrote:
> On Fri, Aug 23, 2013 at 03:51:07PM +0800, Shawn Guo wrote:
> > The device tree mailing list is changed to devicetree at vger.kernel.org.
> >
> > On Fri, Aug 23, 2013 at 03:09:08PM +0800, Dong Aisheng wrote:
> > > I tried the uboot way with fdt command to change the node status, it can work.
> > > However, it seems using fdt command is much complicated than the way i did with kernel
> > > command line and it also does not support enable/disable multi nodes at the same time.
> > > e.g, in order to enable ecspi1 and uart3 and disable gpmi:
> > > with uboot fdt command:
> > > U-Boot > fdt addr ${dtbaddr}
> > > U-Boot > fdt set /soc/aips-bus at 02000000/spba-bus at 02000000/ecspi at 02008000 status "okay"
> > > U-Boot > fdt set /soc/aips-bus at 02100000/serial at 021e8000 status "okay"
> > > U-Boot > fdt set /soc/gpmi-nand at 00112000 status "disabled"
> >
> > Oh, you can use the U-Boot environment and scripting function to make
> > it even easier than your kernel cmdline approach to use.
> >
>
> Hmm?
> Can you give an example to make it easier than kernel cmdline?
For imx6q-sabreauto example,
setenv loadaddr 0x12000000
setenv fdtaddr 0x18000000
setenv fdt_file imx6q-sabreauto.dtb
setenv bootcmd 'tftpboot zImage; tftpboot ${fdtaddr} ${fdt_file}; fdt addr ${fdtaddr}; run select_${devsel}; bootz ${loadaddr} - ${fdtaddr}'
setenv select_gpmi 'fdt set /soc/aips-bus at 02000000/spba-bus at 02000000/ecspi at 02008000 status disabled; fdt set /soc/aips-bus at 02100000/serial at 021e8000 status disabled; fdt set /soc/gpmi-nand at 00112000 status okay'
setenv select_ecspi '...'
setenv select_serial '...'
You can have all above environments defined in U-Boot mx6qsabreauto.h
at compile time. Then at runtime, you only need the following two
commands to boot kernel with the device that you want.
U-Boot > setenv devsel gpmi
U-Boot > boot
Shawn
More information about the linux-arm-kernel
mailing list