Hi Elaine, Missatge de elaine.zhang <zhangqing@xxxxxxxxxxxxxx> del dia dj., 25 de març 2021 a les 7:43: > > Hi,Heiko: > > 在 2021/3/24 下午9:31, Heiko Stübner 写道: > > Am Mittwoch, 24. März 2021, 11:32:42 CET schrieb Enric Balletbo i Serra: > >> On 24/3/21 11:25, Enric Balletbo i Serra wrote: > >>> Hi Elaine, > >>> > >>> On 24/3/21 11:18, elaine.zhang wrote: > >>>> Hi, Enric > >>>> > >>>> 在 2021/3/24 下午5:56, Enric Balletbo i Serra 写道: > >>>>> Hi Elaine, > >>>>> > >>>>> This is not the exact version I sent, and you reintroduced a "problem" that were > >>>>> already solved/discussed on previous versions. See below: > >>>>> > >>>>> On 24/3/21 8:16, Elaine Zhang wrote: > >>>>>> Convert the soc/rockchip/power_domain.txt binding document to > >>>>>> json-schema and move to the power bindings directory. > >>>>>> > >>>>>> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@xxxxxxxxxxxxx> > >>>>> If you do significant is a good practice shortly describe them within [] here. > >>>>> > >>>>>> Signed-off-by: Elaine Zhang <zhangqing@xxxxxxxxxxxxxx> > >>>>> Note that my last version already had the > >>>>> > >>>>> Reviewed-by: Rob Herring <robh@xxxxxxxxxx> > >>>>> > >>>>> Which should be fine for merging (with probably only minor changes) and you > >>>>> could maintain if you don't do significant changes, but that's not the case, as > >>>>> I said, you are reintroducing one problem. Please review the comments already > >>>>> received on this patchset or similar patchsets to avoid this. > >>>>> > >>>>>> --- > >>>>>> .../power/rockchip,power-controller.yaml | 284 ++++++++++++++++++ > >>>>>> .../bindings/soc/rockchip/power_domain.txt | 136 --------- > >>>>>> 2 files changed, 284 insertions(+), 136 deletions(-) > >>>>>> create mode 100644 > >>>>>> Documentation/devicetree/bindings/power/rockchip,power-controller.yaml > >>>>>> delete mode 100644 > >>>>>> Documentation/devicetree/bindings/soc/rockchip/power_domain.txt > >>>>>> > >>>>>> diff --git > >>>>>> a/Documentation/devicetree/bindings/power/rockchip,power-controller.yaml > >>>>>> b/Documentation/devicetree/bindings/power/rockchip,power-controller.yaml > >>>>>> new file mode 100644 > >>>>>> index 000000000000..a220322c5139 > >>>>>> --- /dev/null > >>>>>> +++ b/Documentation/devicetree/bindings/power/rockchip,power-controller.yaml > >>>>>> @@ -0,0 +1,284 @@ > >>>>>> +# SPDX-License-Identifier: GPL-2.0-only > >>>>>> +%YAML 1.2 > >>>>>> +--- > >>>>>> +$id: http://devicetree.org/schemas/power/rockchip,power-controller.yaml# > >>>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# > >>>>>> + > >>>>>> +title: Rockchip Power Domains > >>>>>> + > >>>>>> +maintainers: > >>>>>> + - Elaine Zhang <zhangqing@xxxxxxxxxxxxxx> > >>>>>> + - Rob Herring <robh+dt@xxxxxxxxxx> > >>>>> Up to Rob, but I don't think Rob would like to be the maintainer. I think you > >>>>> can only include yourself and Heiko. > >>>>> > >>>>> > >>>>>> + - Heiko Stuebner <heiko@xxxxxxxxx> > >>>>>> + > >>>>>> +description: | > >>>>>> + Rockchip processors include support for multiple power domains which can be > >>>>>> + powered up/down by software based on different application scenarios to > >>>>>> save power. > >>>>>> + > >>>>>> + Power domains contained within power-controller node are generic power domain > >>>>>> + providers documented in > >>>>>> Documentation/devicetree/bindings/power/power-domain.yaml. > >>>>>> + > >>>>>> + IP cores belonging to a power domain should contain a "power-domains" > >>>>>> + property that is a phandle for the power domain node representing the domain. > >>>>>> + > >>>>>> +properties: > >>>>>> + $nodename: > >>>>>> + const: power-controller > >>>>>> + > >>>>>> + compatible: > >>>>>> + enum: > >>>>>> + - rockchip,px30-power-controller > >>>>>> + - rockchip,rk3036-power-controller > >>>>>> + - rockchip,rk3066-power-controller > >>>>>> + - rockchip,rk3128-power-controller > >>>>>> + - rockchip,rk3188-power-controller > >>>>>> + - rockchip,rk3228-power-controller > >>>>>> + - rockchip,rk3288-power-controller > >>>>>> + - rockchip,rk3328-power-controller > >>>>>> + - rockchip,rk3366-power-controller > >>>>>> + - rockchip,rk3368-power-controller > >>>>>> + - rockchip,rk3399-power-controller > >>>>>> + > >>>>>> + "#power-domain-cells": > >>>>>> + const: 1 > >>>>>> + > >>>>>> + "#address-cells": > >>>>>> + const: 1 > >>>>>> + > >>>>>> + "#size-cells": > >>>>>> + const: 0 > >>>>>> + > >>>>>> +patternProperties: > >>>>>> + "^pd_[0-9a-z_]{2,10}@[0-9a-f]+$": > >>>>>> + type: object > >>>>>> + description: | > >>>>>> + Represents the power domains within the power controller node as > >>>>>> documented > >>>>>> + in Documentation/devicetree/bindings/power/power-domain.yaml. > >>>>>> + > >>>>> The node names must be generic, as this is power-domain must be in the form: > >>>>> > >>>>> +patternProperties: > >>>>> + "^power-domain@[0-9a-f]+$": > >>>> In this way, dtbs_check cannot be passed, and all the usage methods in dts of > >>>> Rockchip need to be corrected, which I think is a bigger change. > >>> Well, the problem is in the Rockchip dtbs, so needs to be fixed there. The > >>> bindings must describe hardware in a generic way, not describe the actual dtbs > >>> to not report errors. > >>> > >> FWIW I remember I did something regarding this but never sent to upstream, feel > >> free to pick if you find useful. > >> > >> * > >> https://gitlab.collabora.com/eballetbo/linux/-/commit/12499f223e3d33602449b9102404fe573fb804f5 > >> * > >> https://gitlab.collabora.com/eballetbo/linux/-/commit/12499f223e3d33602449b9102404fe573fb804f5 > >> * > >> https://gitlab.collabora.com/eballetbo/linux/-/commit/492bf2213c341152a1c2423242c5634b9e53ff27 > > looks good that way. I did look at the power-domain driver and > > we're (of course) not doing anything with the name in front of the @ :-) . > > > > So I'd be happy to get these. > > > > Heiko > > I still don't want to modify this, I think the PD summary will become > less intuitive. > This is because in the pm_domainss driver you have: pd->genpd.name = node->name; You can use the full_name or add a meaningful name to the driver if you want. We solved this on Mediatek with the following patches [1] Again, IMO this is a driver problem, not a binding problem. The bindings shouldn't know about debugfs entry names. Thanks, Enric [1] https://patchwork.kernel.org/project/linux-mediatek/list/?series=438523 > Now: > > domain status slaves > /device runtime status > ---------------------------------------------------------------------- > pd_pipe on > /devices/platform/3c0800000.pcie unsupported > /devices/platform/fc800000.sata active > /devices/platform/usbdrd/fcc00000.dwc3 active > /devices/platform/usbhost/fd000000.dwc3 active > pd_rkvenc off-0 > /devices/platform/fdf40f00.iommu suspended > /devices/platform/fdf40000.rkvenc suspended > pd_rkvdec off-0 > /devices/platform/fdf80800.iommu suspended > /devices/platform/fdf80200.rkvdec suspended > pd_vpu off-0 > /devices/platform/fdea0800.iommu suspended > /devices/platform/fdea0400.vdpu suspended > pd_rga off-0 > /devices/platform/fded0480.iommu suspended > /devices/platform/fdee0800.iommu suspended > /devices/platform/fdef0800.iommu suspended > /devices/platform/fdee0000.vepu suspended > /devices/platform/fdef0000.iep suspended > /devices/platform/fded0000.jpegd suspended > /devices/platform/fdeb0000.rk_rga suspended > pd_vo on > /devices/platform/fe850000.mipi-dphy suspended > /devices/platform/fe040000.vop active > /devices/platform/fe0c0000.edp suspended > /devices/platform/fe0a0000.hdmi active > /devices/platform/fe060000.dsi active > pd_vi off-0 > /devices/platform/fdff1a00.iommu suspended > /devices/platform/fdff0000.rkisp suspended > pd_gpu on > /devices/platform/fde60000.gpu active > pd_npu off-0 > > If modify to power-domain@: > > domain status slaves > /device runtime status > ---------------------------------------------------------------------- > power-domain on > /devices/platform/3c0800000.pcie unsupported > /devices/platform/fc800000.sata active > /devices/platform/usbdrd/fcc00000.dwc3 active > /devices/platform/usbhost/fd000000.dwc3 active > power-domain off-0 > /devices/platform/fdf40f00.iommu suspended > /devices/platform/fdf40000.rkvenc suspended > power-domain off-0 > /devices/platform/fdf80800.iommu suspended > /devices/platform/fdf80200.rkvdec suspended > power-domain off-0 > /devices/platform/fdea0800.iommu suspended > /devices/platform/fdea0400.vdpu suspended > power-domain off-0 > /devices/platform/fded0480.iommu suspended > /devices/platform/fdee0800.iommu suspended > /devices/platform/fdef0800.iommu suspended > /devices/platform/fdee0000.vepu suspended > /devices/platform/fdef0000.iep suspended > /devices/platform/fded0000.jpegd suspended > /devices/platform/fdeb0000.rk_rga suspended > power-domain on > /devices/platform/fe850000.mipi-dphy suspended > /devices/platform/fe040000.vop active > /devices/platform/fe0c0000.edp suspended > /devices/platform/fe0a0000.hdmi active > /devices/platform/fe060000.dsi active > power-domain off-0 > /devices/platform/fdff1a00.iommu suspended > /devices/platform/fdff0000.rkisp suspended > power-domain on > /devices/platform/fde60000.gpu active > power-domain off-0 > console:/ # > > I think the now one is more intuitive, so I don't want to fix it. > > > > > > > > > > > > > _______________________________________________ > Linux-rockchip mailing list > Linux-rockchip@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/linux-rockchip