> -----Original Message----- > From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> > Sent: Monday, August 28, 2023 1:53 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? Regarding the dts node, how about the example in the fixed-regulator.yaml under the bindings directory. 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. Thanks, Shenwei > > > >>> The regulator functions virtually through software layer above of > >>> the GPIO driver. While we may call it a "regulator" or whatever > >>> else, this cannot obscure the fact that the underlying hardware is > >>> just a GPIO pin being > >> used in a specialized way. > >> > >> The regulator is some tiny little box, you can touch and called > >> ti,tps51632 or similar. > >> > > > > We are talking about the specific "regulator-fixed" driver, why did you bring up > "ti,tps51632" here? > > Just an example. Can be TPS123098. > > Best regards, > Krzysztof