Date: Fri, 7 Jun 2019 02:08:32 -0700 From: Nicola Mingotti <nmingotti@gmail.com> To: Ian Lepore <ian@freebsd.org>, Sergey Manucharian <sm@ara-ler.com> Cc: nmingott@gmail.com, freebsd-arm@freebsd.org Subject: Re: How to set PWM tunable name to ehrpwm.1 ? Message-ID: <2852b9da-e647-69a7-3218-88cfa500eadc@gmail.com> In-Reply-To: <8126fa4ae0ca650ca12f28dd538e6e8c4e81b432.camel@freebsd.org> References: <68790975-a5a5-2138-ca89-117878d6cf2d@gmail.com> <20190606220639.GE13546@eldorado> <8126fa4ae0ca650ca12f28dd538e6e8c4e81b432.camel@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 6/6/19 3:40 PM, Ian Lepore wrote: > On Thu, 2019-06-06 at 16:06 -0600, Sergey Manucharian wrote: >> Excerpts from Nicola Mingotti's message from Thu 06-Jun-19 12:33: >>> In my BeagleBone Black, FreeBSD-12 RELEASE, i created two >>> overlays, >>> pwm.dtso and pwm1.dtso. They enable the PWM pins p9.21, p9.22 and >>> respectively p9.14, p9.16. DTSO files are below. >>> >>> If I load both the DTBO at boot I see >>> correctly|ehrpwm.0|and|ehrpwm.1|, >>> associated to the correct pins. But, if i remove the >>> overlay|pwm.dtbo|then i seen only|ehrpwm.0|in|sysctl -a|, which is >>> not >>> what i want, i would like to see the name|ehrpwm.1|. >>> >>> This is important because i must be 100% sure a certain pin >>> corresponds >>> the a certain tunable.This must be true even if i remove non >>> relevant >>> overlays in the future. I guess there must be some parameter in the >>> DTSO >>> which i don't know, i hope you can give me some directions about >>> that. >> It is not related to your DTBO's. That's how everything works (at >> least >> by default). You will see the same naming issue with serial ports, >> for >> example. And not just in BBB. >> >> E.g. when I have enabled uart0 and uart2 they are named ttyu0 and >> ttyu1, >> if I have only uart2, it becomes ttyu0. >> >> It's easier if there is a device node in /dev, so you can create a >> symlink >> with a fixed name (I have a script called by devd for my multiple >> serial >> ports). However, that's not the case with PWM... >> >> Maybe there is an option to use persistent names for devices that >> somebody >> can point to. >> > Nope, there's no magic thing you're missing that fixes this. Devices > get named-and-numbered based on the order of instantiation. > > Since what really matters here is the sysctl names, we could change the > driver to install the sysctl nodes using the fdt device node names > instead of the freebsd newbus device names. Hmm, actually, since > people may be relying on the current names, I guess what we'd have to > do is install another set of sysctl names based on fdt name (basically > a set of alias names). > > -- Ian > I see, I agree changing the default naming scheme may damage who is relaying on it. It is not a good idea. Maybe it could be implemented in release 13. To Sergey. I used devd in the past, it works well. But i would prefer not to use it in this case, even if I had a /dev/xyz file available. The reason is that the /dev/xyz file would appear before the the devd daemon starts up (i guess), so the case would not stricly be covered by what the devd man page says devd should do. $> man devd => " ... Whenever a device is added to or removed from the device tree ... " To Ian. The idea of the alias seems good. I don't know at all what you can manage to do at the kernel level with the tunables. I imagine something like |dev.alias.am335x_ehrpwm.1| which actually refers to |EHRPWM1| not the second |ehrpwm| that got plugged into the system via overlay. Thank you for your answers goodbye Nicola
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2852b9da-e647-69a7-3218-88cfa500eadc>