* use of fsl, in lite5200b.dts in git current @ 2007-11-07 21:55 Jon Smirl 2007-11-07 22:17 ` Matt Sealey 0 siblings, 1 reply; 22+ messages in thread From: Jon Smirl @ 2007-11-07 21:55 UTC (permalink / raw) To: linuxppc-embedded Sometimes the fsl prefix is being used and sometimes it isn't. Look at the two compatible strings. Which way is it going to be? Is fsl,has-wdt right? mpc5200_pic: pic@500 { // 5200 interrupts are encoded into two levels; interrupt-controller; #interrupt-cells = <3>; device_type = "interrupt-controller"; compatible = "mpc5200b-pic","mpc5200-pic"; reg = <500 80>; }; gpt@600 { // General Purpose Timer compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; cell-index = <0>; reg = <600 10>; interrupts = <1 9 0>; interrupt-parent = <&mpc5200_pic>; fsl,has-wdt; }; rtc@800 { // Real time clock compatible = "mpc5200b-rtc","mpc5200-rtc"; device_type = "rtc"; reg = <800 100>; interrupts = <1 5 0 1 6 0>; interrupt-parent = <&mpc5200_pic>; }; -- Jon Smirl jonsmirl@gmail.com ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: use of fsl, in lite5200b.dts in git current 2007-11-07 21:55 use of fsl, in lite5200b.dts in git current Jon Smirl @ 2007-11-07 22:17 ` Matt Sealey 2007-11-07 22:18 ` Jon Smirl 2007-11-07 22:21 ` Jon Smirl 0 siblings, 2 replies; 22+ messages in thread From: Matt Sealey @ 2007-11-07 22:17 UTC (permalink / raw) To: Jon Smirl; +Cc: linuxppc-embedded Jon Smirl wrote: > Sometimes the fsl prefix is being used and sometimes it isn't. Look at > the two compatible strings. Which way is it going to be? Is > fsl,has-wdt right? fsl,has-wdt is right, at least since someone changed it. -- Matt Sealey <matt@genesi-usa.com> Genesi, Manager, Developer Relations ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: use of fsl, in lite5200b.dts in git current 2007-11-07 22:17 ` Matt Sealey @ 2007-11-07 22:18 ` Jon Smirl 2007-11-08 20:40 ` Jon Smirl 2007-11-07 22:21 ` Jon Smirl 1 sibling, 1 reply; 22+ messages in thread From: Jon Smirl @ 2007-11-07 22:18 UTC (permalink / raw) To: Matt Sealey; +Cc: linuxppc-embedded On 11/7/07, Matt Sealey <matt@genesi-usa.com> wrote: > Jon Smirl wrote: > > Sometimes the fsl prefix is being used and sometimes it isn't. Look at > > the two compatible strings. Which way is it going to be? Is > > fsl,has-wdt right? > > fsl,has-wdt is right, at least since someone changed it. What's the story with compatible? I would think the gdt entries are wrong. gpt@600 { // General Purpose Timer compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; code in drivers/watchdog/mpc5200_wdt.c would need to be changed to. drivers/watchdog/mpc5200_wdt.c: { .compatible = "fsl,mpc5200-gpt", }, -- Jon Smirl jonsmirl@gmail.com ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: use of fsl, in lite5200b.dts in git current 2007-11-07 22:18 ` Jon Smirl @ 2007-11-08 20:40 ` Jon Smirl 2007-11-08 20:47 ` Scott Wood 2007-11-08 20:50 ` Grant Likely 0 siblings, 2 replies; 22+ messages in thread From: Jon Smirl @ 2007-11-08 20:40 UTC (permalink / raw) To: Matt Sealey; +Cc: linuxppc-embedded No one has answered this yet. It makes no sense at all to mix use of the vendor prefix on some compatible entries and not on others. The syntax of compatible entries needs to be consistent. On 11/7/07, Jon Smirl <jonsmirl@gmail.com> wrote: > On 11/7/07, Matt Sealey <matt@genesi-usa.com> wrote: > > Jon Smirl wrote: > > > Sometimes the fsl prefix is being used and sometimes it isn't. Look at > > > the two compatible strings. Which way is it going to be? Is > > > fsl,has-wdt right? > > > > fsl,has-wdt is right, at least since someone changed it. > > What's the story with compatible? > I would think the gdt entries are wrong. > > gpt@600 { // General Purpose Timer > compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; > > code in drivers/watchdog/mpc5200_wdt.c would need to be changed to. > > drivers/watchdog/mpc5200_wdt.c: { .compatible = "fsl,mpc5200-gpt", }, > > -- > Jon Smirl > jonsmirl@gmail.com > -- Jon Smirl jonsmirl@gmail.com ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: use of fsl, in lite5200b.dts in git current 2007-11-08 20:40 ` Jon Smirl @ 2007-11-08 20:47 ` Scott Wood 2007-11-08 20:51 ` Jon Smirl 2007-11-08 20:50 ` Grant Likely 1 sibling, 1 reply; 22+ messages in thread From: Scott Wood @ 2007-11-08 20:47 UTC (permalink / raw) To: Jon Smirl; +Cc: linuxppc-embedded Jon Smirl wrote: > No one has answered this yet. It makes no sense at all to mix use of > the vendor prefix on some compatible entries and not on others. The > syntax of compatible entries needs to be consistent. Right, the vendor prefix should always be used. Not all of the existing trees are perfect, however, so sometimes the code needs to stay compatible, especially when the device tree is difficult to change. -Scott ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: use of fsl, in lite5200b.dts in git current 2007-11-08 20:47 ` Scott Wood @ 2007-11-08 20:51 ` Jon Smirl 2007-11-08 20:56 ` Scott Wood 0 siblings, 1 reply; 22+ messages in thread From: Jon Smirl @ 2007-11-08 20:51 UTC (permalink / raw) To: Scott Wood; +Cc: linuxppc-embedded On 11/8/07, Scott Wood <scottwood@freescale.com> wrote: > Jon Smirl wrote: > > No one has answered this yet. It makes no sense at all to mix use of > > the vendor prefix on some compatible entries and not on others. The > > syntax of compatible entries needs to be consistent. > > Right, the vendor prefix should always be used. Not all of the existing > trees are perfect, however, so sometimes the code needs to stay > compatible, especially when the device tree is difficult to change. A bunch of patches are going to have to go into the kernel. Code expecting tree attributes without vendor prefixes is all over the kernel. All of the dts file need to be patched up, etc. As far as I know the only dts using vendor prefixes in the compatible attributes is 5200lite one for the gpt entries. Everything else will need to be changed. > > -Scott > -- Jon Smirl jonsmirl@gmail.com ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: use of fsl, in lite5200b.dts in git current 2007-11-08 20:51 ` Jon Smirl @ 2007-11-08 20:56 ` Scott Wood 2007-11-08 21:53 ` Jon Smirl 0 siblings, 1 reply; 22+ messages in thread From: Scott Wood @ 2007-11-08 20:56 UTC (permalink / raw) To: Jon Smirl; +Cc: linuxppc-embedded Jon Smirl wrote: > On 11/8/07, Scott Wood <scottwood@freescale.com> wrote: >> Jon Smirl wrote: >>> No one has answered this yet. It makes no sense at all to mix use of >>> the vendor prefix on some compatible entries and not on others. The >>> syntax of compatible entries needs to be consistent. >> Right, the vendor prefix should always be used. Not all of the existing >> trees are perfect, however, so sometimes the code needs to stay >> compatible, especially when the device tree is difficult to change. > > A bunch of patches are going to have to go into the kernel. Code > expecting tree attributes without vendor prefixes is all over the > kernel. It's just nonstandard properties that need it, not all of them. > All of the dts file need to be patched up, etc. I don't think *all* the dts files have problems... > As far as I know the only dts using vendor prefixes in the compatible > attributes is 5200lite one for the gpt entries. Everything else will > need to be changed. Look a little harder. Many of the Freescale boards/devices do it right -- and yes, we need to fix the ones that don't. -Scott ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: use of fsl, in lite5200b.dts in git current 2007-11-08 20:56 ` Scott Wood @ 2007-11-08 21:53 ` Jon Smirl 2007-11-08 22:03 ` Scott Wood 0 siblings, 1 reply; 22+ messages in thread From: Jon Smirl @ 2007-11-08 21:53 UTC (permalink / raw) To: Scott Wood; +Cc: linuxppc-embedded On 11/8/07, Scott Wood <scottwood@freescale.com> wrote: > > As far as I know the only dts using vendor prefixes in the compatible > > attributes is 5200lite one for the gpt entries. Everything else will > > need to be changed. > > Look a little harder. Many of the Freescale boards/devices do it right > -- and yes, we need to fix the ones that don't. I see that there are quite a few with the ibm prefix. But by eyeballing grep output it looks like several hundred attributes need to be fixed. Code referencing these will need to be fixed too. If lite5200 hadn't mixed half prefixed and half not prefixed I never would have started looking at this. Let's make up our minds in the lite5200 dts so that I can sync up my development hardware. -- Jon Smirl jonsmirl@gmail.com ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: use of fsl, in lite5200b.dts in git current 2007-11-08 21:53 ` Jon Smirl @ 2007-11-08 22:03 ` Scott Wood 2007-11-08 22:17 ` Jon Smirl 0 siblings, 1 reply; 22+ messages in thread From: Scott Wood @ 2007-11-08 22:03 UTC (permalink / raw) To: Jon Smirl; +Cc: linuxppc-embedded Jon Smirl wrote: > On 11/8/07, Scott Wood <scottwood@freescale.com> wrote: >>> As far as I know the only dts using vendor prefixes in the compatible >>> attributes is 5200lite one for the gpt entries. Everything else will >>> need to be changed. >> Look a little harder. Many of the Freescale boards/devices do it right >> -- and yes, we need to fix the ones that don't. > > I see that there are quite a few with the ibm prefix. But by > eyeballing grep output it looks like several hundred attributes need > to be fixed. Code referencing these will need to be fixed too. Several hundred? I don't think there are several hundred unique property names or compatible entries in arch/powerpc/boot/dts *total*, much less that need fixing. The main ones in fsl-land that I can think of are gianfar, i2c, talitos, QE, USB, tsi108, watchdog, SPI, and IPIC. CPM1 and CPM2 devices, PCI, 85xx memory/cache controllers, and 85xx global utilities have the prefix. For the most part, we've been adding prefixes whenever we have any other reason to touch the binding. > If lite5200 hadn't mixed half prefixed and half not prefixed I never > would have started looking at this. > > Let's make up our minds in the lite5200 dts so that I can sync up my > development hardware. Patches are welcome. :-) -Scott ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: use of fsl, in lite5200b.dts in git current 2007-11-08 22:03 ` Scott Wood @ 2007-11-08 22:17 ` Jon Smirl 2007-11-08 22:30 ` Scott Wood 0 siblings, 1 reply; 22+ messages in thread From: Jon Smirl @ 2007-11-08 22:17 UTC (permalink / raw) To: Scott Wood; +Cc: linuxppc-embedded On 11/8/07, Scott Wood <scottwood@freescale.com> wrote: > Jon Smirl wrote: > > On 11/8/07, Scott Wood <scottwood@freescale.com> wrote: > >>> As far as I know the only dts using vendor prefixes in the compatible > >>> attributes is 5200lite one for the gpt entries. Everything else will > >>> need to be changed. > >> Look a little harder. Many of the Freescale boards/devices do it right > >> -- and yes, we need to fix the ones that don't. > > > > I see that there are quite a few with the ibm prefix. But by > > eyeballing grep output it looks like several hundred attributes need > > to be fixed. Code referencing these will need to be fixed too. > > Several hundred? I don't think there are several hundred unique > property names or compatible entries in arch/powerpc/boot/dts *total*, There are 601 'compatible' attributes in the directory. > much less that need fixing. The main ones in fsl-land that I can think > of are gianfar, i2c, talitos, QE, USB, tsi108, watchdog, SPI, and IPIC. > > CPM1 and CPM2 devices, PCI, 85xx memory/cache controllers, and 85xx > global utilities have the prefix. > > For the most part, we've been adding prefixes whenever we have any other > reason to touch the binding. > > > If lite5200 hadn't mixed half prefixed and half not prefixed I never > > would have started looking at this. > > > > Let's make up our minds in the lite5200 dts so that I can sync up my > > development hardware. > > Patches are welcome. :-) > > -Scott > -- Jon Smirl jonsmirl@gmail.com ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: use of fsl, in lite5200b.dts in git current 2007-11-08 22:17 ` Jon Smirl @ 2007-11-08 22:30 ` Scott Wood 0 siblings, 0 replies; 22+ messages in thread From: Scott Wood @ 2007-11-08 22:30 UTC (permalink / raw) To: Jon Smirl; +Cc: linuxppc-embedded Jon Smirl wrote: > On 11/8/07, Scott Wood <scottwood@freescale.com> wrote: >> Several hundred? I don't think there are several hundred unique >> property names or compatible entries in arch/powerpc/boot/dts *total*, > > There are 601 'compatible' attributes in the directory. I said "unique". And there do appear to be a couple hundred of those, though if I omit those containing vendor prefixes, it drops to under a hundred. A big chunk of *those* are 5200-related. :-) -Scott ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: use of fsl, in lite5200b.dts in git current 2007-11-08 20:40 ` Jon Smirl 2007-11-08 20:47 ` Scott Wood @ 2007-11-08 20:50 ` Grant Likely 1 sibling, 0 replies; 22+ messages in thread From: Grant Likely @ 2007-11-08 20:50 UTC (permalink / raw) To: Jon Smirl; +Cc: linuxppc-embedded On 11/8/07, Jon Smirl <jonsmirl@gmail.com> wrote: > No one has answered this yet. It makes no sense at all to mix use of > the vendor prefix on some compatible entries and not on others. The > syntax of compatible entries needs to be consistent. The 5200 binding is poorly done on this point. I've got a patch that adds the 'fsl,' prefix so that future 5200 device trees are consistent with the recommended practices (while not breaking older boards of course) g. -- Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. grant.likely@secretlab.ca (403) 399-0195 ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: use of fsl, in lite5200b.dts in git current 2007-11-07 22:17 ` Matt Sealey 2007-11-07 22:18 ` Jon Smirl @ 2007-11-07 22:21 ` Jon Smirl 2007-11-08 0:30 ` Matt Sealey 1 sibling, 1 reply; 22+ messages in thread From: Jon Smirl @ 2007-11-07 22:21 UTC (permalink / raw) To: Matt Sealey; +Cc: linuxppc-embedded I'm not in favor of all these fsl prefixes. These chip families do get sold. What would we have done with intel,pxa320 all over the place when they sold it to marvell? mass changes to marvell,pxa320? The mpc/pxa parts numbers don't get changes when chip families get sold. -- Jon Smirl jonsmirl@gmail.com ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: use of fsl, in lite5200b.dts in git current 2007-11-07 22:21 ` Jon Smirl @ 2007-11-08 0:30 ` Matt Sealey 2007-11-08 2:15 ` Jon Smirl 2007-11-08 3:14 ` Grant Likely 0 siblings, 2 replies; 22+ messages in thread From: Matt Sealey @ 2007-11-08 0:30 UTC (permalink / raw) To: Jon Smirl; +Cc: linuxppc-embedded Jon Smirl wrote: > I'm not in favor of all these fsl prefixes. These chip families do get > sold. What would we have done with intel,pxa320 all over the place > when they sold it to marvell? mass changes to marvell,pxa320? That's the idea, and there'd be a compatible entry for intel,pxa320. Actually the spec says you should use the stock ticker (IBM, FSL, INTC, JAVA, MRVL) if they have one and if not, the company name in lower case. Freescale are a funny one because they used to have a stock ticker as MOT and then FSL but now they're privately owned, so it's gonna have to be lower case :] It's just to seperate out the fact that sometimes you get chips with very similar or identical names, or to mark out vendor-specific functionality. fsl,has-wdt differs from has-wdt ideally because Freescale watchdog timers aren't the same as other watchdog timers - the term is pretty pliable, Freescale's GPT on the MPC52xx isn't always a watchdog (it can be a normal, non-watchdog timer too..) > The mpc/pxa parts numbers don't get changes when chip families get sold. There is a case that between selling chips, some of them get updated or bugfixed, and you can tell which one you have by the name. There has to be some standardisation on the first implementation of the device tree for the chip, otherwise the chopping and changing gets rather tedious. I'm sure you can see why we don't release firmware updates every time some Linux guy changes some lousy, hacky tree definition for yet another 6 times a year, until it finally stabilises and the product is usually discontinued anyway :D However in the current situation it just means you need to flash new FDT blobs to your U-Boots which are more clean, and keep your kernel in sync, because Linux only handles what it currently thinks is the standard. The real loser is the real Open Firmware implementation, but nobody seems to think about that, the device trees on OF devices get more cluttered.. -- Matt Sealey <matt@genesi-usa.com> Genesi, Manager, Developer Relations ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: use of fsl, in lite5200b.dts in git current 2007-11-08 0:30 ` Matt Sealey @ 2007-11-08 2:15 ` Jon Smirl 2007-11-08 16:28 ` Scott Wood 2007-11-08 3:14 ` Grant Likely 1 sibling, 1 reply; 22+ messages in thread From: Jon Smirl @ 2007-11-08 2:15 UTC (permalink / raw) To: Matt Sealey; +Cc: linuxppc-embedded On 11/7/07, Matt Sealey <matt@genesi-usa.com> wrote: > Jon Smirl wrote: > > I'm not in favor of all these fsl prefixes. These chip families do get > > sold. What would we have done with intel,pxa320 all over the place > > when they sold it to marvell? mass changes to marvell,pxa320? > > That's the idea, and there'd be a compatible entry for intel,pxa320. The vendor part really isn't needed and it is going to be a source of trouble. The vendors are smart enough not to create two chips with the same part number. Adding a vendor qualifier complicates things needlessly. > > Actually the spec says you should use the stock ticker (IBM, FSL, INTC, > JAVA, MRVL) if they have one and if not, the company name in lower case. > > Freescale are a funny one because they used to have a stock ticker as > MOT and then FSL but now they're privately owned, so it's gonna have to > be lower case :] Another example of how these vendor prefixes can change. The chip numbers are never going to change. Just use them and drop these vendor prefixes. > It's just to separate out the fact that sometimes you get chips with > very similar or identical names, or to mark out vendor-specific You don't get chips with identical names. If they had identical names you couldn't order them from a distributor. Similar yes, identical no. > functionality. fsl,has-wdt differs from has-wdt ideally because This one I can buy, but it should be fsl-has-wdt. Drop the vendor prefixes. > Freescale watchdog timers aren't the same as other watchdog timers - > the term is pretty pliable, Freescale's GPT on the MPC52xx isn't > always a watchdog (it can be a normal, non-watchdog timer too..) > > > The mpc/pxa parts numbers don't get changes when chip families get sold. > > There is a case that between selling chips, some of them get updated > or bug fixed, and you can tell which one you have by the name. You can always tell which one you have. The vendors add suffixes to the part numbers so that you can identify the steppings. > > There has to be some standardization on the first implementation of > the device tree for the chip, otherwise the chopping and changing > gets rather tedious. > > I'm sure you can see why we don't release firmware updates every time > some Linux guy changes some lousy, hacky tree definition for yet another > 6 times a year, until it finally stabilizes and the product is usually > discontinued anyway :D That's life in the Linux world, no backwards binary compatibility. I'm in favor of the model since we can fix things until with get the right instead of piling hacks upon hacks trying to keep ancient, broken interfaces working (I used to work on the Windows kernel. it is major ugly). > However in the current situation it just means you need to flash new > FDT blobs to your U-Boots which are more clean, and keep your kernel > in sync, because Linux only handles what it currently thinks is the > standard. > > The real loser is the real Open Firmware implementation, but nobody > seems to think about that, the device trees on OF devices get more > cluttered. Open Firmware lost when it initially came out closed source and people charged for it. uBoot/redboot/etc took the market because they were open and free. If Open Firmware had been a free implementation from day one things would have ended up differently. -- Jon Smirl jonsmirl@gmail.com ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: use of fsl, in lite5200b.dts in git current 2007-11-08 2:15 ` Jon Smirl @ 2007-11-08 16:28 ` Scott Wood 2007-11-08 17:04 ` Jon Smirl 0 siblings, 1 reply; 22+ messages in thread From: Scott Wood @ 2007-11-08 16:28 UTC (permalink / raw) To: Jon Smirl; +Cc: linuxppc-embedded Jon Smirl wrote: > On 11/7/07, Matt Sealey <matt@genesi-usa.com> wrote: >> Jon Smirl wrote: >>> I'm not in favor of all these fsl prefixes. These chip families >>> do get sold. What would we have done with intel,pxa320 all over >>> the place when they sold it to marvell? mass changes to >>> marvell,pxa320? >> That's the idea, and there'd be a compatible entry for >> intel,pxa320. > > The vendor part really isn't needed and it is going to be a source of > trouble. The vendors are smart enough not to create two chips with > the same part number. Adding a vendor qualifier complicates things > needlessly. I think you may be placing too much faith in the vendors. Is a 7400 a Freescale powerpc chip, or a quad 2-input NAND gate? :-) If you want to argue that the "MPC" part differentiates them, that's just a less readable and more obsolete vendor prefix. And not all compatible entries are part numbers; many are descriptions of programming interfaces (such as cpm2 or gianfar). I'm not inclined to bet that there will never be a conflict in such a namespace. >> Actually the spec says you should use the stock ticker (IBM, FSL, >> INTC, JAVA, MRVL) if they have one and if not, the company name in >> lower case. >> >> Freescale are a funny one because they used to have a stock ticker >> as MOT and then FSL but now they're privately owned, so it's gonna >> have to be lower case :] Well, technically the recommended prefix is an OUI number, and those are less likely to change due to corporate shuffling, but they suck from a readability perspective. > Another example of how these vendor prefixes can change. The chip > numbers are never going to change. Just use them and drop these > vendor prefixes. No. :-) >> functionality. fsl,has-wdt differs from has-wdt ideally because > > This one I can buy, but it should be fsl-has-wdt. Drop the vendor > prefixes. How is fsl-has-wdt any better, other than it obscures namespace issues? Vendor prefixes on properties are useful in that it might not mean exactly the same thing as a similar property that gets standardized later on. > That's life in the Linux world, no backwards binary compatibility. There's a huge difference between compatibility of kernel interfaces and compatibility of interfaces between the kernel and something else -- whether it be userspace or firmware. -Scott ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: use of fsl, in lite5200b.dts in git current 2007-11-08 16:28 ` Scott Wood @ 2007-11-08 17:04 ` Jon Smirl 2007-11-08 19:48 ` Matt Sealey 0 siblings, 1 reply; 22+ messages in thread From: Jon Smirl @ 2007-11-08 17:04 UTC (permalink / raw) To: Scott Wood; +Cc: linuxppc-embedded On 11/8/07, Scott Wood <scottwood@freescale.com> wrote: > Jon Smirl wrote: > > On 11/7/07, Matt Sealey <matt@genesi-usa.com> wrote: > >> Jon Smirl wrote: > >>> I'm not in favor of all these fsl prefixes. These chip families > >>> do get sold. What would we have done with intel,pxa320 all over > >>> the place when they sold it to marvell? mass changes to > >>> marvell,pxa320? > >> That's the idea, and there'd be a compatible entry for > >> intel,pxa320. > > > > The vendor part really isn't needed and it is going to be a source of > > trouble. The vendors are smart enough not to create two chips with > > the same part number. Adding a vendor qualifier complicates things > > needlessly. > > I think you may be placing too much faith in the vendors. > Is a 7400 a Freescale powerpc chip, or a quad 2-input NAND gate? :-) There has to be more to the part number for the Freescale powerpc chip than just 7400. 7400 is a shorthand name, it is not an orderable part number. > If you want to argue that the "MPC" part differentiates them, that's > just a less readable and more obsolete vendor prefix. The MPC is what is printed on the chip. fsl is not printed there. MPC is part of the orderable part number. > > And not all compatible entries are part numbers; many are descriptions > of programming interfaces (such as cpm2 or gianfar). I'm not inclined > to bet that there will never be a conflict in such a namespace. > > >> Actually the spec says you should use the stock ticker (IBM, FSL, > >> INTC, JAVA, MRVL) if they have one and if not, the company name in > >> lower case. > >> > >> Freescale are a funny one because they used to have a stock ticker > >> as MOT and then FSL but now they're privately owned, so it's gonna > >> have to be lower case :] > > Well, technically the recommended prefix is an OUI number, and those are > less likely to change due to corporate shuffling, but they suck from a > readability perspective. > > > Another example of how these vendor prefixes can change. The chip > > numbers are never going to change. Just use them and drop these > > vendor prefixes. > > No. :-) > > >> functionality. fsl,has-wdt differs from has-wdt ideally because > > > > This one I can buy, but it should be fsl-has-wdt. Drop the vendor > > prefixes. > > How is fsl-has-wdt any better, other than it obscures namespace issues? > > Vendor prefixes on properties are useful in that it might not mean > exactly the same thing as a similar property that gets standardized > later on. > > > That's life in the Linux world, no backwards binary compatibility. > > There's a huge difference between compatibility of kernel interfaces and > compatibility of interfaces between the kernel and something else -- > whether it be userspace or firmware. > > -Scott > > -- Jon Smirl jonsmirl@gmail.com ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: use of fsl, in lite5200b.dts in git current 2007-11-08 17:04 ` Jon Smirl @ 2007-11-08 19:48 ` Matt Sealey 2007-11-08 19:57 ` Jon Loeliger 2007-11-08 20:39 ` Jon Smirl 0 siblings, 2 replies; 22+ messages in thread From: Matt Sealey @ 2007-11-08 19:48 UTC (permalink / raw) To: Jon Smirl; +Cc: linuxppc-embedded Jon Smirl wrote: > On 11/8/07, Scott Wood <scottwood@freescale.com> wrote: > >> I think you may be placing too much faith in the vendors. >> Is a 7400 a Freescale powerpc chip, or a quad 2-input NAND gate? :-) > > There has to be more to the part number for the Freescale powerpc chip > than just 7400. 7400 is a shorthand name, it is not an orderable part number. The orderable part numbers add 3 or 4 characters to the front and about 8 after. There is a difference between MPC7400 and PPC7400, and the low voltage versions, and the different clock speeds. Orderable part number for a recent G4 might be PPC7448B1333NL - this is a ridiculous amount of specificity in a device tree, and it also does not match the datasheet (MPC7448 is the name of the chip). What people usually do is use what's in the datasheet. >> If you want to argue that the "MPC" part differentiates them, that's >> just a less readable and more obsolete vendor prefix. > > The MPC is what is printed on the chip. fsl is not printed there. MPC > is part of the orderable part number. Not all of them *ahem* :) Like I said, trust the datasheet, not the number on the chip. >> Vendor prefixes on properties are useful in that it might not mean >> exactly the same thing as a similar property that gets standardized >> later on. >> >>> That's life in the Linux world, no backwards binary compatibility. >> There's a huge difference between compatibility of kernel interfaces and >> compatibility of interfaces between the kernel and something else -- >> whether it be userspace or firmware. Indeed, so.. at some point we should all sit down and hammer out the major issues in describing something like the MPC5121E because right now Genesi has a vested interest in that. Thanks Grant for your discussion on it, I agree of course :) One thing we don't want to go through again is the complaints we got because we named the chip node "/builtin" rather than "/soc". My fixup script is still handling that mess because you guys refused to accept it (and some drivers were coded to map from the MBAR contained in device_type soc's reg property rather than find a real device). If we could all agree on how it should be mapped out, with an example tree which shows *every damn thing available* so platform developers can pick and choose and OF developers can use it as a reference, it would make a much happier process. And then we can fix up the Efika to fit some definition of the new MPC5200 tree too. By the way while I was poking around the tree today I noticed that there is a PCI errata fixup handled by a Kconfig in there. Why? Surely this is something you check the PVR/SVR for and switch on that for a runtime solution, and not trick users with the possibility of forgetting to enable some obscure "PCI errata fix" configuration item? (CONFIG_PPC_MPC5200_BUGFIX) -- Matt Sealey <matt@genesi-usa.com> Genesi, Manager, Developer Relations ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: use of fsl, in lite5200b.dts in git current 2007-11-08 19:48 ` Matt Sealey @ 2007-11-08 19:57 ` Jon Loeliger 2007-11-10 14:09 ` Matt Sealey 2007-11-08 20:39 ` Jon Smirl 1 sibling, 1 reply; 22+ messages in thread From: Jon Loeliger @ 2007-11-08 19:57 UTC (permalink / raw) To: Matt Sealey; +Cc: linuxppc-embedded Matt Sealey wrote: > The orderable part numbers add 3 or 4 characters to the front and about > 8 after. There is a difference between MPC7400 and PPC7400, and the > low voltage versions, and the different clock speeds. Orderable part > number for a recent G4 might be PPC7448B1333NL - Yeah, part, stepping, variant, speed, etc. > this is a ridiculous > amount of specificity in a device tree, Except that some of that information _is_ specified elsewhere in other properties. Speed, for example. > and it also does not match the > datasheet (MPC7448 is the name of the chip). Because the data sheets are _soooo_ reliable. :-) > Indeed, so.. at some point we should all sit down and hammer out the > major issues in describing something like the MPC5121E because right > now Genesi has a vested interest in that. You understand that _that_ is being worked on as we, er, speak? > If we could all agree on how it should be mapped out, with an example > tree which shows *every damn thing available* so platform developers > can pick and choose and OF developers can use it as a reference, it > would make a much happier process. Right. It's being nailed down, but it is a slow, community process... > And then we can fix up the Efika to fit some definition of the new > MPC5200 tree too. *gasp* > By the way while I was poking around the tree today I noticed that > there is a PCI errata fixup handled by a Kconfig in there. Why? Happens occasionally. And other places as well. > Surely > this is something you check the PVR/SVR for and switch on that for > a runtime solution, That's not always fine-grained enough to base a decision on it. > and not trick users with the possibility of > forgetting to enable some obscure "PCI errata fix" configuration > item? (CONFIG_PPC_MPC5200_BUGFIX) It should be in the defconfig. :-) jdl ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: use of fsl, in lite5200b.dts in git current 2007-11-08 19:57 ` Jon Loeliger @ 2007-11-10 14:09 ` Matt Sealey 0 siblings, 0 replies; 22+ messages in thread From: Matt Sealey @ 2007-11-10 14:09 UTC (permalink / raw) To: Jon Loeliger; +Cc: linuxppc-embedded Jon Loeliger wrote: > Matt Sealey wrote: > >> this is a ridiculous >> amount of specificity in a device tree, > > Except that some of that information _is_ specified elsewhere in other properties. Speed, for example. Which is fine.. >> and it also does not match the >> datasheet (MPC7448 is the name of the chip). > > Because the data sheets are _soooo_ reliable. :-) Be careful or I'll start looking for the datasheets with your name on it :) >> Indeed, so.. at some point we should all sit down and hammer out the >> major issues in describing something like the MPC5121E because right >> now Genesi has a vested interest in that. > > You understand that _that_ is being worked on as we, er, speak? Yeah I've seen it, recognise your name from the top of the device tree definition, and I must say, it's not the most ideal... >> If we could all agree on how it should be mapped out, with an example >> tree which shows *every damn thing available* so platform developers >> can pick and choose and OF developers can use it as a reference, it >> would make a much happier process. > > Right. It's being nailed down, but it is a slow, community process... Why? Freescale's chip, open standards, just design it right, and tell the community they should be conforming with it. The slow community process would have had the Efika come out this month instead of this time last year if we had waited to fix the device tree to "the right way to do it". The device tree, hardware description in general, is down to the silicon vendor and ODM, and should provide description of the hardware which allows any driver (not just the ones in the BSP) to get enough information from the tree where necessary. I don't see that in the MPC5200 tree and I still don't see it in the examples of the MPC5121E tree. I also note the few users of the MPC5121E that there are outside of Freescale, aren't involved (ahem) in this process unless they join these mailing lists. You can't discuss anything on here with that chip, it's locked down by NDA, release date tenuous, feature state tenuous.. documentation is in draft/preliminary and nobody else has it. >> By the way while I was poking around the tree today I noticed that >> there is a PCI errata fixup handled by a Kconfig in there. Why? > > Happens occasionally. And other places as well. > >> Surely >> this is something you check the PVR/SVR for and switch on that for >> a runtime solution, > > That's not always fine-grained enough to base a decision on it. It is in this case isn't it? The errata states that it only appears on that particular revision. >> and not trick users with the possibility of >> forgetting to enable some obscure "PCI errata fix" configuration >> item? (CONFIG_PPC_MPC5200_BUGFIX) > > It should be in the defconfig. :-) It shouldn't be a configuration option at all in my opinion :) You either fix the bug or you don't, if you have to fix it in a generic, multi-chip (5200/5200B) API like the PCI stuff, it should be handled on a if/else basis. There's practically no benefit to having it as a configuration option and being able to compile it out, in fact.. it rather makes the whole presence of the fix more complicated (to support 5200 and 5200B you need to compile in the fix, and that means 5200B chips are implementing it when they don't need to - and you need to recompile to fix it). -- Matt Sealey <matt@genesi-usa.com> Genesi, Manager, Developer Relations ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: use of fsl, in lite5200b.dts in git current 2007-11-08 19:48 ` Matt Sealey 2007-11-08 19:57 ` Jon Loeliger @ 2007-11-08 20:39 ` Jon Smirl 1 sibling, 0 replies; 22+ messages in thread From: Jon Smirl @ 2007-11-08 20:39 UTC (permalink / raw) To: Matt Sealey; +Cc: linuxppc-embedded On 11/8/07, Matt Sealey <matt@genesi-usa.com> wrote: > Jon Smirl wrote: > > On 11/8/07, Scott Wood <scottwood@freescale.com> wrote: > > > >> I think you may be placing too much faith in the vendors. > >> Is a 7400 a Freescale powerpc chip, or a quad 2-input NAND gate? :-) > > > > There has to be more to the part number for the Freescale powerpc chip > > than just 7400. 7400 is a shorthand name, it is not an orderable part number. > > The orderable part numbers add 3 or 4 characters to the front and about > 8 after. There is a difference between MPC7400 and PPC7400, and the > low voltage versions, and the different clock speeds. Orderable part > number for a recent G4 might be PPC7448B1333NL - this is a ridiculous > amount of specificity in a device tree, and it also does not match the > datasheet (MPC7448 is the name of the chip). > > What people usually do is use what's in the datasheet. Data sheet part number is fine, you don't need all that specificity. The point is that the data sheet part number is sufficient, there is no need for a vendor prefix. And these vendor prefixes can and do end up being wrong when the chips families get sold. The datasheet part numbers are maintained when a product line is sold. > > >> If you want to argue that the "MPC" part differentiates them, that's > >> just a less readable and more obsolete vendor prefix. > > > > The MPC is what is printed on the chip. fsl is not printed there. MPC > > is part of the orderable part number. > > Not all of them *ahem* :) > > Like I said, trust the datasheet, not the number on the chip. > > >> Vendor prefixes on properties are useful in that it might not mean > >> exactly the same thing as a similar property that gets standardized > >> later on. > >> > >>> That's life in the Linux world, no backwards binary compatibility. > >> There's a huge difference between compatibility of kernel interfaces and > >> compatibility of interfaces between the kernel and something else -- > >> whether it be userspace or firmware. > > Indeed, so.. at some point we should all sit down and hammer out the > major issues in describing something like the MPC5121E because right > now Genesi has a vested interest in that. Thanks Grant for your > discussion on it, I agree of course :) > > One thing we don't want to go through again is the complaints we got > because we named the chip node "/builtin" rather than "/soc". My fixup > script is still handling that mess because you guys refused to > accept it (and some drivers were coded to map from the MBAR contained > in device_type soc's reg property rather than find a real device). > > If we could all agree on how it should be mapped out, with an example > tree which shows *every damn thing available* so platform developers > can pick and choose and OF developers can use it as a reference, it > would make a much happier process. > > And then we can fix up the Efika to fit some definition of the new > MPC5200 tree too. > > By the way while I was poking around the tree today I noticed that > there is a PCI errata fixup handled by a Kconfig in there. Why? Surely > this is something you check the PVR/SVR for and switch on that for > a runtime solution, and not trick users with the possibility of > forgetting to enable some obscure "PCI errata fix" configuration > item? (CONFIG_PPC_MPC5200_BUGFIX) > > -- > Matt Sealey <matt@genesi-usa.com> > Genesi, Manager, Developer Relations > -- Jon Smirl jonsmirl@gmail.com ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: use of fsl, in lite5200b.dts in git current 2007-11-08 0:30 ` Matt Sealey 2007-11-08 2:15 ` Jon Smirl @ 2007-11-08 3:14 ` Grant Likely 1 sibling, 0 replies; 22+ messages in thread From: Grant Likely @ 2007-11-08 3:14 UTC (permalink / raw) To: Matt Sealey; +Cc: linuxppc-embedded On 11/7/07, Matt Sealey <matt@genesi-usa.com> wrote: > Jon Smirl wrote: > > I'm not in favor of all these fsl prefixes. These chip families do get > > sold. What would we have done with intel,pxa320 all over the place > > when they sold it to marvell? mass changes to marvell,pxa320? > > That's the idea, and there'd be a compatible entry for intel,pxa320. > > Actually the spec says you should use the stock ticker (IBM, FSL, INTC, > JAVA, MRVL) if they have one and if not, the company name in lower case. > > Freescale are a funny one because they used to have a stock ticker as > MOT and then FSL but now they're privately owned, so it's gonna have to > be lower case :] And really, this doesn't even matter. So what if 'mot,' --> 'fsl,' --> 'freescale,'? Even if an older name is used, it is still unambiguous and therefore a useful property. Besides, If you're designing a device tree for a board, and Linux or some other OS already has support for a similar board, it would be madness to use property values different from what the OS already uses just to make the values "more correct". ie. even if Marvell sells the pxa255 for then next 5 years, it is still correct to call it an "intel,pxa255". > It's just to seperate out the fact that sometimes you get chips with > very similar or identical names, or to mark out vendor-specific > functionality. fsl,has-wdt differs from has-wdt ideally because > Freescale watchdog timers aren't the same as other watchdog timers - > the term is pretty pliable, Freescale's GPT on the MPC52xx isn't > always a watchdog (it can be a normal, non-watchdog timer too..) > > > The mpc/pxa parts numbers don't get changes when chip families get sold. > > There is a case that between selling chips, some of them get updated > or bugfixed, and you can tell which one you have by the name. > > There has to be some standardisation on the first implementation of > the device tree for the chip, otherwise the chopping and changing > gets rather tedious. > > I'm sure you can see why we don't release firmware updates every time > some Linux guy changes some lousy, hacky tree definition for yet another > 6 times a year, until it finally stabilises and the product is usually > discontinued anyway :D Oh come on; I've hardly changed the mpc5200 bindings at all since we last talked about them... :-P (Totally joking, see comment and eating-of-crow below). > > However in the current situation it just means you need to flash new > FDT blobs to your U-Boots which are more clean, and keep your kernel > in sync, because Linux only handles what it currently thinks is the > standard. > > The real loser is the real Open Firmware implementation, but nobody > seems to think about that, the device trees on OF devices get more > cluttered.. Not quite true; I personally am now quite loath to changing conventions without maintaining compatibility with the old. I also tend to make the assumption that upgrading the kernel should not always require a device tree upgrade also. In other words: Changing conventions to better match the OF guidelines: possibly a good thing, especially if it results in more clarity. --- but --- Breaking boards with trees that follow older conventions: Bad! This is probably a good time for me to apologize for the pain that I've caused in the past on this issue. My stance in the past on designing mpc5200 device trees was wrong headed on a couple of points. First, insisting that the Efika device tree should exactly match what was currently in vogue was wrong. Second, assuming that it was even possible to define a 'perfect' and 'exact' mpc5200 device tree binding was pure hubris. So, I'm sorry and I apologize. Experience has taught me better over the past year. I'm now of the opinion that device trees are *never* perfect, and that's not even the point. The point is that a device tree should uniquely and unambiguously describe the platform. If the device tree isn't quite unambiguous in one aspect, other aspects of the tree will provide enough information to work around what is lacking. Every device driver may have a current-as-of-now idea on what those properties should look like, but that should not cause platforms with device trees which differ from that to be punted as unsupportable. I do not think that means that vendors can put whatever they want into a device tree without regard to current conventions (at the time of designing their tree). Doing so generally causes friction with the folks who are writing software for it (and I'm not directing this comment at bPlan either). But I do think that changing conventions must always be done with care and without breaking earlier users; either by modifying the tree at platform setup time or retaining compatibility with the old property name. Cheers, g. -- Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. grant.likely@secretlab.ca (403) 399-0195 ^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2007-11-10 14:07 UTC | newest] Thread overview: 22+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2007-11-07 21:55 use of fsl, in lite5200b.dts in git current Jon Smirl 2007-11-07 22:17 ` Matt Sealey 2007-11-07 22:18 ` Jon Smirl 2007-11-08 20:40 ` Jon Smirl 2007-11-08 20:47 ` Scott Wood 2007-11-08 20:51 ` Jon Smirl 2007-11-08 20:56 ` Scott Wood 2007-11-08 21:53 ` Jon Smirl 2007-11-08 22:03 ` Scott Wood 2007-11-08 22:17 ` Jon Smirl 2007-11-08 22:30 ` Scott Wood 2007-11-08 20:50 ` Grant Likely 2007-11-07 22:21 ` Jon Smirl 2007-11-08 0:30 ` Matt Sealey 2007-11-08 2:15 ` Jon Smirl 2007-11-08 16:28 ` Scott Wood 2007-11-08 17:04 ` Jon Smirl 2007-11-08 19:48 ` Matt Sealey 2007-11-08 19:57 ` Jon Loeliger 2007-11-10 14:09 ` Matt Sealey 2007-11-08 20:39 ` Jon Smirl 2007-11-08 3:14 ` Grant Likely
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).