Debian Wheezy uEnv.txt does not load at boot time

The BBB seems to auto-detect if an SD is loaded and boots from there; otherwise it boots from eMMC, at least mine does.
So I have modified /boot/uboot/uEnv.txt while running on the SD to start up with HDMI disabled and PWM and UART1 enabled:

root@debian:~# cat /boot/uboot/uEnv.txt

#Video: Uncomment to override:

##Enable systemd
#systemd=quiet init=/lib/systemd/systemd

##BeagleBone Cape Overrides
##Note: On the BeagleBone Black, there is also an uEnv.txt in the eMMC, so if these changes do not seem to be makeing a difference…

##BeagleBone Black:
##Disable HDMI/eMMC


mmcroot=/dev/mmcblk0p2 ro
mmcrootfstype=ext4 rootwait fixrtc

loadkernel=load mmc ${mmcdev}:${mmcpart} 0x80300000 ${kernel_file}
loadinitrd=load mmc ${mmcdev}:${mmcpart} 0x81600000 ${initrd_file}; setenv initrd_size ${filesize}
loadfdt=load mmc ${mmcdev}:${mmcpart} 0x815f0000 /dtbs/${fdtfile}

boot_ftd=run loadkernel; run loadinitrd; run loadfdt

device_args=run expansion_args; run mmcargs
mmcargs=setenv bootargs console=${console} ${optargs} ${kms_force_mode} root=${mmcroot} rootfstype=${mmcrootfstype} ${expansion} ${systemd}

expansion_args=setenv expansion ip=${ip_method}
uenvcmd=run boot_ftd; run device_args; bootz 0x80300000 0x81600000:${initrd_size} 0x815f0000
#Next line added to preserve pwm at bootup
optargs=quiet drm.debug=7 capemgr.enable_partno=am33xx_pwm,bone_pwm_P9_21
#Next line added to preserve UART1 (ttyO1) at boot time
optargs=quiet drm.debug=7 capemgr.enable_partno=BB-UART1
#Disable HDMI only

But this is what I get on boot:

root@debian:~# cat /sys/devices/bone_capemgr.*/slots
0: 54:PF—
1: 55:PF—
2: 56:PF—
3: 57:PF—
4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
5: ff:P-O-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
6: ff:P-O-- Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN

There’s no pwm, no uart and ole HDMI’s still there. Can anyone explain that? Does the uEnv.txt file require things in a special order?

Well, it did exactly what you told it to do. The last definition:
disabled HDMI/HDMIN. The two previous definitions of "optargs" were
ignored, as the variable optargs was overwritten by the last define.
Does that make sense? It's simple variable defines..


Try to write this line :

optargs=quiet capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN capemgr.enable_partno=BB-UART1,BB-UART2,BB-UART4,BB-UART5