On Fri, Jan 16, 2015 at 2:57 PM, Jim Giles <gdwo...@gmail.com> wrote: > (I also posted to the Beaglebone Group; please advise which group is more > appropriate) > > Hello, > > I'm trying to create a .dts file for a design based on the BBB, but using > the am3352b-zce60 pinout. I'm confused about how to reference several of > the devices in the Device Tree, and what "ti,hwmods" is used for. > > I'm using the following files for reference (from linux-stable, and from Dr. > Molloy's "Exploring Beaglebone" book/chp06/deviceTree/DTSource3.8.13): > > - am33xx.dtsi > - am335x-bone-common.dtsi > - am335x-boneblack.dts > > 1. Why the off-by-1 enumeration between the node name and the ti,hwmods > property for some of the devices? Examples: > > i2c2: i2c@4819c000 { /* i2c2 node name, but > ti,hwmods = "i2c3" > compatible = "ti,omap4-i2c"; > #address-cells = <1>; > #size-cells = <0>; > ti,hwmods = "i2c3"; /* TODO: Fix hwmod > */ > reg = <0x4819c000 0x1000>; > interrupts = <30>; > status = "disabled"; > }; > > In Dr. Molloy's version (3.8.13), this has been resolved for some devices; > in linux-stable (am33xx.dtsi), it hasn't: > > uart1: serial@44e09000 { /* uart1 node name matches > ti,hwmods */ > compatible = "ti,omap3-uart"; > ti,hwmods = "uart1"; > <<<<<<<<<<<<<<<<<<<<<<<< > clock-frequency = <48000000>; > reg = <0x44e09000 0x2000>; > interrupts = <72>; > status = "disabled"; > }; > > In linux-stable, here's the corresponding entry in am33xx.dtsi: > uart1: serial@48022000 { /* uart1 node name, but > ti,hwmods = "uart2 */ > compatible = "ti,omap3-uart"; > ti,hwmods = "uart2"; <<<<<<<<<<<<<<<<<<<<< > clock-frequency = <48000000>; > reg = <0x48022000 0x2000>; > interrupts = <73>; > status = "disabled"; > }; > > 2. This also seems to be the case for the mmcs, where mmc0 isn't explicitly > defined, but &mmc2 maps to the emmc. Example: > > - mmc0 is referenced explicitly in linux-stable (am335x-bone-common.dtsi) > for mapping the LEDs, but nowhere else. > - How is the reference to mmc0 resolved, given that mmc references in > am33xx.dtsi start at 1? (mmc1, mmc2, mmc3)
btw, don't use 3.8.x as the "set" in stone naming.. A few things such as the gpio where mis-numbered and later corrected in mainline. That aside.. In kernel land, most devices start with xyz0 where as "marketing" people call this xyz1, i guess it's hard to sell something to a customer labeled as xyz0.. https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/am33xx.dtsi Regards, -- Robert Nelson http://www.rcn-ee.com/ -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.