On Thu, Jul 03, 2014 at 11:04:36AM +0200, Marc Kleine-Budde wrote: > On 07/03/2014 10:48 AM, Dong Aisheng wrote: > > On Thu, Jul 03, 2014 at 09:12:49AM +0200, Marc Kleine-Budde wrote: > >> On 07/03/2014 05:48 AM, Dong Aisheng wrote: > >>> On Wed, Jul 02, 2014 at 09:13:07PM +0200, Marc Kleine-Budde wrote: > >>>> On 07/02/2014 07:54 PM, Oliver Hartkopp wrote: > >>>>> I'm not really familiar with the naming concept in device trees. > >>>>> > >>>>> What is your opinion about the remarks below? > >>>> > >>>> The entries in the DT, at least on freescale baords, follow the naming > >>>> scheme of the reference manual. E.g. on the mx25 it's can1 and can2: > >>>> > >>>> can1: can@43f88000 { ... } > >>>> can2: can@43f8c000 { ... } > >>>> > >>>> And on the mx28, its: > >>>> > >>>> can0: can@80032000 { ... } > >>>> can1: can@80034000 { ... } > >>>> > >>>> Because the imx25 datasheet uses a "1" based counting scheme, while the > >>>> imx28 uses a "0" based one. > >>>> > >>>> So it's best practise to follow the naming and numbering scheme of the > >>>> hardware reference manual.....and if you have access to the > >>>> documentation of the m_can core, use clock names of the m_can core for > >>>> the clock-names property. > >>>> > >>> > >>> Based on my knowledge, device tree allows define phandle name according to > >>> the real device name of HW according spec while the device node name should > >>> be general(e.g can@80032000 rather than flexcan@80032000). > >>> For imx6sx, there are already following entries in > >>> arch/arm/boot/dts/imx6sx.dtsi > >>> flexcan1: can@02090000 {...} > >>> flexcan2: can@02094000 {...} > >>> So i'd prefer to define as: > >>> m_can1: canfd@020e8000 {...} > >>> m_can2: canfd@020f0000 {...} > >>> > >>> > >>> One problem is there're can alias already. > >>> aliases { > >>> can0 = &flexcan1; > >>> can1 = &flexcan2; > >>> ... > >>> } > >>> I'm not sure adding can2&can3 for mcan is properly: > >>> aliases { > >>> can0 = &flexcan1; > >>> can1 = &flexcan2; > >>> can2 = &m_can1; > >>> can3 = &m_can2; > >>> ... > >>> } > >>> Since the m_can driver does not need to use aliases, > >>> so i will not add them. > >> > >> IMHO It's fine too add the can{2,3} aliases to m_can, too. > >> > > > > I think the main problem for doing this way is that the meaning of id > > return by of_alias_get_id may be not persistent. > > e.g > > For MX6SX > > aliases { > > can0 = &flexcan1; > > can1 = &flexcan2; > > can2 = &m_can1; > > can3 = &m_can2; > > ... > > } > > > > For other platform, it could be: > > aliases { > > can0 = &m_can1; > > can1 = &m_can2; > > ... > > } > > It's hard for driver to use. > > The driver doesn't make use of it, does it? > > > And actually the M_CAN driver does not need to use the alias. > > So i wonder if it makes sense to add the alias for m_can devices > > like that. > > For example the imx53 has two different SPI units, in the alias section > we see: > > spi0 = &ecspi1; > spi1 = &ecspi2; > spi2 = &cspi; Thanks for the info. I'm not clear what's our purpose adding alias like this? Can you help explain it a bit? Do we need adding alias for all exist devices? Regards Dong Aisheng > > Marc > > -- > Pengutronix e.K. | Marc Kleine-Budde | > Industrial Linux Solutions | Phone: +49-231-2826-924 | > Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | > Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de | > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html