Hey Guys,
In the v4.1.x-ti tree, we have a couple more hdmi-audio pins but
otherwise i've enabled everything in cape-universal now:
https://github.com/beagleboard/bb.org-overlays/commits/master
I'd like to enable cape-universal by default on bootup, under the
conditions that:
/boot/uEnv.txt
no custom dtb= is defined
no custom cape_enable= is defined
and no other capes are enable in the slots..
Currently you can enable it via:
config-pin overlay cape-universal
Thoughts?
Sounds reasonable to me. This is Charles S’ universal IO ? Seems like it but . . . no hands on with it to date. Any non trivial implication that you can think of ?
root@beaglebone:~# config-pin overlay cape-universal
root@beaglebone:~# config-pin -l P9.24
default gpio gpio_pu gpio_pd uart can i2c pruin
root@beaglebone:~# config-pin -l P9.26
default gpio gpio_pu gpio_pd uart can i2c pruin
root@beaglebone:~# config-pin P9.24 can
root@beaglebone:~# config-pin P9.26 can
root@beaglebone:~# config-pin -q P9.24
P9_24 Mode: can
root@beaglebone:~# config-pin -q P9.26
P9_26 Mode: can
At which point can1 interface is wired to P9.24/P9.26 pin's...
Regards,
Not sure I would ever use it, but as long as it would not conflict with eeprom based, or standard capes. I see no reason why not to include it.
e.g. I do not fool around with hardware - much. From the physical aspect anyway. I usually intrenched in something like I’m doing now. Which is basically a CANBus to http + websockets interface.
My thoughts too, just want to make sure we don't load it over
something else. Just remembered two other places...
/boot/uEnv.txt
no custom dtb= is defined
no custom cape_enable= is defined
/proc/cmdline
no extra cape_enable's..
/etc/default/capemgr (that 3.8.x hack i did..)
and no other capes are enable in the slots..
Regards,
Sounds good to me, assuming it doesn't interfere with any of the stock software Jason's running.
Well, the BoneScript and PyBBIO libraries both need to be updated for
4.1. Shouldn't be that hard with a focused effort. Patches welcome.
g41
July 22, 2015, 12:44pm
9
Hi Robert,
I'd like to enable cape-universal by default on bootup, under the conditions
that:
/boot/uEnv.txt
no custom dtb= is defined
no custom cape_enable= is defined
Is there a document anywhere which describes the hierarchy of the uEnv files and how they define/override booting/environment/kernel args etc?
TAIA
Jerry
Not really, as with uEnv.txt your free to update any variable and
create variables...
For boot order you can take a look at this:
http://elinux.org/Beagleboard:U-boot_partitioning_layout_2.0
But the real important one is:
"mmcargs=setenv bootargs console=${console} " \
"${optargs} " \
"${cape_disable} " \
"${cape_enable} " \
"root=${mmcroot} " \
"rootfstype=${mmcrootfstype} " \
"${cmdline}\0" \
and
"if test -n ${dtb}; then " \
"setenv fdtfile ${dtb};" \
"echo using ${fdtfile} ...;" \
"fi;" \
https://github.com/RobertCNelson/Bootloader-Builder/blob/master/patches/v2015.07/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
Regards,
g41
July 22, 2015, 1:54pm
11
Cool, thanks.
Not really, as with uEnv.txt your free to update any variable and create
variables...
For boot order you can take a look at this:
http://elinux.org/Beagleboard:U-boot_partitioning_layout_2.0
That's one of the critters ...
But the real important one is:
"mmcargs=setenv bootargs console=${console} " \
"${optargs} " \
"${cape_disable} " \
"${cape_enable} " \
"root=${mmcroot} " \
"rootfstype=${mmcrootfstype} " \
"${cmdline}\0" \
Yep.
Question: Is it possible to override the TFTPROOT setting? i.e. set up each board so they reference different sub-directories on the TFTP server? Can this be done in uEnv alone?
TAIA
Jerry
So it's setup as:
"server_ip=192.168.1.100\0" \
"gw_ip=192.168.1.1\0" \
"netmask=255.255.255.0\0" \
"hostname=\0" \
"device=eth0\0" \
"autoconf=off\0" \
"root_dir=/home/userid/targetNFS\0" \
"nfs_options=,vers=3\0" \
"nfsrootfstype=ext4 rootwait fixrtc\0" \
"nfsargs=setenv bootargs console=${console} " \
"${optargs} " \
"${cape_disable} " \
"${cape_enable} " \
"root=/dev/nfs rw " \
"rootfstype=${nfsrootfstype} " \
"nfsroot=${nfsroot} " \
"ip=${ip} " \
"${cmdline}\0" \
Just set each bbb to have a different "root_dir=" ..
Regards,
Robert, that sounds great to me.
Well, the BoneScript and PyBBIO libraries both need to be updated for
4.1. Shouldn’t be that hard with a focused effort. Patches welcome.
My thoughts now, if cape-universal is loaded by default, would be to use cape-universal in BoneScript/PyBBIO if it’s loaded, and otherwise to use the current custom overlay method. How’s that sound to you, Jason?
Okay this now enabled:
https://github.com/RobertCNelson/boot-scripts/blob/master/boot/am335x_evm.sh#L213
#default (dtb=am335x-boneblack.dtb)
config-pin overlay cape-universaln
#dtb=am335x-boneblack-overlay.dtb
config-pin overlay cape-universal
config-pin overlay cape-univ-hdmi
config-pin overlay cape-univ-audio
config-pin overlay cape-univ-emmc
#dtb=am335x-boneblack-emmc-overlay.dtb
config-pin overlay cape-universal
config-pin overlay cape-univ-hdmi
config-pin overlay cape-univ-audio
#dtb=am335x-boneblack-hdmi-overlay.dtb
config-pin overlay cape-universal
config-pin overlay cape-univ-emmc
#dtb=am335x-boneblack-nhdmi-overlay.dtb
config-pin overlay cape-universal
config-pin overlay cape-univ-audio
config-pin overlay cape-univ-emmc
I think this takes care of all the pin's..
Regards,
g41
July 22, 2015, 6:12pm
15
Hi
"root_dir=/home/userid/targetNFS\0" \
Just set each bbb to have a different "root_dir=" ..
Yep, I get (and do) that for NFS. But can you do the same with TFTP booting? Is there a TFTP root dir var?
TAIA
We just load them blindly:
+ "tftp ${loadaddr} ${bootfile}; " \
+ "tftp ${fdtaddr} dtbs/${fdtfile}; " \
(uname_r)
+ "tftp ${loadaddr} vmlinuz-${uname_r}; " \
+ "tftp ${fdtaddr} dtbs/${uname_r}/${fdtfile}; " \
I guess we could do: ${tftp_dir}
+ "tftp ${loadaddr} ${tftp_dir}/${bootfile}; " \
+ "tftp ${fdtaddr} ${tftp_dir}/dtbs/${fdtfile}; " \
(uname_r)
+ "tftp ${loadaddr} ${tftp_dir}/vmlinuz-${uname_r}; " \
+ "tftp ${fdtaddr} ${tftp_dir}/dtbs/${uname_r}/${fdtfile}; " \
Regards,
g41
July 23, 2015, 10:13am
17
I guess we could do: ${tftp_dir}
+ "tftp ${loadaddr} ${tftp_dir}/${bootfile}; " \ "tftp ${fdtaddr}
+ ${tftp_dir}/dtbs/${fdtfile}; " \
(uname_r)
+ "tftp ${loadaddr} ${tftp_dir}/vmlinuz-${uname_r}; " \ "tftp ${fdtaddr}
+ ${tftp_dir}/dtbs/${uname_r}/${fdtfile}; " \
Yep, that's what I had in mind. Let me see if I can make the changes here. If so I can do a PR on Github.
Thanks again.
Jerry
Robert, that sounds great to me.
Well, the BoneScript and PyBBIO libraries both need to be updated for
4.1. Shouldn't be that hard with a focused effort. Patches welcome.
My thoughts now, if cape-universal is loaded by default, would be to use
cape-universal in BoneScript/PyBBIO if it's loaded, and otherwise to use the
current custom overlay method. How's that sound to you, Jason?
Yeah, I also like this loaded by default. Much cleaner for the script code. Disable only if an EEPROM says load something in conflict or a command-line option says so.