BBB Disable HDMI for good

This forum is for supported devices using an ARMv7 Texas Instruments (TI) SoC.

BBB Disable HDMI for good

Postby ochono » Thu Feb 22, 2018 6:38 am

Hi,

There are too many versions and issues regarding to the method to disable hdmi on the beaglebone black Rev C.

Few topics related to the problem in this forum/discussion do not seem to come to a solid solution or conclusion on how to disable the hdmi. And the one I am interested to join the discussion was locked - reason is too old to respond/reply ( which is merely created last year,2017. Not sure what's wrong with the forum here)

Disable hdmi from uEnv.txt also got different keywords to use according to kernel versions.

So, is there any other alternative to disable the hdmi/hdmin for good without configuring uEnv.txt, boot.txt .etc.
Such as configuring it straight from am335x-boneblack.dts and compile it back to am335x-boneblack.dtb and copy to /boot/dtbs?
Reboot and hope that the hdmi would not interfere with the SPI1 in interest?

Thanks.
ochono
 
Posts: 3
Joined: Thu Feb 22, 2018 6:28 am

Re: BBB Disable HDMI for good

Postby summers » Thu Feb 22, 2018 10:38 am

Thought BBB did this via overlays to the device tree?

Anyway basic procedure is clear need to modify the device tree, such that the description of the hardware doesn't include HDMI, that should free up the resources in the kernel/hardware.

Now updating the device tree blob in /boot/dtbs/am335x-boneblack.dtb will only last until the next kernel update - typically the device tree blobs are updated at that time.

So yes easiest to my mind is removing that portion of the device tree in uboot. Modern uboot has the ability to modify device trees, and this should all be independent of the kernel.

In BBB, it looks to me like uboot reads the file /boot/boot.src, this is compiled from /boot/boot.txt. I'll have a go at getting the right commands and add to thg is tread on my BBB. If necessary I can connect the BBB uart - which makes uboot debugging a shed load easier ....

Actually quick browse of the BBB device tree - and isn't obvious where the hdmi is. There are a few wakeup pins mentioned - which I don't think we need. and a value reference to:
$this->bbcode_second_pass_quote('', '
')/ocp/i2c@44e0b000/tda19988

You can see by the path that it goes via the i2c - and thats just not right for the HDMI.

Edit: Thats strange, I'm not convinced that HDMI is enabled on my BBB. I've always used it headless. Anyway hdmi isn't mentioned during booting (other than a failed audio codec) - and seems no good mention in the device tree. I'll dig some more ... Out of interest, which kernel and device tree are you using?

ReEdit: OK looks like the frame buffer is defined under lcdc@4830e000, I'll check pins as well - and yes does look like I2C is used for something.

So first off, disable the framebuffer, assuming you are using modern device tree, as names have changed change /boot/boot.txt to:
$this->bbcode_second_pass_code('', '# After modifying, run ./mkscr

if test -n ${distro_bootpart}; then setenv bootpart ${distro_bootpart}; else setenv bootpart 1; fi
part uuid ${devtype} ${devnum}:${bootpart} uuid

setenv bootargs "console=ttyS0 console=${console} root=PARTUUID=${uuid} rw rootwait"

if load ${devtype} ${devnum}:${bootpart} ${kernel_addr_r} /boot/zImage; then
gpio set 54
echo fdt: ${fdtfile}
if load ${devtype} ${devnum}:${bootpart} ${fdt_addr_r} /boot/dtbs/${fdtfile}; then
gpio set 55
fdt addr ${fdt_addr_r}
fdt set /ocp/lcdc@4830e000 status "disabled"
if load ${devtype} ${devnum}:${bootpart} ${ramdisk_addr_r} /boot/initramfs-linux.img; then
gpio set 56
bootz ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r};
else
gpio set 56
bootz ${kernel_addr_r} - ${fdt_addr_r};
fi;
fi;
fi
')

Various pins are defined, along with directions in:
$this->bbcode_second_pass_code('', '/ocp/l4_wkup@44c00000/scm@210000/pinmux@800/nxp_hdmi_bonelt_pins
/ocp/l4_wkup@44c00000/scm@210000/pinmux@800/nxp_hdmi_bonelt_off_pins
/ocp/l4_wkup@44c00000/scm@210000/pinmux@800/mcasp0_pins')
You'll need to decide what to do with those.

The I2C connections seem to be to talk to the TDA19988 which is an NXP HDMI transmitter - having the I2C defined I don't think will cause problems.

So think the main stuff you'll have to do is to disable the frame butter (code above) then decide what you are doing with all the various pins used. I guess you could just delete the pin definitions, especially if you are adding your own ....
summers
 
Posts: 984
Joined: Sat Sep 06, 2014 12:56 pm

Re: BBB Disable HDMI for good

Postby summers » Thu Feb 22, 2018 5:49 pm

OK disabling the lcdc didn't seem to work, something moved it to okay ...

So I just removed the whole description, and the IO pins. Just to see what happens: Modify the /boot/boot.txt above to add

$this->bbcode_second_pass_code('', '
fdt addr ${fdt_addr_r}
fdt rm /ocp/lcdc@4830e000
fdt rm /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/nxp_hdmi_bonelt_pins
fdt rm /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/nxp_hdmi_bonelt_off_pins
fdt rm /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/mcasp0_pins
')

Run ./mkscr

And reboot.

The kernel barfs due to missing lcdc, but does come up. It looks like omap_hwmod wants there to be a lcdc. omap+i2c also moans about a missing node.

Anyway gives you somewhere to start.

OK - omap-hwmod is TI code that knows how the hardware is connected. So its relationship to the device tree isn't clear to me. Its not clear how it wants the BBB to come up without the HDMI ....
summers
 
Posts: 984
Joined: Sat Sep 06, 2014 12:56 pm

Re: BBB Disable HDMI for good

Postby ochono » Fri Feb 23, 2018 4:36 am

Yes, the problem lies in the overlay method where configuration on uEnv.txt from kernel 3.8.xx until now kernel 4.15 using boot.txt(compiled by our-self into boot.scr) are so different (I will be very glad if there is a detail documentation elaborate on the equivalent way to achieve this on latest kernel, specifically target on Arch linux arm OS instead of Debian or Ångström). It is quite confusing sometime when people mention this is not OS dependent while obviously it is not.

I have the HDMI, disabled using uEnv.txt with following command with kernel 3.8.13-39:
$this->bbcode_second_pass_code('', 'optargs=coherent_pool=1M capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN
')
Which is working, and I considered it as a legacy method. As a side note, I failed to update the pacman with this kernel version and failed to install new package into the system which I suspect it is incompatibility issue. So, I move on and trying with latest image installation on the sdcard and replicate what I have done on the old image with kernel 3.8.13-39. With latest image kernel 4.15, the uEnv.txt is not there anymore and the way to configure it seems like no apparent similarity and I couldn't find any reference on this.

And so, I am thinking why not just disable the HDMI for good from main device tree /boot/dtbs/am335x-boneblack.dts which exist on both older kernel an also the latest kernel. Then I will skip the whole overlay thing and also the uEnv.txt or boot.txt or anything new in future.


Thanks for spending time to go through the procedure to find out the way to do it. I will digest what you have done here and try to follow up what need to be done to complete it.
ochono
 
Posts: 3
Joined: Thu Feb 22, 2018 6:28 am

Re: BBB Disable HDMI for good

Postby summers » Fri Feb 23, 2018 12:53 pm

Ah yes - 3.8 is quite old. Had things switched to device tree by that stage?

I remember the evolution of arm linux to device trees, as I recall it was painful for some. So think when the question of beaglebone capes was raised, people were tired, and it wasn't given an easy time in mainline linux. I thought though it eventually got accepted.

This said though I didn't follow closely, I made the conversion to device tree on everything, and having lived in device tree world for some time - it makes much sense. The device tree gives good understanding of the hardware. E.g. in the below, you can see that the lcdc frame buffer is straight off OCP bus, so this to me suggests that the lcdc is closely integrated into the arm design, you can get some info on it here: http://processors.wiki.ti.com/index.php/Linux_Core_LCD_Controller_User_Guide

But digging into BBB hdmi, I did indeed decide to follow BB-BONE-HDMI direction: https://github.com/beagleboard/devicetree-source/blob/master/arch/arm/boot/dts/cape-boneblack-hdmi-00A0.dts - you can see the device tree set up, and see which bits of hardware it defines for doing HDMI. So thats what suggested removing the bits I removed below.

Also though learn that the TI LCDC hardware is connected to an NXP HDMI transducer https://media.digikey.com/pdf/Data%20Sheets/NXP%20PDFs/TDA19988_DS_21_july_2011.pdf, looks like the important bits are wired directly from the TI LCDC.

So trick is working out the device tree we need. Now the BBB /boot/dtbs directory contains many device trees, these are for many variants, beaglebone, BBB, BeagleBone Green, BeagleBone Blue, etc. anyway I should check if any are for BBB withouth HDMI, if so changing to that would be easiest. I'd assumed you had looked there, but if you are on 3.8 kernel, guess things have moved on.

Its also a question of what is your use case? E.g. why do you want to disable the HDMI. Now a usual case on BBB, is that the pins on the processor can be configured for different modes. you can see that on the BB-BONE-HDMI link above, the HDMI sets up the output pins in the way needed for the HDMI. Now if you want to use the pins for something else, then you'll need to redeine the pins. E.g. IIRC the SPI comes out on the same pins as the HDMI, so if you want to use SPI, then you need to disable the HMDI so it doesn't use the pins.

However the uboot code to remove the pinmux below - that bid did actually work. The I2c error turned out to be unrelated (think that is hinting at a problem in device tree, but can't see what right now). So if you just need to release the pins, then we can already do that. Of course you'll also need to assign pins for your use case.

Hope this helps, I won't be able to look again until the weekend.
summers
 
Posts: 984
Joined: Sat Sep 06, 2014 12:56 pm

Re: BBB Disable HDMI for good

Postby summers » Fri Feb 23, 2018 7:54 pm

back home.

checked what is in /boot/dtbs

There are a whole lot of BBB device trees, who can say what they are for. When times allow I'll look into them.

They don't seem to be listed in linux: https://github.com/torvalds/linux/tree/master/arch/arm/boot/dts so must have been created for some reason. Its possible one does what you want.

Oh yes, on hdmi, its far easier to read from the mainline linux. HDMI seems defined in: https://github.com/torvalds/linux/blob/master/arch/arm/boot/dts/am335x-boneblack-common.dtsi

Oh yes, I noticed that mcasp is the audio side of things, seems to go out via the NXP set up - so probably need to remove that. Also the I2c reference to tda19988, refers to lcdc, so that may be what pulls in the lcdc to okay ....
summers
 
Posts: 984
Joined: Sat Sep 06, 2014 12:56 pm

Re: BBB Disable HDMI for good

Postby summers » Sat Feb 24, 2018 1:53 pm

This morning over breakfast, thought I would get to the bottom of what the various device trees files are. Obvious place to check in the kernel package, so checking how it is build:

https://archlinuxarm.org/packages/armv7h/linux-am33x/files/PKGBUILD

And what caught my attention is that it also compiles:

https://github.com/RobertCNelson/bb.org-overlays

Which sounds interesting. It points to the manual page:

https://elinux.org/Beagleboard:BeagleBoneBlack_Debian#U-Boot_Overlays

So looks like a version of overlays survived. Documentation say try in uboot:
$this->bbcode_second_pass_code('', '
enable_uboot_overlays=1
disable_uboot_overlay_video=1
')
Tried that - and rebooted. Alas I don't have a UART connected right now, so can't see what messages that uboot gives. ANyway on coming back up dmesg has:
$this->bbcode_second_pass_code('', '[ 17.914174] tda998x 0-0070: found TDA19988
[ 17.964782] tilcdc 4830e000.lcdc: bound 0-0070 (ops tda998x_ops)
[ 18.037376] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 18.117280] [drm] No driver support for vblank timestamp query.
[ 18.189144] [drm] Cannot find any crtc or sizes
[ 18.244521] [drm] Initialized tilcdc 1.0.0 20121205 for 4830e000.lcdc on minor 0')
Which looks to me like HDMI coming up.

Does make me wonder if Kevin should be compiling the overlays, or how to use them. ANyway it does point to
$this->bbcode_second_pass_code('', '/lib/firmware')
Which does seem to have many overlays - so just a question of how to use ...

Ah - it looks like uboot needs patching to do overlays https://eewiki.net/display/linuxonarm/BeagleBone+Black#BeagleBoneBlack-Bootloader:U-Boot - and this isn't done under arch https://archlinuxarm.org/packages/armv7h/uboot-beaglebone/files/PKGBUILD. So looks like the only way under arch is modifying the device tree.

@kevin: Can you consider the linked patch for the BBB uboot?
Last edited by summers on Sat Feb 24, 2018 3:23 pm, edited 3 times in total.
summers
 
Posts: 984
Joined: Sat Sep 06, 2014 12:56 pm

Re: BBB Disable HDMI for good

Postby summers » Sat Feb 24, 2018 2:41 pm

So went back to the device tree, in modern linux, and latest device tree the hdmi stuff is defined here:

https://github.com/torvalds/linux/blob/master/arch/arm/boot/dts/am335x-boneblack-common.dtsi

And the NXP tda19988 mentions the lcdc - so could be what was pushing it into "okay", so tried the code in /boot/uboot.txt

$this->bbcode_second_pass_code('', '
fdt addr ${fdt_addr_r}
# take out the framer
fdt rm /ocp/i2c@44e0b000/tda19988
# disable the lcdc and remove its pins
fdt set /ocp/lcdc@4830e000 status "disabled"
fdt rm /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/nxp_hdmi_bonelt_pins
fdt rm /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/nxp_hdmi_bonelt_off_pins
# disable the sound and remove pins
fdt set /ocp/mcasp@48038000 status "disabled"
fdt rm /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/mcasp0_pins
')

This is after the device tree is loaded into memory. compiling with "./mksrc" and rebooting. I get no errors on boot up.

$this->bbcode_second_pass_code('', '/proc/device-tree/ocp/lcdc\@4830e000/status
/proc/device-tree/ocp/mcasp\@48038000/status')

Shows the device as disabled, and it isn't mentioned during boot.

So HDMI is now down, and removing from the device tree in uboot should be permanent. So this seems to be a solution.
summers
 
Posts: 984
Joined: Sat Sep 06, 2014 12:56 pm

Re: BBB Disable HDMI for good

Postby summers » Sun Feb 25, 2018 3:03 pm

So reflecting on this thread (not that I'm sure anyone else is actually reading it, so its just a place to collect my thoughts) what is clearly the need is for device tree overlays. Subject has been topical for many years, so seemed strange to me that the bb overlays people, had a patch for uboot to do this. Their patch seems very beagleboard specific, but of course device tree overlays are more general - and getting something added to mainline uboot, and you want a general solution.

So bit of googling, and discovered: http://git.denx.de/?p=u-boot.git;a=commit;h=e6628ad7b99b285b25147366c68a7b956e362878

Turns out Maxime Ripard had patches accepted almost 2 years ago, he's the one who has also been patching libfdt for overlays in device trees. So question is why isn't bb overlays using this.

Anyway reading source code (because I couldn't find any documentation) turns out a uboot command is enabled with CONFIG_OF_LIBFDT_OVERLAY=y, which is done for am335x uboot, e.g. beagleboard. This should give the command:
$this->bbcode_second_pass_code('', 'fdt apply <addr>')
Which applies a dt overlay loaded into memory into the active device tree.

So this method should apply for the overlays in /lib/firmware.

Just trying to find a good use case to test ...
summers
 
Posts: 984
Joined: Sat Sep 06, 2014 12:56 pm

Re: BBB Disable HDMI for good

Postby ochono » Mon Feb 26, 2018 7:17 am

That's really useful sharing of your own way of thought to trace down the issues. Please share more of your experience here!
It is definitely helpful and intuitive to follow your steps on tracking them, where I am really novice in reading and tracing the source code and the linking between them.

The uboot(kernel 3.8) use the dtb in boot/dtbs base on the board name defined as this $this->bbcode_second_pass_code('', 'board_name=A335BNLT')

$this->bbcode_second_pass_code('', ' findfdt=if test $board_name = A335BONE; then setenv fdtfile am335x-bone.dtb; setenv fdtbase am335x-bone; fi; if test $board_name = A335BNLT; then setenv fdtfile am335x-boneblack.dtb; setenv fdtbase am335x-boneblack; fi; if test $board_name = A33515BB; then setenv fdtfile am335x-evm.dtb; fi; if test $board_name = A335X_SK; then setenv fdtfile am335x-evmsk.dtb; fi; if test $fdtfile = undefined; then echo WARNING: Could not determine device tree to use; fi;')

So, I think it is using am335x-boneblack.dtb which I emphasise it in the post.

The full content:

$this->bbcode_second_pass_code('', '/dts-v1/;

/ {
#address-cells = <0x1>;
#size-cells = <0x1>;
compatible = "ti,am335x-bone", "ti,am33xx";
interrupt-parent = <0x1>;
model = "TI AM335x BeagleBone";

chosen {
};

aliases {
serial0 = "/ocp/serial@44e09000";
serial1 = "/ocp/serial@48022000";
serial2 = "/ocp/serial@48024000";
serial3 = "/ocp/serial@481a6000";
serial4 = "/ocp/serial@481a8000";
serial5 = "/ocp/serial@481aa000";
};

memory {
device_type = "memory";
reg = <0x80000000 0x10000000>;
};

cpus {

cpu@0 {
compatible = "arm,cortex-a8";
operating-points = <0xf4240 0x149970 0xc3500 0x13d620 0x927c0 0x10f7c0 0x493e0 0xec928>;
voltage-tolerance = <0x2>;
clock-latency = <0x493e0>;
cpu0-supply = <0x2>;
linux,phandle = <0x13>;
phandle = <0x13>;
};
};

pmu {
compatible = "arm,cortex-a8-pmu";
interrupts = <0x3>;
};

soc {
compatible = "ti,omap-infra";

mpu {
compatible = "ti,omap3-mpu";
ti,hwmods = "mpu";
};
};

pinmux@44e10800 {
compatible = "pinctrl-single";
reg = <0x44e10800 0x238>;
#address-cells = <0x1>;
#size-cells = <0x0>;
pinctrl-single,register-width = <0x20>;
pinctrl-single,function-mask = <0x7f>;
pinctrl-names = "default";
pinctrl-0 = <0x3>;
linux,phandle = <0x14>;
phandle = <0x14>;

pinmux_userled_pins {
pinctrl-single,pins = <0x54 0x7 0x58 0x17 0x5c 0x7 0x60 0x17>;
linux,phandle = <0x3>;
phandle = <0x3>;
};

pinmux_i2c0_pins {
pinctrl-single,pins = <0x188 0x70 0x18c 0x70>;
linux,phandle = <0x6>;
phandle = <0x6>;
};

pinmux_i2c2_pins {
pinctrl-single,pins = <0x178 0x73 0x17c 0x73>;
linux,phandle = <0x7>;
phandle = <0x7>;
};

pinmux_mmc1_pins {
pinctrl-single,pins = <0x160 0x2f>;
linux,phandle = <0x9>;
phandle = <0x9>;
};

pinmux_rstctl_pins {
pinctrl-single,pins = <0x50 0x17>;
linux,phandle = <0x4>;
phandle = <0x4>;
};
};

ocp {
compatible = "simple-bus";
#address-cells = <0x1>;
#size-cells = <0x1>;
ranges;
ti,hwmods = "l3_main";
linux,phandle = <0x15>;
phandle = <0x15>;

interrupt-controller@48200000 {
compatible = "ti,omap2-intc";
interrupt-controller;
#interrupt-cells = <0x1>;
ti,intc-size = <0x80>;
reg = <0x48200000 0x1000>;
linux,phandle = <0x1>;
phandle = <0x1>;
};

sgx@0x56000000 {
compatible = "ti,sgx";
ti,hwmods = "gfx";
clock-frequency = <0xbebc200>;
reg = <0x56000000 0x1000000>;
interrupts = <0x25>;
};

edma@49000000 {
compatible = "ti,edma3";
ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
reg = <0x49000000 0x10000 0x44e10f90 0x40>;
interrupt-parent = <0x1>;
interrupts = <0xc 0xd 0xe>;
#dma-cells = <0x1>;
dma-channels = <0x40>;
ti,edma-regions = <0x4>;
ti,edma-slots = <0x100>;
ti,edma-queue-tc-map = <0x0 0x0 0x1 0x1 0x2 0x2>;
ti,edma-queue-priority-map = <0x0 0x0 0x1 0x1 0x2 0x2>;
ti,edma-default-queue = <0x1>;
ti,edma-xbar-event-map = <0x20 0xc 0x1e 0x14>;
linux,phandle = <0x8>;
phandle = <0x8>;
};

gpio@44e07000 {
compatible = "ti,omap4-gpio";
ti,hwmods = "gpio1";
gpio-controller;
#gpio-cells = <0x2>;
interrupt-controller;
#interrupt-cells = <0x1>;
reg = <0x44e07000 0x1000>;
interrupts = <0x60>;
linux,phandle = <0xa>;
phandle = <0xa>;
};

gpio@4804c000 {
compatible = "ti,omap4-gpio";
ti,hwmods = "gpio2";
gpio-controller;
#gpio-cells = <0x2>;
interrupt-controller;
#interrupt-cells = <0x1>;
reg = <0x4804c000 0x1000>;
interrupts = <0x62>;
linux,phandle = <0x5>;
phandle = <0x5>;
};

gpio@481ac000 {
compatible = "ti,omap4-gpio";
ti,hwmods = "gpio3";
gpio-controller;
#gpio-cells = <0x2>;
interrupt-controller;
#interrupt-cells = <0x1>;
reg = <0x481ac000 0x1000>;
interrupts = <0x20>;
linux,phandle = <0x16>;
phandle = <0x16>;
};

gpio@481ae000 {
compatible = "ti,omap4-gpio";
ti,hwmods = "gpio4";
gpio-controller;
#gpio-cells = <0x2>;
interrupt-controller;
#interrupt-cells = <0x1>;
reg = <0x481ae000 0x1000>;
interrupts = <0x3e>;
linux,phandle = <0x17>;
phandle = <0x17>;
};

rstctl@0 {
status = "okay";
compatible = "gpio-rctrl";
pinctrl-names = "default";
pinctrl-0 = <0x4>;
#reset-cells = <0x2>;
gpios = <0x5 0x14 0x0>;
gpio-names = "eMMC_RSTn";
linux,phandle = <0xc>;
phandle = <0xc>;
};

serial@44e09000 {
compatible = "ti,omap3-uart";
ti,hwmods = "uart1";
clock-frequency = <0x2dc6c00>;
reg = <0x44e09000 0x2000>;
interrupts = <0x48>;
status = "okay";
linux,phandle = <0x18>;
phandle = <0x18>;
};

serial@48022000 {
compatible = "ti,omap3-uart";
ti,hwmods = "uart2";
clock-frequency = <0x2dc6c00>;
reg = <0x48022000 0x2000>;
interrupts = <0x49>;
status = "disabled";
linux,phandle = <0x19>;
phandle = <0x19>;
};

serial@48024000 {
compatible = "ti,omap3-uart";
ti,hwmods = "uart3";
clock-frequency = <0x2dc6c00>;
reg = <0x48024000 0x2000>;
interrupts = <0x4a>;
status = "disabled";
linux,phandle = <0x1a>;
phandle = <0x1a>;
};

serial@481a6000 {
compatible = "ti,omap3-uart";
ti,hwmods = "uart4";
clock-frequency = <0x2dc6c00>;
reg = <0x481a6000 0x2000>;
interrupts = <0x2c>;
status = "disabled";
linux,phandle = <0x1b>;
phandle = <0x1b>;
};

serial@481a8000 {
compatible = "ti,omap3-uart";
ti,hwmods = "uart5";
clock-frequency = <0x2dc6c00>;
reg = <0x481a8000 0x2000>;
interrupts = <0x2d>;
status = "disabled";
linux,phandle = <0x1c>;
phandle = <0x1c>;
};

serial@481aa000 {
compatible = "ti,omap3-uart";
ti,hwmods = "uart6";
clock-frequency = <0x2dc6c00>;
reg = <0x481aa000 0x2000>;
interrupts = <0x2e>;
status = "disabled";
linux,phandle = <0x1d>;
phandle = <0x1d>;
};

i2c@44e0b000 {
compatible = "ti,omap4-i2c";
#address-cells = <0x1>;
#size-cells = <0x0>;
ti,hwmods = "i2c1";
reg = <0x44e0b000 0x1000>;
interrupts = <0x46>;
status = "okay";
clock-frequency = <0x61a80>;
pinctrl-names = "default";
pinctrl-0 = <0x6>;
linux,phandle = <0x1e>;
phandle = <0x1e>;

tps@24 {
reg = <0x24>;
compatible = "ti,tps65217";
ti,pmic-shutdown-controller;
interrupt-parent = <0x1>;
interrupts = <0x7>;
linux,phandle = <0x1f>;
phandle = <0x1f>;

regulators {
#address-cells = <0x1>;
#size-cells = <0x0>;

regulator@0 {
reg = <0x0>;
regulator-compatible = "dcdc1";
regulator-always-on;
linux,phandle = <0x20>;
phandle = <0x20>;
};

regulator@1 {
reg = <0x1>;
regulator-compatible = "dcdc2";
regulator-name = "vdd_mpu";
regulator-min-microvolt = <0xe1d48>;
regulator-max-microvolt = <0x1437c8>;
regulator-boot-on;
regulator-always-on;
linux,phandle = <0x2>;
phandle = <0x2>;
};

regulator@2 {
reg = <0x2>;
regulator-compatible = "dcdc3";
regulator-name = "vdd_core";
regulator-min-microvolt = <0xe1d48>;
regulator-max-microvolt = <0x118c30>;
regulator-boot-on;
regulator-always-on;
linux,phandle = <0x21>;
phandle = <0x21>;
};

regulator@3 {
reg = <0x3>;
regulator-compatible = "ldo1";
regulator-always-on;
linux,phandle = <0x22>;
phandle = <0x22>;
};

regulator@4 {
reg = <0x4>;
regulator-compatible = "ldo2";
regulator-always-on;
linux,phandle = <0x23>;
phandle = <0x23>;
};

regulator@5 {
reg = <0x5>;
regulator-compatible = "ldo3";
regulator-min-microvolt = <0x1b7740>;
regulator-max-microvolt = <0x1b7740>;
regulator-always-on;
linux,phandle = <0x24>;
phandle = <0x24>;
};

regulator@6 {
reg = <0x6>;
regulator-compatible = "ldo4";
regulator-always-on;
linux,phandle = <0x25>;
phandle = <0x25>;
};
};
};

baseboard_eeprom@50 {
compatible = "at,24c256";
reg = <0x50>;
linux,phandle = <0xe>;
phandle = <0xe>;
};
};

i2c@4802a000 {
compatible = "ti,omap4-i2c";
#address-cells = <0x1>;
#size-cells = <0x0>;
ti,hwmods = "i2c2";
reg = <0x4802a000 0x1000>;
interrupts = <0x47>;
status = "disabled";
linux,phandle = <0x26>;
phandle = <0x26>;
};

i2c@4819c000 {
compatible = "ti,omap4-i2c";
#address-cells = <0x1>;
#size-cells = <0x0>;
ti,hwmods = "i2c3";
reg = <0x4819c000 0x1000>;
interrupts = <0x1e>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <0x7>;
clock-frequency = <0x186a0>;
linux,phandle = <0x27>;
phandle = <0x27>;

cape_eeprom0@54 {
compatible = "at,24c256";
reg = <0x54>;
linux,phandle = <0xf>;
phandle = <0xf>;
};

cape_eeprom1@55 {
compatible = "at,24c256";
reg = <0x55>;
linux,phandle = <0x10>;
phandle = <0x10>;
};

cape_eeprom2@56 {
compatible = "at,24c256";
reg = <0x56>;
linux,phandle = <0x11>;
phandle = <0x11>;
};

cape_eeprom3@57 {
compatible = "at,24c256";
reg = <0x57>;
linux,phandle = <0x12>;
phandle = <0x12>;
};
};

mmc@48060000 {
compatible = "ti,omap3-hsmmc";
ti,hwmods = "mmc1";
ti,dual-volt;
ti,needs-special-reset;
ti,needs-special-hs-handling;
dmas = <0x8 0x18 0x8 0x19>;
dma-names = "tx", "rx";
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <0x9>;
bus-width = <0x4>;
cd-gpios = <0xa 0x6 0x0>;
cd-inverted;
vmmc-supply = <0xb>;
ti,vcc-aux-disable-is-sleep;
linux,phandle = <0x28>;
phandle = <0x28>;
};

mmc@481d8000 {
compatible = "ti,omap3-hsmmc";
ti,hwmods = "mmc2";
ti,needs-special-reset;
ti,needs-special-hs-handling;
dmas = <0x8 0x2 0x8 0x3>;
dma-names = "tx", "rx";
status = "disabled";
vmmc-supply = <0xb>;
bus-width = <0x8>;
ti,non-removable;
reset = <0xc 0x0 0x0>;
reset-names = "eMMC_RSTn-CONSUMER";
linux,phandle = <0x29>;
phandle = <0x29>;
};

mmc@47810000 {
compatible = "ti,omap3-hsmmc";
ti,hwmods = "mmc3";
ti,needs-special-reset;
ti,needs-special-hs-handling;
status = "disabled";
linux,phandle = <0x2a>;
phandle = <0x2a>;
};

wdt@44e35000 {
compatible = "ti,omap3-wdt";
ti,hwmods = "wd_timer2";
reg = <0x44e35000 0x1000>;
interrupts = <0x5b>;
linux,phandle = <0x2b>;
phandle = <0x2b>;
};

d_can@481cc000 {
compatible = "bosch,d_can";
ti,hwmods = "d_can0";
reg = <0x481cc000 0x2000>;
interrupts = <0x34>;
status = "disabled";
linux,phandle = <0x2c>;
phandle = <0x2c>;
};

d_can@481d0000 {
compatible = "bosch,d_can";
ti,hwmods = "d_can1";
reg = <0x481d0000 0x2000>;
interrupts = <0x37>;
status = "disabled";
linux,phandle = <0x2d>;
phandle = <0x2d>;
};

timer@44e31000 {
compatible = "ti,omap2-timer";
reg = <0x44e31000 0x400>;
interrupts = <0x43>;
ti,hwmods = "timer1";
ti,timer-alwon;
linux,phandle = <0x2e>;
phandle = <0x2e>;
};

timer@48040000 {
compatible = "ti,omap2-timer";
reg = <0x48040000 0x400>;
interrupts = <0x44>;
ti,hwmods = "timer2";
linux,phandle = <0x2f>;
phandle = <0x2f>;
};

timer@48042000 {
compatible = "ti,omap2-timer";
reg = <0x48042000 0x400>;
interrupts = <0x45>;
ti,hwmods = "timer3";
linux,phandle = <0x30>;
phandle = <0x30>;
};

timer@48044000 {
compatible = "ti,omap2-timer";
reg = <0x48044000 0x400>;
interrupts = <0x5c>;
ti,hwmods = "timer4";
ti,timer-pwm;
linux,phandle = <0x31>;
phandle = <0x31>;
};

timer@48046000 {
compatible = "ti,omap2-timer";
reg = <0x48046000 0x400>;
interrupts = <0x5d>;
ti,hwmods = "timer5";
ti,timer-pwm;
linux,phandle = <0x32>;
phandle = <0x32>;
};

timer@48048000 {
compatible = "ti,omap2-timer";
reg = <0x48048000 0x400>;
interrupts = <0x5e>;
ti,hwmods = "timer6";
ti,timer-pwm;
linux,phandle = <0x33>;
phandle = <0x33>;
};

timer@4804a000 {
compatible = "ti,omap2-timer";
reg = <0x4804a000 0x400>;
interrupts = <0x5f>;
ti,hwmods = "timer7";
ti,timer-pwm;
linux,phandle = <0x34>;
phandle = <0x34>;
};

pruss@4a300000 {
compatible = "ti,pruss-v2";
ti,hwmods = "pruss";
ti,deassert-hard-reset = "pruss", "pruss";
reg = <0x4a300000 0x80000>;
ti,pintc-offset = <0x20000>;
interrupt-parent = <0x1>;
status = "disabled";
interrupts = <0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b>;
linux,phandle = <0x35>;
phandle = <0x35>;
};

rtc@44e3e000 {
compatible = "ti,da830-rtc";
reg = <0x44e3e000 0x1000>;
interrupts = <0x4b 0x4c>;
ti,hwmods = "rtc";
ti,system-power-controller;
};

spi@48030000 {
compatible = "ti,omap4-mcspi";
#address-cells = <0x1>;
#size-cells = <0x0>;
reg = <0x48030000 0x400>;
interrupt = <0x41>;
ti,spi-num-cs = <0x2>;
ti,hwmods = "spi0";
dmas = <0x8 0x10 0x8 0x11 0x8 0x12 0x8 0x13>;
dma-names = "tx0", "rx0", "tx1", "rx1";
status = "disabled";
linux,phandle = <0x36>;
phandle = <0x36>;
};

spi@481a0000 {
compatible = "ti,omap4-mcspi";
#address-cells = <0x1>;
#size-cells = <0x0>;
reg = <0x481a0000 0x400>;
interrupt = <0x7d>;
ti,spi-num-cs = <0x2>;
ti,hwmods = "spi1";
dmas = <0x8 0x2a 0x8 0x2b 0x8 0x2c 0x8 0x2d>;
dma-names = "tx0", "rx0", "tx1", "rx1";
status = "disabled";
linux,phandle = <0x37>;
phandle = <0x37>;
};

gpmc@50000000 {
compatible = "ti,am3352-gpmc";
ti,hwmods = "gpmc";
reg = <0x50000000 0x1000000>;
interrupts = <0x64>;
gpmc,num-cs = <0x7>;
gpmc,num-waitpins = <0x2>;
#address-cells = <0x2>;
#size-cells = <0x1>;
status = "disabled";
linux,phandle = <0x38>;
phandle = <0x38>;
};

nop-phy@0 {
compatible = "nop-xceiv-usb";
};

nop-phy@1 {
compatible = "nop-xceiv-usb";
};

usb@47400000 {
compatible = "ti,musb-am33xx";
reg = <0x47400000 0x1000 0x47401000 0x800 0x47401800 0x800>;
interrupts = <0x11 0x12 0x13>;
multipoint = <0x1>;
num-eps = <0x10>;
ram-bits = <0xc>;
port0-mode = <0x3>;
port1-mode = <0x1>;
power = <0xfa>;
ti,hwmods = "usb_otg_hs";
status = "okay";
interface_type = <0x1>;
linux,phandle = <0x39>;
phandle = <0x39>;
};

ethernet@4a100000 {
compatible = "ti,cpsw";
ti,hwmods = "cpgmac0";
cpdma_channels = <0x8>;
ale_entries = <0x400>;
bd_ram_size = <0x2000>;
no_bd_ram = <0x0>;
rx_descs = <0x40>;
mac_control = <0x20>;
slaves = <0x2>;
cpts_active_slave = <0x0>;
cpts_clock_mult = <0x80000000>;
cpts_clock_shift = <0x1d>;
reg = <0x4a100000 0x800 0x4a101200 0x100>;
#address-cells = <0x1>;
#size-cells = <0x1>;
interrupt-parent = <0x1>;
interrupts = <0x28 0x29 0x2a 0x2b>;
ranges;
disable-napi;
linux,phandle = <0x3a>;
phandle = <0x3a>;

mdio@4a101000 {
compatible = "ti,davinci_mdio";
#address-cells = <0x1>;
#size-cells = <0x0>;
ti,hwmods = "davinci_mdio";
bus_freq = <0xf4240>;
reg = <0x4a101000 0x100>;
linux,phandle = <0xd>;
phandle = <0xd>;
};

slave@4a100200 {
mac-address = [00 00 00 00 00 00];
phy_id = <0xd 0x0>;
linux,phandle = <0x3b>;
phandle = <0x3b>;
};

slave@4a100300 {
mac-address = [00 00 00 00 00 00];
phy_id = <0xd 0x1>;
linux,phandle = <0x3c>;
phandle = <0x3c>;
};
};

tscadc@44e0d000 {
compatible = "ti,ti-tscadc";
reg = <0x44e0d000 0x1000>;
interrupt-parent = <0x1>;
interrupts = <0x10>;
ti,hwmods = "adc_tsc";
status = "disabled";
linux,phandle = <0x3d>;
phandle = <0x3d>;
};

lcdc@4830e000 {
compatible = "ti,am3352-lcdc", "ti,da830-lcdc";
reg = <0x4830e000 0x1000>;
interrupts = <0x24>;
status = "disabled";
ti,hwmods = "lcdc";
linux,phandle = <0x3e>;
phandle = <0x3e>;
};

epwmss@48300000 {
compatible = "ti,am33xx-pwmss";
reg = <0x48300000 0x10>;
ti,hwmods = "epwmss0";
#address-cells = <0x1>;
#size-cells = <0x1>;
status = "disabled";
ranges = <0x48300100 0x48300100 0x80 0x48300180 0x48300180 0x80 0x48300200 0x48300200 0x80>;
linux,phandle = <0x3f>;
phandle = <0x3f>;

ecap@48300100 {
compatible = "ti,am33xx-ecap";
#pwm-cells = <0x3>;
reg = <0x48300100 0x80>;
ti,hwmods = "ecap0";
status = "disabled";
linux,phandle = <0x40>;
phandle = <0x40>;
};

ehrpwm@48300200 {
compatible = "ti,am33xx-ehrpwm";
#pwm-cells = <0x3>;
reg = <0x48300200 0x80>;
ti,hwmods = "ehrpwm0";
status = "disabled";
linux,phandle = <0x41>;
phandle = <0x41>;
};

eqep@0x48300180 {
compatible = "ti,am33xx-eqep";
reg = <0x48300180 0x80>;
interrupt-parent = <0x1>;
interrupts = <0x4f>;
ti,hwmods = "eqep0";
status = "disabled";
linux,phandle = <0x42>;
phandle = <0x42>;
};
};

epwmss@48302000 {
compatible = "ti,am33xx-pwmss";
reg = <0x48302000 0x10>;
ti,hwmods = "epwmss1";
#address-cells = <0x1>;
#size-cells = <0x1>;
status = "disabled";
ranges = <0x48302100 0x48302100 0x80 0x48302180 0x48302180 0x80 0x48302200 0x48302200 0x80>;
linux,phandle = <0x43>;
phandle = <0x43>;

ecap@48302100 {
compatible = "ti,am33xx-ecap";
#pwm-cells = <0x3>;
reg = <0x48302100 0x80>;
ti,hwmods = "ecap1";
status = "disabled";
linux,phandle = <0x44>;
phandle = <0x44>;
};

ehrpwm@48302200 {
compatible = "ti,am33xx-ehrpwm";
#pwm-cells = <0x3>;
reg = <0x48302200 0x80>;
ti,hwmods = "ehrpwm1";
status = "disabled";
linux,phandle = <0x45>;
phandle = <0x45>;
};

eqep@0x48302180 {
compatible = "ti,am33xx-eqep";
reg = <0x48302180 0x80>;
interrupt-parent = <0x1>;
interrupts = <0x58>;
ti,hwmods = "eqep1";
status = "disabled";
linux,phandle = <0x46>;
phandle = <0x46>;
};
};

epwmss@48304000 {
compatible = "ti,am33xx-pwmss";
reg = <0x48304000 0x10>;
ti,hwmods = "epwmss2";
#address-cells = <0x1>;
#size-cells = <0x1>;
status = "disabled";
ranges = <0x48304100 0x48304100 0x80 0x48304180 0x48304180 0x80 0x48304200 0x48304200 0x80>;
linux,phandle = <0x47>;
phandle = <0x47>;

ecap@48304100 {
compatible = "ti,am33xx-ecap";
#pwm-cells = <0x3>;
reg = <0x48304100 0x80>;
ti,hwmods = "ecap2";
status = "disabled";
linux,phandle = <0x48>;
phandle = <0x48>;
};

ehrpwm@48304200 {
compatible = "ti,am33xx-ehrpwm";
#pwm-cells = <0x3>;
reg = <0x48304200 0x80>;
ti,hwmods = "ehrpwm2";
status = "disabled";
linux,phandle = <0x49>;
phandle = <0x49>;
};

eqep@0x48304180 {
compatible = "ti,am33xx-eqep";
reg = <0x48304180 0x80>;
interrupt-parent = <0x1>;
interrupts = <0x59>;
ti,hwmods = "eqep2";
status = "disabled";
linux,phandle = <0x4a>;
phandle = <0x4a>;
};
};

sham@53100000 {
compatible = "ti,omap4-sham";
ti,hwmods = "sham";
#address-cells = <0x1>;
#size-cells = <0x0>;
reg = <0x53100000 0x200>;
interrupt-parent = <0x1>;
interrupts = <0x6d>;
dmas = <0x8 0x24>;
dma-names = "rx";
status = "okay";
linux,phandle = <0x4b>;
phandle = <0x4b>;
};

aes@53500000 {
compatible = "ti,omap4-aes";
ti,hwmods = "aes";
#address-cells = <0x1>;
#size-cells = <0x0>;
reg = <0x53500000 0xa0>;
interrupt-parent = <0x1>;
interrupts = <0x66>;
dmas = <0x8 0x6 0x8 0x5>;
dma-names = "tx", "rx";
status = "okay";
linux,phandle = <0x4c>;
phandle = <0x4c>;
};

mcasp@48038000 {
compatible = "ti,omap2-mcasp-audio";
#address-cells = <0x1>;
#size-cells = <0x0>;
ti,hwmods = "mcasp0";
reg = <0x48038000 0x2000>;
interrupts = <0x50 0x51>;
status = "disabled";
asp-chan-q = <0x2>;
tx-dma-offset = <0x46000000>;
rx-dma-offset = <0x46000000>;
dmas = <0x8 0x8 0x8 0x9>;
dma-names = "tx", "rx";
linux,phandle = <0x4d>;
phandle = <0x4d>;
};

mcasp@4803C000 {
compatible = "ti,omap2-mcasp-audio";
#address-cells = <0x1>;
#size-cells = <0x0>;
ti,hwmods = "mcasp1";
reg = <0x4803c000 0x2000>;
interrupts = <0x52 0x53>;
status = "disabled";
asp-chan-q = <0x2>;
tx-dma-offset = <0x46400000>;
rx-dma-offset = <0x46400000>;
dmas = <0x8 0xa 0x8 0xb>;
dma-names = "tx", "rx";
linux,phandle = <0x4e>;
phandle = <0x4e>;
};

bandgap@44e10448 {
compatible = "ti,am335x-bandgap";
reg = <0x44e10448 0x8>;
};

rng@483100000 {
compatible = "ti,omap4-rng";
ti,hwmods = "rng";
reg = <0x48310000 0x2000>;
interrupts = <0x6f>;
linux,phandle = <0x4f>;
phandle = <0x4f>;
};

gpio-leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <0x3>;

led0 {
label = "beaglebone:green:usr0";
gpios = <0x5 0x15 0x0>;
linux,default-trigger = "heartbeat";
default-state = "off";
};

led1 {
label = "beaglebone:green:usr1";
gpios = <0x5 0x16 0x0>;
linux,default-trigger = "mmc0";
default-state = "off";
};

led2 {
label = "beaglebone:green:usr2";
gpios = <0x5 0x17 0x0>;
linux,default-trigger = "cpu0";
default-state = "off";
};

led3 {
label = "beaglebone:green:usr3";
gpios = <0x5 0x18 0x0>;
default-state = "off";
linux,default-trigger = "mmc1";
};
};
};

bone_capemgr {
compatible = "ti,bone-capemgr";
status = "okay";
eeprom = <0xe>;

baseboardmaps {

board@0 {
board-name = "A335BONE";
compatible-name = "ti,beaglebone";
linux,phandle = <0x50>;
phandle = <0x50>;
};

board@1 {
board-name = "A335BNLT";
compatible-name = "ti,beaglebone-black";
linux,phandle = <0x51>;
phandle = <0x51>;
};
};

slots {

slot@0 {
eeprom = <0xf>;
};

slot@1 {
eeprom = <0x10>;
};

slot@2 {
eeprom = <0x11>;
};

slot@3 {
eeprom = <0x12>;
};

slot@5 {
ti,cape-override;
compatible = "kernel-command-line", "runtime";
board-name = "Bone-Geiger";
version = "00A0";
manufacturer = "Geiger Inc.";
part-number = "BB-BONE-GEIGER";
};

slot@7 {
ti,cape-override;
compatible = "kernel-command-line", "runtime";
board-name = "Bone-Nixie";
version = "00A0";
manufacturer = "Ranostay Industries";
part-number = "BB-BONE-NIXIE";
};

slot@8 {
ti,cape-override;
compatible = "kernel-command-line", "runtime";
board-name = "Bone-TFT";
version = "00A0";
manufacturer = "Adafruit";
part-number = "BB-BONE-TFT-01";
};

slot@9 {
ti,cape-override;
compatible = "kernel-command-line", "runtime";
board-name = "Bone-RTC";
version = "00A0";
manufacturer = "Adafruit";
part-number = "BB-BONE-RTC-01";
};

slot@10 {
ti,cape-override;
compatible = "kernel-command-line", "runtime";
board-name = "Bone-Hexy";
version = "00A0";
manufacturer = "Koen Kooi";
part-number = "BB-BONE-HEXY-01";
};

slot@11 {
ti,cape-override;
compatible = "kernel-command-line", "runtime";
board-name = "Bone-MRF24J40";
version = "00A0";
manufacturer = "Signal 11 Software";
part-number = "BB-BONE-MRF24J40";
};

slot@12 {
ti,cape-override;
compatible = "kernel-command-line", "runtime";
board-name = "BB-BONE-RS232";
version = "00A0";
manufacturer = "Adafruit";
part-number = "BB-BONE-RS232-01";
};

slot@13 {
compatible = "kernel-command-line", "runtime";
board-name = "BB-BONE-GPS";
version = "00A0";
manufacturer = "Adafruit";
part-number = "BB-BONE-GPS-01";
};

slot@100 {
ti,cape-override;
priority = <0x1>;
compatible = "ti,beaglebone-black";
board-name = "Bone-LT-eMMC-2G";
version = "00A0";
manufacturer = "Texas Instruments";
part-number = "BB-BONE-EMMC-2G";
};

slot@101 {
ti,cape-override;
priority = <0x1>;
compatible = "ti,beaglebone-black";
board-name = "Bone-Black-HDMI";
version = "00A0";
manufacturer = "Texas Instruments";
part-number = "BB-BONELT-HDMI";
};

slot@102 {
ti,cape-override;
priority = <0x2>;
compatible = "ti,beaglebone-black";
board-name = "Bone-Black-HDMIN";
version = "00A0";
manufacturer = "Texas Instruments";
part-number = "BB-BONELT-HDMIN";
};
};

capemaps {

cape@0 {
part-number = "BB-BONE-DVID-01";

version@00A0 {
version = "00A0";
dtbo = "cape-bone-dvi-00A0.dtbo";
};

version@00A1 {
version = "00A1", "01";
dtbo = "cape-bone-dvi-00A1.dtbo";
};

version@00A2 {
version = "00A2", "A2";
dtbo = "cape-bone-dvi-00A2.dtbo";
};

version@00A3 {
version = "00A3";
dtbo = "cape-bone-dvi-00A2.dtbo";
};
};

cape@1 {
part-number = "BB-BONE-EMMC-2G";

version@00A0 {
version = "00A0";
dtbo = "cape-bone-2g-emmc1.dtbo";
};
};

cape@2 {
part-number = "BB-BONE-GEIGER";

version@00A0 {
version = "00A0";
dtbo = "cape-bone-geiger-00A0.dtbo";
};
};

cape@3 {
part-number = "BB-BONE-LCD3-01";

version@00A0 {
version = "00A0";
dtbo = "cape-bone-lcd3-00A0.dtbo";
};

version@00A2 {
version = "00A2";
dtbo = "cape-bone-lcd3-00A2.dtbo";
};
};

cape@4 {
part-number = "BB-BONE-WTHR-01";

version@00A0 {
version = "00A0";
dtbo = "cape-bone-weather-00A0.dtbo";
};

version@00B0 {
version = "00B0";
dtbo = "cape-bone-weather-00B0.dtbo";
};
};

cape@5 {
part-number = "BB-BONELT-HDMI";

version@00A0 {
version = "00A0";
dtbo = "cape-boneblack-hdmi-00A0.dtbo";
};
};

cape@6 {
part-number = "BB-BONE-NIXIE";

version@00A0 {
version = "00A0";
dtbo = "cape-bone-nixie-00A0.dtbo";
};
};

cape@7 {
part-number = "BB-BONE-TFT-01";

version@00A0 {
version = "00A0";
dtbo = "cape-bone-adafruit-lcd-00A0.dtbo";
};
};

cape@8 {
part-number = "BB-BONE-RTC-01";

version@00A0 {
version = "00A0";
dtbo = "BB-BONE-RTC-00A0.dtbo";
};
};

cape@9 {
part-number = "BB-BONE-HEXY-01";

version@00A0 {
version = "00A0";
dtbo = "cape-bone-hexy-00A0.dtbo";
};
};

cape@10 {
part-number = "BB-BONE-MRF24J40";

version@00A0 {
version = "00A0";
dtbo = "cape-bone-mrf24j40-00A0.dtbo";
};
};

cape@11 {
part-number = "BB-BONE-EXPTEST";

version@00A0 {
version = "00A0";
dtbo = "cape-bone-exptest-00A0.dtbo";
};
};

cape@12 {
part-number = "BB-BONE-RS232-01";

version@00A0 {
version = "00A0";
dtbo = "BB-BONE-RS232-00A0.dtbo";
};
};

cape@13 {
part-number = "BB-BONE-GPS-01";

version@00A0 {
version = "00A0";
dtbo = "BB-BONE-GPS-00A0.dtbo";
};
};

cape@14 {
part-number = "BB-BONELT-HDMIN";

version@00A0 {
version = "00A0";
dtbo = "cape-boneblack-hdmin-00A0.dtbo";
};
};

cape@15 {
part-number = "2191";

version@R2 {
version = "R2";
dtbo = "cape-bebopr-R2.dtbo";
};
};

cape@16 {
part-number = "BB-BONE-LOGIBONE";

version@00R1 {
version = "00R1";
dtbo = "BB-BONE-LOGIBONE-00R1.dtbo";
};
};
};
};

fixedregulator@0 {
compatible = "regulator-fixed";
regulator-name = "vmmcsd_fixed";
regulator-min-microvolt = <0x325aa0>;
regulator-max-microvolt = <0x325aa0>;
linux,phandle = <0xb>;
phandle = <0xb>;
};

__symbols__ {
cpu = "/cpus/cpu@0";
am33xx_pinmux = "/pinmux@44e10800";
userled_pins = "/pinmux@44e10800/pinmux_userled_pins";
i2c0_pins = "/pinmux@44e10800/pinmux_i2c0_pins";
i2c2_pins = "/pinmux@44e10800/pinmux_i2c2_pins";
mmc1_pins = "/pinmux@44e10800/pinmux_mmc1_pins";
rstctl_pins = "/pinmux@44e10800/pinmux_rstctl_pins";
ocp = "/ocp";
intc = "/ocp/interrupt-controller@48200000";
edma = "/ocp/edma@49000000";
gpio1 = "/ocp/gpio@44e07000";
gpio2 = "/ocp/gpio@4804c000";
gpio3 = "/ocp/gpio@481ac000";
gpio4 = "/ocp/gpio@481ae000";
rstctl = "/ocp/rstctl@0";
uart1 = "/ocp/serial@44e09000";
uart2 = "/ocp/serial@48022000";
uart3 = "/ocp/serial@48024000";
uart4 = "/ocp/serial@481a6000";
uart5 = "/ocp/serial@481a8000";
uart6 = "/ocp/serial@481aa000";
i2c0 = "/ocp/i2c@44e0b000";
tps = "/ocp/i2c@44e0b000/tps@24";
dcdc1_reg = "/ocp/i2c@44e0b000/tps@24/regulators/regulator@0";
dcdc2_reg = "/ocp/i2c@44e0b000/tps@24/regulators/regulator@1";
dcdc3_reg = "/ocp/i2c@44e0b000/tps@24/regulators/regulator@2";
ldo1_reg = "/ocp/i2c@44e0b000/tps@24/regulators/regulator@3";
ldo2_reg = "/ocp/i2c@44e0b000/tps@24/regulators/regulator@4";
ldo3_reg = "/ocp/i2c@44e0b000/tps@24/regulators/regulator@5";
ldo4_reg = "/ocp/i2c@44e0b000/tps@24/regulators/regulator@6";
baseboard_eeprom = "/ocp/i2c@44e0b000/baseboard_eeprom@50";
i2c1 = "/ocp/i2c@4802a000";
i2c2 = "/ocp/i2c@4819c000";
cape_eeprom0 = "/ocp/i2c@4819c000/cape_eeprom0@54";
cape_eeprom1 = "/ocp/i2c@4819c000/cape_eeprom1@55";
cape_eeprom2 = "/ocp/i2c@4819c000/cape_eeprom2@56";
cape_eeprom3 = "/ocp/i2c@4819c000/cape_eeprom3@57";
mmc1 = "/ocp/mmc@48060000";
mmc2 = "/ocp/mmc@481d8000";
mmc3 = "/ocp/mmc@47810000";
wdt2 = "/ocp/wdt@44e35000";
dcan0 = "/ocp/d_can@481cc000";
dcan1 = "/ocp/d_can@481d0000";
timer1 = "/ocp/timer@44e31000";
timer2 = "/ocp/timer@48040000";
timer3 = "/ocp/timer@48042000";
timer4 = "/ocp/timer@48044000";
timer5 = "/ocp/timer@48046000";
timer6 = "/ocp/timer@48048000";
timer7 = "/ocp/timer@4804a000";
pruss = "/ocp/pruss@4a300000";
spi0 = "/ocp/spi@48030000";
spi1 = "/ocp/spi@481a0000";
gpmc = "/ocp/gpmc@50000000";
usb_otg_hs = "/ocp/usb@47400000";
mac = "/ocp/ethernet@4a100000";
davinci_mdio = "/ocp/ethernet@4a100000/mdio@4a101000";
cpsw_emac0 = "/ocp/ethernet@4a100000/slave@4a100200";
cpsw_emac1 = "/ocp/ethernet@4a100000/slave@4a100300";
tscadc = "/ocp/tscadc@44e0d000";
lcdc = "/ocp/lcdc@4830e000";
epwmss0 = "/ocp/epwmss@48300000";
ecap0 = "/ocp/epwmss@48300000/ecap@48300100";
ehrpwm0 = "/ocp/epwmss@48300000/ehrpwm@48300200";
eqep0 = "/ocp/epwmss@48300000/eqep@0x48300180";
epwmss1 = "/ocp/epwmss@48302000";
ecap1 = "/ocp/epwmss@48302000/ecap@48302100";
ehrpwm1 = "/ocp/epwmss@48302000/ehrpwm@48302200";
eqep1 = "/ocp/epwmss@48302000/eqep@0x48302180";
epwmss2 = "/ocp/epwmss@48304000";
ecap2 = "/ocp/epwmss@48304000/ecap@48304100";
ehrpwm2 = "/ocp/epwmss@48304000/ehrpwm@48304200";
eqep2 = "/ocp/epwmss@48304000/eqep@0x48304180";
sham = "/ocp/sham@53100000";
aes = "/ocp/aes@53500000";
mcasp0 = "/ocp/mcasp@48038000";
mcasp1 = "/ocp/mcasp@4803C000";
rng = "/ocp/rng@483100000";
baseboard_beaglebone = "/bone_capemgr/baseboardmaps/board@0";
baseboard_beaglebone_black = "/bone_capemgr/baseboardmaps/board@1";
vmmcsd_fixed = "/fixedregulator@0";
};
};
')

I got this from /boot/dtbs in dtb file format and decompile it back to dts so that I can check the content of this file.
Then delete everything related to hdmi/hdmin, doesn't work.

I can see a lot of hints from you to further explore how the whole thing relate to each other and the change/progress over the kernel version.
ochono
 
Posts: 3
Joined: Thu Feb 22, 2018 6:28 am

Next

Return to Texas Instruments (TI)

Who is online

Users browsing this forum: No registered users and 4 guests