Difference between revisions of "Beagleboard:BeagleBone Debian Image Migration"

From eLinux.org
Jump to: navigation, search
(Created page with "==Kernel== =====What changes were made to SYSFS?===== <blockquote> {| class="wikitable sortable" |- ! 3.8 kernel SYSFS entry !! 4.x kernel SYSFS entry |- | /sys/devices/bone_c...")
 
(U-Boot Overlays (experimental))
 
(15 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
==Kernel==
 
==Kernel==
=====What changes were made to SYSFS?=====
+
=====What changes were made to sysfs?=====
 
<blockquote>
 
<blockquote>
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
 
|-
 
|-
! 3.8 kernel SYSFS entry !! 4.x kernel SYSFS entry
+
! 3.8 kernel sysfs entry !! 4.x kernel sysfs entry
 
|-
 
|-
 
| /sys/devices/bone_capemgr.* || /sys/devices/platform/bone_capemgr
 
| /sys/devices/bone_capemgr.* || /sys/devices/platform/bone_capemgr
 +
|-
 +
| /sys/devices/ocp.* || /sys/devices/platform/ocp/
 +
|-
 +
| /sys/devices/ocp.*/helper.*/AIN* || /sys/bus/iio/devices/iio:device0
 
|}
 
|}
 
</blockquote>
 
</blockquote>
 +
 +
==Device Tree==
 +
===== cape-universal =====
 +
''Help! My overlay won't load! There's just this weird cape in slot 4.''
 +
 +
You've met [https://github.com/cdsteinkuehler/beaglebone-universal-io cape-universal]. It is meant to often make overlays unnecessary, but you can also just disable it by changing the following line in /boot/uEnv.txt:
 +
  cmdline=coherent_pool=1M quiet cape_universal=enable
 +
to
 +
  cmdline=coherent_pool=1M quiet
 +
 +
cape-universal is also automatically disabled if <code>bone_capemgr.enable_partno</code> occurs in the kernel cmdline (even if its argument is blank) or any overlay is already applied via capemgr before cape-universal can be loaded.
 +
 +
===== Disabling eMMC or HDMI =====
 +
HDMI and eMMC are now part of the main dtb instead of being virtual CAPEs, which means that to disable these you change the 'dtb' variable in /boot/uEnv.txt instead of using capemgr.disable_partno:
 +
{| class=wikitable
 +
|-
 +
! 3.8 kernel
 +
cape_disable=capemgr.disable_partno=
 +
! 4.x kernel
 +
dtb=
 +
|-
 +
| ''(blank)'' || am335x-boneblack.dtb
 +
|-
 +
| BB-BONELT-HDMI || ?
 +
|-
 +
| BB-BONELT-HDMI,BB-BONELT-HDMIN || am335x-boneblack-emmc-overlay.dtb
 +
|-
 +
| BB-BONE-EMMC-2G || am335x-boneblack-hdmi-overlay.dtb
 +
|-
 +
| BB-BONE-EMMC-2G,BB-BONELT-HDMI || am335x-boneblack-nhdmi-overlay.dtb
 +
|-
 +
| BB-BONE-EMMC-2G,BB-BONELT-HDMI,BB-BONELT-HDMIN || am335x-boneblack-overlay.dtb
 +
|}
 +
 +
See also this survey of [[BeagleBone DTBs]].
 +
 +
===== Enabling the ADC =====
 +
 +
This requires configuring the ADC via device tree, e.g. by loading the <code>/lib/firmware/BB-ADC-00A0.dtbo</code> overlay ([https://github.com/beagleboard/bb.org-overlays/blob/master/src/arm/BB-ADC-00A0.dts source code]) using capemgr:
 +
 +
  echo BB-ADC >/sys/devices/platform/bone_capemgr/slots
 +
 +
The ADC will appear as an IIO device (see <code>/sys/bus/iio/devices/</code>)
 +
 +
===== Enabling PRUSS =====
 +
 +
Same story as the ADC except using [https://github.com/beagleboard/bb.org-overlays/blob/master/src/arm/uio_pruss_enable-00A0.dts uio_pruss_enable-00A0.dtbo]:
 +
 +
  echo uio_pruss_enable >/sys/devices/platform/bone_capemgr/slots

Latest revision as of 11:07, 13 March 2017

Kernel

What changes were made to sysfs?
3.8 kernel sysfs entry 4.x kernel sysfs entry
/sys/devices/bone_capemgr.* /sys/devices/platform/bone_capemgr
/sys/devices/ocp.* /sys/devices/platform/ocp/
/sys/devices/ocp.*/helper.*/AIN* /sys/bus/iio/devices/iio:device0

Device Tree

cape-universal

Help! My overlay won't load! There's just this weird cape in slot 4.

You've met cape-universal. It is meant to often make overlays unnecessary, but you can also just disable it by changing the following line in /boot/uEnv.txt:

  cmdline=coherent_pool=1M quiet cape_universal=enable

to

  cmdline=coherent_pool=1M quiet

cape-universal is also automatically disabled if bone_capemgr.enable_partno occurs in the kernel cmdline (even if its argument is blank) or any overlay is already applied via capemgr before cape-universal can be loaded.

Disabling eMMC or HDMI

HDMI and eMMC are now part of the main dtb instead of being virtual CAPEs, which means that to disable these you change the 'dtb' variable in /boot/uEnv.txt instead of using capemgr.disable_partno:

3.8 kernel

cape_disable=capemgr.disable_partno=

4.x kernel

dtb=

(blank) am335x-boneblack.dtb
BB-BONELT-HDMI ?
BB-BONELT-HDMI,BB-BONELT-HDMIN am335x-boneblack-emmc-overlay.dtb
BB-BONE-EMMC-2G am335x-boneblack-hdmi-overlay.dtb
BB-BONE-EMMC-2G,BB-BONELT-HDMI am335x-boneblack-nhdmi-overlay.dtb
BB-BONE-EMMC-2G,BB-BONELT-HDMI,BB-BONELT-HDMIN am335x-boneblack-overlay.dtb

See also this survey of BeagleBone DTBs.

Enabling the ADC

This requires configuring the ADC via device tree, e.g. by loading the /lib/firmware/BB-ADC-00A0.dtbo overlay (source code) using capemgr:

  echo BB-ADC >/sys/devices/platform/bone_capemgr/slots

The ADC will appear as an IIO device (see /sys/bus/iio/devices/)

Enabling PRUSS

Same story as the ADC except using uio_pruss_enable-00A0.dtbo:

  echo uio_pruss_enable >/sys/devices/platform/bone_capemgr/slots