RE: [EXT] Re: [PATCH 1/2] dt-bindings: power: Add regulator-pd yaml file

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
> Sent: Monday, August 28, 2023 2:12 PM
> To: Shenwei Wang <shenwei.wang@xxxxxxx>; Ulf Hansson
> <ulf.hansson@xxxxxxxxxx>
> Cc: Rob Herring <robh+dt@xxxxxxxxxx>; Krzysztof Kozlowski
> <krzysztof.kozlowski+dt@xxxxxxxxxx>; Conor Dooley <conor+dt@xxxxxxxxxx>;
> Liam Girdwood <lgirdwood@xxxxxxxxx>; Mark Brown <broonie@xxxxxxxxxx>;
> imx@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> dl-linux-imx <linux-imx@xxxxxxx>
> Subject: [EXT] Re: [PATCH 1/2] dt-bindings: power: Add regulator-pd yaml file
> >>>>>>>>> Are you suggesting to move the regulator-pd to the imx
> >>>>>>>>> directory and add a company prefix to the compatible string?
> >>>>>>>>
> >>>>>>>> There is no such part of iMX processor as such
> >>>>>>>> regulator-power-domain, so I don't recommend that approach. DTS
> >>>>>>>> nodes represent hardware, not your SW layers.
> >>>>>>>>
> >>>>>>>
> >>>>>>> That's not always the case, as we do sometimes need a virtual device.
> >>>>>>> As an example, the "regulator-fixed" acts as a software
> >>>>>>> abstraction layer to create virtual regulator devices by
> >>>>>>> interfacing with the underlying
> >>>>>> GPIO drivers.
> >>>>>>
> >>>>>> Not true. This is a real regulator device. Real hardware on the board.
> >>>>>> You can even see and touch it.
> >>>>>>
> >>>>>
> >>>>> The physical hardware component is the GPIO pin, which is what you
> >>>>> can only
> >>>> touch.
> >>>>
> >>>> No. The regulator is the chip.
> >>>>
> >>>
> >>> In the definition of dts node below, where is the chip? The real
> >>> hardware is just
> >> a GPIO Pin.
> >>>     reg1: regulator-1 {
> >>>       compatible = "regulator-fixed";
> >>>       regulator-name = "REG1";
> >>>       regulator-min-microvolt = <3000000>;
> >>>       regulator-max-microvolt = <3000000>;
> >>>       gpio = <&lsio_gpio4 19 GPIO_ACTIVE_HIGH>;
> >>>       enable-active-high;
> >>>     };
> >>
> >> There is a chip. This is the chip. If you have there only GPIO pin,
> >> then your DTS is just wrong. Drop it. If you learn from wrong DTS,
> >> then sure, power-domain- regulator seems like great idea...
> >>
> >
> > When you talk about the chip, can you please be more specific?
> 
> What to say more? The device node you quoted above is the regulator. You
> brought specific example and now claim this is not a regulator, but just GPIO.
> Please fix your DTS.
> 

The fixed-regulator is a virtual regulator driver that uses the GPIO pin. You claimed this 
as a hardware chip.

The regulator-pd driver also uses the same GPIO pin. You now claimed this as a software layer.

What's your standard?

Thanks,
Shenwei

> >
> > Regarding the dts node, how about the example in the fixed-regulator.yaml
> under the bindings directory.
> 
> That's an example, how is it related to anything?
> 
> >
> >     reg_1v8: regulator-1v8 {
> >       compatible = "regulator-fixed";
> >       regulator-name = "1v8";
> >       regulator-min-microvolt = <1800000>;
> >       regulator-max-microvolt = <1800000>;
> >       gpio = <&gpio1 16 0>;
> >       startup-delay-us = <70000>;
> >       enable-active-high;
> >       regulator-boot-on;
> >       gpio-open-drain;
> >       vin-supply = <&parent_reg>;
> >     };
> >
> > If you take a look at the fixed regulator driver (fixed.c), I don't
> > think you'll find anything related to a hardware component (chip) other than
> the GPIO Pin.
> 
> That's a driver. How is it related to this discussion? Bindings are not about
> drivers.
> 
> 
> Best regards,
> Krzysztof





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux