Hi Weiyi,

Missatge de Weiyi Lu <weiyi...@mediatek.com> del dia dj., 19 de nov.
2020 a les 14:10:
>
> On Thu, 2020-11-19 at 13:13 +0100, Enric Balletbo Serra wrote:
> > Hi Weiyi,
> >
> > Thank you for the patch
> >
> > Missatge de Weiyi Lu <weiyi...@mediatek.com> del dia dj., 19 de nov.
> > 2020 a les 11:48:
> > >
> > > Add power domains controller node for SoC mt8192
> > >
> > > Signed-off-by: Weiyi Lu <weiyi...@mediatek.com>
> > > ---
> > >
> > > Change in v3: None, just rebase dts onto v5.10-rc1 and
> > >        V4 of series "Add new driver for SCPSYS power domains 
> > > controller"[1]
> > >
> > > [1] 
> > > https://patchwork.kernel.org/project/linux-mediatek/list/?series=374013
> > >
> > >  arch/arm64/boot/dts/mediatek/mt8192.dtsi | 201 
> > > +++++++++++++++++++++++++++++++
> > >  1 file changed, 201 insertions(+)
> > >
> > > diff --git a/arch/arm64/boot/dts/mediatek/mt8192.dtsi 
> > > b/arch/arm64/boot/dts/mediatek/mt8192.dtsi
> > > index 69d45c7..08449eb 100644
> > > --- a/arch/arm64/boot/dts/mediatek/mt8192.dtsi
> > > +++ b/arch/arm64/boot/dts/mediatek/mt8192.dtsi
> > > @@ -9,6 +9,7 @@
> > >  #include <dt-bindings/interrupt-controller/arm-gic.h>
> > >  #include <dt-bindings/interrupt-controller/irq.h>
> > >  #include <dt-bindings/pinctrl/mt8192-pinfunc.h>
> > > +#include <dt-bindings/power/mt8192-power.h>
> > >
> > >  / {
> > >         compatible = "mediatek,mt8192";
> > > @@ -257,6 +258,206 @@
> > >                         #interrupt-cells = <2>;
> > >                 };
> > >
> > > +               scpsys: syscon@10006000 {
> > > +                       compatible = "syscon", "simple-mfd";
> > > +                       reg = <0 0x10006000 0 0x1000>;
> > > +                       #power-domain-cells = <1>;
> > > +
> > > +                       /* System Power Manager */
> > > +                       spm: power-controller {
> > > +                               compatible = 
> > > "mediatek,mt8192-power-controller";
> > > +                               #address-cells = <1>;
> > > +                               #size-cells = <0>;
> > > +                               #power-domain-cells = <1>;
> > > +
> > > +                               /* power domain of the SoC */
> > > +                               audio@MT8192_POWER_DOMAIN_AUDIO {
> >
> > If you run the dt_bindings_check it should return some errors, as all
> > these node names should be 'power-domain@'. Which is a bit annoying
> > because then you will get a bunch of errors like this:
> >
> > [    1.969110] debugfs: Directory 'power-domain' with parent
> > 'pm_genpd' already present!
> > [    1.976997] debugfs: Directory 'power-domain' with parent
> > 'pm_genpd' already present!
> > [    1.984828] debugfs: Directory 'power-domain' with parent
> > 'pm_genpd' already present!
> > [    1.992657] debugfs: Directory 'power-domain' with parent
> > 'pm_genpd' already present!
> > [    2.000685] debugfs: Directory 'power-domain' with parent
> > 'pm_genpd' already present!
> > [    2.008566] debugfs: Directory 'power-domain' with parent
> > 'pm_genpd' already present!
> > [    2.016395] debugfs: Directory 'power-domain' with parent
> > 'pm_genpd' already present!
> > [    2.024221] debugfs: Directory 'power-domain' with parent
> > 'pm_genpd' already present!
> > [    2.032049] debugfs: Directory 'power-domain' with parent
> > 'pm_genpd' already present!
> > [    2.039874] debugfs: Directory 'power-domain' with parent
> > 'pm_genpd' already present!
> > [    2.047699] debugfs: Directory 'power-domain' with parent
> > 'pm_genpd' already present!
> > [    2.055524] debugfs: Directory 'power-domain' with parent
> > 'pm_genpd' already present!
> > [    2.063352] debugfs: Directory 'power-domain' with parent
> > 'pm_genpd' already present!
> > [    2.071176] debugfs: Directory 'power-domain' with parent
> > 'pm_genpd' already present!
> >
> > But that's another problem that should be handled in debugfs system.
> >
>
> Indeed...so I chose to use different name in dts to avoid problems in
> debugfs. It does violate the naming rules.
>

But your binding will not pass (or trigger warnings) the dtb check
then. Rob was clear that names should be generic. Proper fix is fix
debugfs not the binding.

Cheers,
  Enric

> > > +                                       reg = <MT8192_POWER_DOMAIN_AUDIO>;
> > > +                                       clocks = <&topckgen 
> > > CLK_TOP_AUD_INTBUS_SEL>,
> > > +                                                <&infracfg 
> > > CLK_INFRA_AUDIO_26M_B>,
> > > +                                                <&infracfg 
> > > CLK_INFRA_AUDIO>;
> > > +                                       clock-names = "audio", "audio1", 
> > > "audio2";
> > > +                                       mediatek,infracfg = <&infracfg>;
> > > +                                       #power-domain-cells = <0>;
> > > +                               };
> > > +
> > > +                               conn@MT8192_POWER_DOMAIN_CONN {
> > > +                                       reg = <MT8192_POWER_DOMAIN_CONN>;
> > > +                                       clocks = <&infracfg 
> > > CLK_INFRA_PMIC_CONN>;
> > > +                                       clock-names = "conn";
> > > +                                       mediatek,infracfg = <&infracfg>;
> > > +                                       #power-domain-cells = <0>;
> > > +                               };
> > > +
> > > +                               mfg@MT8192_POWER_DOMAIN_MFG0 {
> > > +                                       reg = <MT8192_POWER_DOMAIN_MFG0>;
> > > +                                       clocks = <&topckgen 
> > > CLK_TOP_MFG_PLL_SEL>;
> > > +                                       clock-names = "mfg";
> > > +                                       #address-cells = <1>;
> > > +                                       #size-cells = <0>;
> > > +                                       #power-domain-cells = <1>;
> > > +
> > > +                                       mfg1@MT8192_POWER_DOMAIN_MFG1 {
> > > +                                               reg = 
> > > <MT8192_POWER_DOMAIN_MFG1>;
> > > +                                               mediatek,infracfg = 
> > > <&infracfg>;
> > > +                                               #address-cells = <1>;
> > > +                                               #size-cells = <0>;
> > > +                                               #power-domain-cells = <1>;
> > > +
> > > +                                               
> > > mfg2@MT8192_POWER_DOMAIN_MFG2 {
> > > +                                                       reg = 
> > > <MT8192_POWER_DOMAIN_MFG2>;
> > > +                                                       
> > > #power-domain-cells = <0>;
> > > +                                               };
> > > +
> > > +                                               
> > > mfg3@MT8192_POWER_DOMAIN_MFG3 {
> > > +                                                       reg = 
> > > <MT8192_POWER_DOMAIN_MFG3>;
> > > +                                                       
> > > #power-domain-cells = <0>;
> > > +                                               };
> > > +
> > > +                                               
> > > mfg4@MT8192_POWER_DOMAIN_MFG4 {
> > > +                                                       reg = 
> > > <MT8192_POWER_DOMAIN_MFG4>;
> > > +                                                       
> > > #power-domain-cells = <0>;
> > > +                                               };
> > > +
> > > +                                               
> > > mfg5@MT8192_POWER_DOMAIN_MFG5 {
> > > +                                                       reg = 
> > > <MT8192_POWER_DOMAIN_MFG5>;
> > > +                                                       
> > > #power-domain-cells = <0>;
> > > +                                               };
> > > +
> > > +                                               
> > > mfg6@MT8192_POWER_DOMAIN_MFG6 {
> > > +                                                       reg = 
> > > <MT8192_POWER_DOMAIN_MFG6>;
> > > +                                                       
> > > #power-domain-cells = <0>;
> > > +                                               };
> > > +                                       };
> > > +                               };
> > > +
> > > +                               disp@MT8192_POWER_DOMAIN_DISP {
> > > +                                       reg = <MT8192_POWER_DOMAIN_DISP>;
> > > +                                       clocks = <&topckgen 
> > > CLK_TOP_DISP_SEL>,
> > > +                                                <&mmsys 
> > > CLK_MM_SMI_INFRA>,
> > > +                                                <&mmsys 
> > > CLK_MM_SMI_COMMON>,
> > > +                                                <&mmsys CLK_MM_SMI_GALS>,
> > > +                                                <&mmsys 
> > > CLK_MM_SMI_IOMMU>;
> > > +                                       clock-names = "disp", "disp-0", 
> > > "disp-1", "disp-2",
> > > +                                                     "disp-3";
> > > +                                       mediatek,infracfg = <&infracfg>;
> > > +                                       #address-cells = <1>;
> > > +                                       #size-cells = <0>;
> > > +                                       #power-domain-cells = <1>;
> > > +
> > > +                                       ipe@MT8192_POWER_DOMAIN_IPE {
> > > +                                               reg = 
> > > <MT8192_POWER_DOMAIN_IPE>;
> > > +                                               clocks = <&topckgen 
> > > CLK_TOP_IPE_SEL>,
> > > +                                                        <&ipesys 
> > > CLK_IPE_LARB19>,
> > > +                                                        <&ipesys 
> > > CLK_IPE_LARB20>,
> > > +                                                        <&ipesys 
> > > CLK_IPE_SMI_SUBCOM>,
> > > +                                                        <&ipesys 
> > > CLK_IPE_GALS>;
> > > +                                               clock-names = "ipe", 
> > > "ipe-0", "ipe-1", "ipe-2",
> > > +                                                             "ipe-3";
> > > +                                               mediatek,infracfg = 
> > > <&infracfg>;
> > > +                                               #power-domain-cells = <0>;
> > > +                                       };
> > > +
> > > +                                       isp@MT8192_POWER_DOMAIN_ISP {
> > > +                                               reg = 
> > > <MT8192_POWER_DOMAIN_ISP>;
> > > +                                               clocks = <&topckgen 
> > > CLK_TOP_IMG1_SEL>,
> > > +                                                        <&imgsys 
> > > CLK_IMG_LARB9>,
> > > +                                                        <&imgsys 
> > > CLK_IMG_GALS>;
> > > +                                               clock-names = "isp", 
> > > "isp-0", "isp-1";
> > > +                                               mediatek,infracfg = 
> > > <&infracfg>;
> > > +                                               #power-domain-cells = <0>;
> > > +                                       };
> > > +
> > > +                                       isp2@MT8192_POWER_DOMAIN_ISP2 {
> > > +                                               reg = 
> > > <MT8192_POWER_DOMAIN_ISP2>;
> > > +                                               clocks = <&topckgen 
> > > CLK_TOP_IMG2_SEL>,
> > > +                                                        <&imgsys2 
> > > CLK_IMG2_LARB11>,
> > > +                                                        <&imgsys2 
> > > CLK_IMG2_GALS>;
> > > +                                               clock-names = "isp2", 
> > > "isp2-0", "isp2-1";
> > > +                                               mediatek,infracfg = 
> > > <&infracfg>;
> > > +                                               #power-domain-cells = <0>;
> > > +                                       };
> > > +
> > > +                                       mdp@MT8192_POWER_DOMAIN_MDP {
> > > +                                               reg = 
> > > <MT8192_POWER_DOMAIN_MDP>;
> > > +                                               clocks = <&topckgen 
> > > CLK_TOP_MDP_SEL>,
> > > +                                                        <&mdpsys 
> > > CLK_MDP_SMI0>;
> > > +                                               clock-names = "mdp", 
> > > "mdp-0";
> > > +                                               mediatek,infracfg = 
> > > <&infracfg>;
> > > +                                               #power-domain-cells = <0>;
> > > +                                       };
> > > +
> > > +                                       venc@MT8192_POWER_DOMAIN_VENC {
> > > +                                               reg = 
> > > <MT8192_POWER_DOMAIN_VENC>;
> > > +                                               clocks = <&topckgen 
> > > CLK_TOP_VENC_SEL>,
> > > +                                                        <&vencsys 
> > > CLK_VENC_SET1_VENC>;
> > > +                                               clock-names = "venc", 
> > > "venc-0";
> > > +                                               mediatek,infracfg = 
> > > <&infracfg>;
> > > +                                               #power-domain-cells = <0>;
> > > +                                       };
> > > +
> > > +                                       vdec@MT8192_POWER_DOMAIN_VDEC {
> > > +                                               reg = 
> > > <MT8192_POWER_DOMAIN_VDEC>;
> > > +                                               clocks = <&topckgen 
> > > CLK_TOP_VDEC_SEL>,
> > > +                                                        <&vdecsys_soc 
> > > CLK_VDEC_SOC_VDEC>,
> > > +                                                        <&vdecsys_soc 
> > > CLK_VDEC_SOC_LAT>,
> > > +                                                        <&vdecsys_soc 
> > > CLK_VDEC_SOC_LARB1>;
> > > +                                               clock-names = "vdec", 
> > > "vdec-0", "vdec-1", "vdec-2";
> > > +                                               mediatek,infracfg = 
> > > <&infracfg>;
> > > +                                               #address-cells = <1>;
> > > +                                               #size-cells = <0>;
> > > +                                               #power-domain-cells = <1>;
> > > +
> > > +                                               
> > > vdec2@MT8192_POWER_DOMAIN_VDEC2 {
> > > +                                                       reg = 
> > > <MT8192_POWER_DOMAIN_VDEC2>;
> > > +                                                       clocks = 
> > > <&vdecsys CLK_VDEC_VDEC>,
> > > +                                                                
> > > <&vdecsys CLK_VDEC_LAT>,
> > > +                                                                
> > > <&vdecsys CLK_VDEC_LARB1>;
> > > +                                                       clock-names = 
> > > "vdec2-0", "vdec2-1",
> > > +                                                                     
> > > "vdec2-2";
> > > +                                                       
> > > #power-domain-cells = <0>;
> > > +                                               };
> > > +                                       };
> > > +
> > > +                                       cam@MT8192_POWER_DOMAIN_CAM {
> > > +                                               reg = 
> > > <MT8192_POWER_DOMAIN_CAM>;
> > > +                                               clocks = <&topckgen 
> > > CLK_TOP_CAM_SEL>,
> > > +                                                        <&camsys 
> > > CLK_CAM_LARB13>,
> > > +                                                        <&camsys 
> > > CLK_CAM_LARB14>,
> > > +                                                        <&camsys 
> > > CLK_CAM_CCU_GALS>,
> > > +                                                        <&camsys 
> > > CLK_CAM_CAM2MM_GALS>;
> > > +                                               clock-names = "cam", 
> > > "cam-0", "cam-1", "cam-2",
> > > +                                                             "cam-3";
> > > +                                               mediatek,infracfg = 
> > > <&infracfg>;
> > > +                                               #address-cells = <1>;
> > > +                                               #size-cells = <0>;
> > > +                                               #power-domain-cells = <1>;
> > > +
> > > +                                               
> > > cam_rawa@MT8192_POWER_DOMAIN_CAM_RAWA {
> > > +                                                       reg = 
> > > <MT8192_POWER_DOMAIN_CAM_RAWA>;
> > > +                                                       clocks = 
> > > <&camsys_rawa CLK_CAM_RAWA_LARBX>;
> > > +                                                       clock-names = 
> > > "cam_rawa-0";
> > > +                                                       
> > > #power-domain-cells = <0>;
> > > +                                               };
> > > +
> > > +                                               
> > > cam_rawb@MT8192_POWER_DOMAIN_CAM_RAWB {
> > > +                                                       reg = 
> > > <MT8192_POWER_DOMAIN_CAM_RAWB>;
> > > +                                                       clocks = 
> > > <&camsys_rawb CLK_CAM_RAWB_LARBX>;
> > > +                                                       clock-names = 
> > > "cam_rawb-0";
> > > +                                                       
> > > #power-domain-cells = <0>;
> > > +                                               };
> > > +
> > > +                                               
> > > cam_rawc@MT8192_POWER_DOMAIN_CAM_RAWC {
> > > +                                                       reg = 
> > > <MT8192_POWER_DOMAIN_CAM_RAWC>;
> > > +                                                       clocks = 
> > > <&camsys_rawc CLK_CAM_RAWC_LARBX>;
> > > +                                                       clock-names = 
> > > "cam_rawc-0";
> > > +                                                       
> > > #power-domain-cells = <0>;
> > > +                                               };
> > > +                                       };
> > > +                               };
> > > +                       };
> > > +               };
> > > +
> > >                 apmixedsys: syscon@1000c000 {
> > >                         compatible = "mediatek,mt8192-apmixedsys", 
> > > "syscon";
> > >                         reg = <0 0x1000c000 0 0x1000>;
> > > --
> > > 1.8.1.1.dirty
> > >
>

Reply via email to