Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'v4.3-next-dts' of https://github.com/mbgg/linux-mediatek into next/dt

Delete regulator-compatible usage in mt8135-evbp1.dts.
The regualtor-compatible binding is deprecated, instead the node name
is used.

Mediatek timer driver supports as well mt8127, mt8135 and mt8173. Add
these SOCs to the bindings list.

Power domains venc and venc_lt need clocks two extra clocks to access
their registers. We update the bindings documentation about this.

Update SMP bindings documentation by adding support for mt6589 and mt81xx SOCs.

Update mt8127.dtsi and mt8135.dtsi to enable SMP support.

* tag 'v4.3-next-dts' of https://github.com/mbgg/linux-mediatek:
ARM: dts: mt8127: enable basic SMP bringup for mt8127
ARM: dts: mt8135: enable basic SMP bringup for mt8135
devicetree: bindings: add new SMP enable method Mediatek SoC
dt-bindings: soc: Add clocks for Mediatek SCPSYS unit
dt-bindings: add more MediaTek SoC to mtk-timer binding
ARM: dts: mt8135-evbp1: remove regulator-compatible usage

Signed-off-by: Olof Johansson <olof@lixom.net>

+67 -30
+2
Documentation/devicetree/bindings/arm/cpus.txt
··· 195 195 "marvell,armada-380-smp" 196 196 "marvell,armada-390-smp" 197 197 "marvell,armada-xp-smp" 198 + "mediatek,mt6589-smp" 199 + "mediatek,mt81xx-tz-smp" 198 200 "qcom,gcc-msm8660" 199 201 "qcom,kpss-acc-v1" 200 202 "qcom,kpss-acc-v2"
+6 -4
Documentation/devicetree/bindings/soc/mediatek/scpsys.txt
··· 17 17 - reg: Address range of the SCPSYS unit 18 18 - infracfg: must contain a phandle to the infracfg controller 19 19 - clock, clock-names: clocks according to the common clock binding. 20 - The clocks needed "mm" and "mfg". These are the 21 - clocks which hardware needs to be enabled before 22 - enabling certain power domains. 20 + The clocks needed "mm", "mfg", "venc" and "venc_lt". 21 + These are the clocks which hardware needs to be enabled 22 + before enabling certain power domains. 23 23 24 24 Example: 25 25 ··· 30 30 infracfg = <&infracfg>; 31 31 clocks = <&clk26m>, 32 32 <&topckgen CLK_TOP_MM_SEL>; 33 - clock-names = "mfg", "mm"; 33 + <&topckgen CLK_TOP_VENC_SEL>, 34 + <&topckgen CLK_TOP_VENC_LT_SEL>; 35 + clock-names = "mfg", "mm", "venc", "venc_lt"; 34 36 }; 35 37 36 38 Example consumer:
+5 -3
Documentation/devicetree/bindings/timer/mediatek,mtk-timer.txt
··· 3 3 4 4 Required properties: 5 5 - compatible should contain: 6 - * "mediatek,mt6589-timer" for MT6589 compatible timers 7 6 * "mediatek,mt6580-timer" for MT6580 compatible timers 8 - * "mediatek,mt6577-timer" for all compatible timers (MT6589, MT6580, 9 - MT6577) 7 + * "mediatek,mt6589-timer" for MT6589 compatible timers 8 + * "mediatek,mt8127-timer" for MT8127 compatible timers 9 + * "mediatek,mt8135-timer" for MT8135 compatible timers 10 + * "mediatek,mt8173-timer" for MT8173 compatible timers 11 + * "mediatek,mt6577-timer" for MT6577 and all above compatible timers 10 12 - reg: Should contain location and length for timers register. 11 13 - clocks: Clocks driving the timer hardware. This list should include two 12 14 clocks. The order is system clock and as second clock the RTC clock.
+27
arch/arm/boot/dts/mt8127.dtsi
··· 23 23 cpus { 24 24 #address-cells = <1>; 25 25 #size-cells = <0>; 26 + enable-method = "mediatek,mt81xx-tz-smp"; 26 27 27 28 cpu@0 { 28 29 device_type = "cpu"; ··· 46 45 reg = <0x3>; 47 46 }; 48 47 48 + }; 49 + 50 + reserved-memory { 51 + #address-cells = <2>; 52 + #size-cells = <2>; 53 + ranges; 54 + 55 + trustzone-bootinfo@80002000 { 56 + compatible = "mediatek,trustzone-bootinfo"; 57 + reg = <0 0x80002000 0 0x1000>; 58 + }; 49 59 }; 50 60 51 61 clocks { ··· 82 70 clock-frequency = <26000000>; 83 71 #clock-cells = <0>; 84 72 }; 73 + }; 74 + 75 + timer { 76 + compatible = "arm,armv7-timer"; 77 + interrupt-parent = <&gic>; 78 + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | 79 + IRQ_TYPE_LEVEL_LOW)>, 80 + <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | 81 + IRQ_TYPE_LEVEL_LOW)>, 82 + <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | 83 + IRQ_TYPE_LEVEL_LOW)>, 84 + <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | 85 + IRQ_TYPE_LEVEL_LOW)>; 86 + clock-frequency = <13000000>; 87 + arm,cpu-registers-not-fw-configured; 85 88 }; 86 89 87 90 soc {
-23
arch/arm/boot/dts/mt8135-evbp1.dts
··· 32 32 compatible = "mediatek,mt6397-regulator"; 33 33 34 34 mt6397_vpca15_reg: buck_vpca15 { 35 - regulator-compatible = "buck_vpca15"; 36 35 regulator-name = "vpca15"; 37 36 regulator-min-microvolt = < 850000>; 38 37 regulator-max-microvolt = <1350000>; ··· 40 41 }; 41 42 42 43 mt6397_vpca7_reg: buck_vpca7 { 43 - regulator-compatible = "buck_vpca7"; 44 44 regulator-name = "vpca7"; 45 45 regulator-min-microvolt = < 850000>; 46 46 regulator-max-microvolt = <1350000>; ··· 48 50 }; 49 51 50 52 mt6397_vsramca15_reg: buck_vsramca15 { 51 - regulator-compatible = "buck_vsramca15"; 52 53 regulator-name = "vsramca15"; 53 54 regulator-min-microvolt = < 850000>; 54 55 regulator-max-microvolt = <1350000>; ··· 56 59 }; 57 60 58 61 mt6397_vsramca7_reg: buck_vsramca7 { 59 - regulator-compatible = "buck_vsramca7"; 60 62 regulator-name = "vsramca7"; 61 63 regulator-min-microvolt = < 850000>; 62 64 regulator-max-microvolt = <1350000>; ··· 64 68 }; 65 69 66 70 mt6397_vcore_reg: buck_vcore { 67 - regulator-compatible = "buck_vcore"; 68 71 regulator-name = "vcore"; 69 72 regulator-min-microvolt = < 850000>; 70 73 regulator-max-microvolt = <1350000>; ··· 72 77 }; 73 78 74 79 mt6397_vgpu_reg: buck_vgpu { 75 - regulator-compatible = "buck_vgpu"; 76 80 regulator-name = "vgpu"; 77 81 regulator-min-microvolt = < 700000>; 78 82 regulator-max-microvolt = <1350000>; ··· 80 86 }; 81 87 82 88 mt6397_vdrm_reg: buck_vdrm { 83 - regulator-compatible = "buck_vdrm"; 84 89 regulator-name = "vdrm"; 85 90 regulator-min-microvolt = <1200000>; 86 91 regulator-max-microvolt = <1400000>; ··· 88 95 }; 89 96 90 97 mt6397_vio18_reg: buck_vio18 { 91 - regulator-compatible = "buck_vio18"; 92 98 regulator-name = "vio18"; 93 99 regulator-min-microvolt = <1620000>; 94 100 regulator-max-microvolt = <1980000>; ··· 96 104 }; 97 105 98 106 mt6397_vtcxo_reg: ldo_vtcxo { 99 - regulator-compatible = "ldo_vtcxo"; 100 107 regulator-name = "vtcxo"; 101 108 regulator-always-on; 102 109 }; 103 110 104 111 mt6397_va28_reg: ldo_va28 { 105 - regulator-compatible = "ldo_va28"; 106 112 regulator-name = "va28"; 107 113 regulator-always-on; 108 114 }; 109 115 110 116 mt6397_vcama_reg: ldo_vcama { 111 - regulator-compatible = "ldo_vcama"; 112 117 regulator-name = "vcama"; 113 118 regulator-min-microvolt = <1500000>; 114 119 regulator-max-microvolt = <2800000>; ··· 113 124 }; 114 125 115 126 mt6397_vio28_reg: ldo_vio28 { 116 - regulator-compatible = "ldo_vio28"; 117 127 regulator-name = "vio28"; 118 128 regulator-always-on; 119 129 }; 120 130 121 131 mt6397_vusb_reg: ldo_vusb { 122 - regulator-compatible = "ldo_vusb"; 123 132 regulator-name = "vusb"; 124 133 }; 125 134 126 135 mt6397_vmc_reg: ldo_vmc { 127 - regulator-compatible = "ldo_vmc"; 128 136 regulator-name = "vmc"; 129 137 regulator-min-microvolt = <1800000>; 130 138 regulator-max-microvolt = <3300000>; ··· 129 143 }; 130 144 131 145 mt6397_vmch_reg: ldo_vmch { 132 - regulator-compatible = "ldo_vmch"; 133 146 regulator-name = "vmch"; 134 147 regulator-min-microvolt = <3000000>; 135 148 regulator-max-microvolt = <3300000>; ··· 136 151 }; 137 152 138 153 mt6397_vemc_3v3_reg: ldo_vemc3v3 { 139 - regulator-compatible = "ldo_vemc3v3"; 140 154 regulator-name = "vemc_3v3"; 141 155 regulator-min-microvolt = <3000000>; 142 156 regulator-max-microvolt = <3300000>; ··· 143 159 }; 144 160 145 161 mt6397_vgp1_reg: ldo_vgp1 { 146 - regulator-compatible = "ldo_vgp1"; 147 162 regulator-name = "vcamd"; 148 163 regulator-min-microvolt = <1220000>; 149 164 regulator-max-microvolt = <3300000>; ··· 150 167 }; 151 168 152 169 mt6397_vgp2_reg: ldo_vgp2 { 153 - regulator-compatible = "ldo_vgp2"; 154 170 regulator-name = "vcamio"; 155 171 regulator-min-microvolt = <1000000>; 156 172 regulator-max-microvolt = <3300000>; ··· 157 175 }; 158 176 159 177 mt6397_vgp3_reg: ldo_vgp3 { 160 - regulator-compatible = "ldo_vgp3"; 161 178 regulator-name = "vcamaf"; 162 179 regulator-min-microvolt = <1200000>; 163 180 regulator-max-microvolt = <3300000>; ··· 164 183 }; 165 184 166 185 mt6397_vgp4_reg: ldo_vgp4 { 167 - regulator-compatible = "ldo_vgp4"; 168 186 regulator-name = "vgp4"; 169 187 regulator-min-microvolt = <1200000>; 170 188 regulator-max-microvolt = <3300000>; ··· 171 191 }; 172 192 173 193 mt6397_vgp5_reg: ldo_vgp5 { 174 - regulator-compatible = "ldo_vgp5"; 175 194 regulator-name = "vgp5"; 176 195 regulator-min-microvolt = <1200000>; 177 196 regulator-max-microvolt = <3000000>; ··· 178 199 }; 179 200 180 201 mt6397_vgp6_reg: ldo_vgp6 { 181 - regulator-compatible = "ldo_vgp6"; 182 202 regulator-name = "vgp6"; 183 203 regulator-min-microvolt = <1200000>; 184 204 regulator-max-microvolt = <3300000>; ··· 185 207 }; 186 208 187 209 mt6397_vibr_reg: ldo_vibr { 188 - regulator-compatible = "ldo_vibr"; 189 210 regulator-name = "vibr"; 190 211 regulator-min-microvolt = <1300000>; 191 212 regulator-max-microvolt = <3300000>;
+27
arch/arm/boot/dts/mt8135.dtsi
··· 46 46 cpus { 47 47 #address-cells = <1>; 48 48 #size-cells = <0>; 49 + enable-method = "mediatek,mt81xx-tz-smp"; 49 50 50 51 cpu0: cpu@0 { 51 52 device_type = "cpu"; ··· 73 72 }; 74 73 }; 75 74 75 + reserved-memory { 76 + #address-cells = <2>; 77 + #size-cells = <2>; 78 + ranges; 79 + 80 + trustzone-bootinfo@80002000 { 81 + compatible = "mediatek,trustzone-bootinfo"; 82 + reg = <0 0x80002000 0 0x1000>; 83 + }; 84 + }; 85 + 76 86 clocks { 77 87 #address-cells = <2>; 78 88 #size-cells = <2>; ··· 107 95 #clock-cells = <0>; 108 96 clock-frequency = <26000000>; 109 97 }; 98 + }; 99 + 100 + timer { 101 + compatible = "arm,armv7-timer"; 102 + interrupt-parent = <&gic>; 103 + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | 104 + IRQ_TYPE_LEVEL_LOW)>, 105 + <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | 106 + IRQ_TYPE_LEVEL_LOW)>, 107 + <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | 108 + IRQ_TYPE_LEVEL_LOW)>, 109 + <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | 110 + IRQ_TYPE_LEVEL_LOW)>; 111 + clock-frequency = <13000000>; 112 + arm,cpu-registers-not-fw-configured; 110 113 }; 111 114 112 115 soc {