xref: /freebsd-src/sys/contrib/device-tree/Bindings/soc/mediatek/scpsys.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotMediaTek SCPSYS
2*c66ec88fSEmmanuel Vadot===============
3*c66ec88fSEmmanuel Vadot
4*c66ec88fSEmmanuel VadotThe System Control Processor System (SCPSYS) has several power management
5*c66ec88fSEmmanuel Vadotrelated tasks in the system. The tasks include thermal measurement, dynamic
6*c66ec88fSEmmanuel Vadotvoltage frequency scaling (DVFS), interrupt filter and lowlevel sleep control.
7*c66ec88fSEmmanuel VadotThe System Power Manager (SPM) inside the SCPSYS is for the MTCMOS power
8*c66ec88fSEmmanuel Vadotdomain control.
9*c66ec88fSEmmanuel Vadot
10*c66ec88fSEmmanuel VadotThe driver implements the Generic PM domain bindings described in
11*c66ec88fSEmmanuel Vadotpower/power-domain.yaml. It provides the power domains defined in
12*c66ec88fSEmmanuel Vadot- include/dt-bindings/power/mt8173-power.h
13*c66ec88fSEmmanuel Vadot- include/dt-bindings/power/mt6797-power.h
14*c66ec88fSEmmanuel Vadot- include/dt-bindings/power/mt6765-power.h
15*c66ec88fSEmmanuel Vadot- include/dt-bindings/power/mt2701-power.h
16*c66ec88fSEmmanuel Vadot- include/dt-bindings/power/mt2712-power.h
17*c66ec88fSEmmanuel Vadot- include/dt-bindings/power/mt7622-power.h
18*c66ec88fSEmmanuel Vadot
19*c66ec88fSEmmanuel VadotRequired properties:
20*c66ec88fSEmmanuel Vadot- compatible: Should be one of:
21*c66ec88fSEmmanuel Vadot	- "mediatek,mt2701-scpsys"
22*c66ec88fSEmmanuel Vadot	- "mediatek,mt2712-scpsys"
23*c66ec88fSEmmanuel Vadot	- "mediatek,mt6765-scpsys"
24*c66ec88fSEmmanuel Vadot	- "mediatek,mt6797-scpsys"
25*c66ec88fSEmmanuel Vadot	- "mediatek,mt7622-scpsys"
26*c66ec88fSEmmanuel Vadot	- "mediatek,mt7623-scpsys", "mediatek,mt2701-scpsys": For MT7623 SoC
27*c66ec88fSEmmanuel Vadot	- "mediatek,mt7623a-scpsys": For MT7623A SoC
28*c66ec88fSEmmanuel Vadot	- "mediatek,mt7629-scpsys", "mediatek,mt7622-scpsys": For MT7629 SoC
29*c66ec88fSEmmanuel Vadot	- "mediatek,mt8173-scpsys"
30*c66ec88fSEmmanuel Vadot- #power-domain-cells: Must be 1
31*c66ec88fSEmmanuel Vadot- reg: Address range of the SCPSYS unit
32*c66ec88fSEmmanuel Vadot- infracfg: must contain a phandle to the infracfg controller
33*c66ec88fSEmmanuel Vadot- clock, clock-names: clocks according to the common clock binding.
34*c66ec88fSEmmanuel Vadot                      These are clocks which hardware needs to be
35*c66ec88fSEmmanuel Vadot                      enabled before enabling certain power domains.
36*c66ec88fSEmmanuel Vadot	Required clocks for MT2701 or MT7623: "mm", "mfg", "ethif"
37*c66ec88fSEmmanuel Vadot	Required clocks for MT2712: "mm", "mfg", "venc", "jpgdec", "audio", "vdec"
38*c66ec88fSEmmanuel Vadot	Required clocks for MT6765: MUX: "mm", "mfg"
39*c66ec88fSEmmanuel Vadot				    CG: "mm-0", "mm-1", "mm-2", "mm-3", "isp-0",
40*c66ec88fSEmmanuel Vadot					"isp-1", "cam-0", "cam-1", "cam-2",
41*c66ec88fSEmmanuel Vadot					"cam-3","cam-4"
42*c66ec88fSEmmanuel Vadot	Required clocks for MT6797: "mm", "mfg", "vdec"
43*c66ec88fSEmmanuel Vadot	Required clocks for MT7622 or MT7629: "hif_sel"
44*c66ec88fSEmmanuel Vadot	Required clocks for MT7623A: "ethif"
45*c66ec88fSEmmanuel Vadot	Required clocks for MT8173: "mm", "mfg", "venc", "venc_lt"
46*c66ec88fSEmmanuel Vadot
47*c66ec88fSEmmanuel VadotOptional properties:
48*c66ec88fSEmmanuel Vadot- vdec-supply: Power supply for the vdec power domain
49*c66ec88fSEmmanuel Vadot- venc-supply: Power supply for the venc power domain
50*c66ec88fSEmmanuel Vadot- isp-supply: Power supply for the isp power domain
51*c66ec88fSEmmanuel Vadot- mm-supply: Power supply for the mm power domain
52*c66ec88fSEmmanuel Vadot- venc_lt-supply: Power supply for the venc_lt power domain
53*c66ec88fSEmmanuel Vadot- audio-supply: Power supply for the audio power domain
54*c66ec88fSEmmanuel Vadot- usb-supply: Power supply for the usb power domain
55*c66ec88fSEmmanuel Vadot- mfg_async-supply: Power supply for the mfg_async power domain
56*c66ec88fSEmmanuel Vadot- mfg_2d-supply: Power supply for the mfg_2d power domain
57*c66ec88fSEmmanuel Vadot- mfg-supply: Power supply for the mfg power domain
58*c66ec88fSEmmanuel Vadot
59*c66ec88fSEmmanuel VadotExample:
60*c66ec88fSEmmanuel Vadot
61*c66ec88fSEmmanuel Vadot	scpsys: scpsys@10006000 {
62*c66ec88fSEmmanuel Vadot		#power-domain-cells = <1>;
63*c66ec88fSEmmanuel Vadot		compatible = "mediatek,mt8173-scpsys";
64*c66ec88fSEmmanuel Vadot		reg = <0 0x10006000 0 0x1000>;
65*c66ec88fSEmmanuel Vadot		infracfg = <&infracfg>;
66*c66ec88fSEmmanuel Vadot		clocks = <&clk26m>,
67*c66ec88fSEmmanuel Vadot			 <&topckgen CLK_TOP_MM_SEL>;
68*c66ec88fSEmmanuel Vadot			 <&topckgen CLK_TOP_VENC_SEL>,
69*c66ec88fSEmmanuel Vadot			 <&topckgen CLK_TOP_VENC_LT_SEL>;
70*c66ec88fSEmmanuel Vadot		clock-names = "mfg", "mm", "venc", "venc_lt";
71*c66ec88fSEmmanuel Vadot	};
72*c66ec88fSEmmanuel Vadot
73*c66ec88fSEmmanuel VadotExample consumer:
74*c66ec88fSEmmanuel Vadot
75*c66ec88fSEmmanuel Vadot	afe: mt8173-afe-pcm@11220000 {
76*c66ec88fSEmmanuel Vadot		compatible = "mediatek,mt8173-afe-pcm";
77*c66ec88fSEmmanuel Vadot		power-domains = <&scpsys MT8173_POWER_DOMAIN_AUDIO>;
78*c66ec88fSEmmanuel Vadot	};
79