On Fri, Aug 30, 2024 at 02:53:15PM +0200, Christian Bruel wrote: > > On 8/29/24 18:44, Conor Dooley wrote: > > On Thu, Aug 29, 2024 at 01:06:53PM +0200, Christian Bruel wrote: > > > On 8/28/24 18:11, Conor Dooley wrote: > > > > On Wed, Aug 28, 2024 at 04:34:48PM +0200, Christian Bruel wrote: > > > > > + st,syscfg: > > > > > + $ref: /schemas/types.yaml#/definitions/phandle > > > > > + description: Phandle to the SYSCON entry required for configuring PCIe > > > > > + or USB3. > > > > Why is a phandle required for this lookup, rather than doing it by > > > > compatible? > > > the phandle is used to select the sysconf SoC configuration register > > > depending on the PCIe/USB3 mode (selected by xlate function), so it's not > > > like a lookup here. > > If "syscon_regmap_lookup_by_phandle()" is not a lookup, then I do not > > know what is. An example justification for it would be that there are > > multiple combophys on the same soc, each using a different sysconf > > region. Your dts suggests that is not the case though, since you have > > st,syscfg = <&syscfg>; in it, rather than st,syscfg = <&syscfg0>;. > > I didn't get your suggestion earlier to use "syscon_regmap_lookup_by_compatible()". > > We have several other syscon in the other. That's why we choose a direct syscfg phandle In the other what? SoCs? Way I see it, if you're going to support different socs in the same driver, it's almost a certainty that the offsets within a syscon that particular features lie at are going to change between socs, so even if you have a phandle you're going to need to have the offsets in your match data. And if you're going to have offsets in match data, you may as well have the compatibles for the syscon in match data too. If the layout of the syscon hasn't changed between devices, then you should have a fallback compatible for the syscon too, making syscon_regmap_lookup_by_compatible() function without changes to the driver. If you do have multiple syscons, but they do different things, they should have different compatibles, so having multiple syscons doesn't justify using a property for this either in and of itself. If you have multiple syscons with the same layout (and therefore the same compatible) then a phandle makes sense, but if that's the case then you almost certainly have multiple combophys too! Otherwise, if you have one syscon, but the controls for more than one combophy are in it, then having a phandle _with an offset_ makes sense. If you know there are other SoCs with more than one combo phy, do they use different syscons, or is the same syscon used for more than one combophy?
Attachment:
signature.asc
Description: PGP signature