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

Merge tag 'qcom-arm32-for-6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt

Qualcomm ARM32 DeviceTree changes for v6.9

Support for the Samsung Galaxy Tab 4 10.1 LTE is added.

On MSM8226 CPU, SAW and ACC nodes are introduced to enable SMP support.
Watchdog definition is also added, and all nodes are sorted and cleaned
up.
rmtfs memory is defined on HTC One Mini 2, vibrator support is addedto
LG G Watch R, touch keycodes are defined for Samsung Galaxy Tab 4.
The Samsung Galaxy Tab 4 DeviceTree is refactored to allow more variants
to be introduced easily.

The SAW nodes across APQ8064, IPQ8064, MSM8960 and MSM8974 are updated
based on recent work on the binding and driver.

On IPQ8064 SAW nodes are cleaned up, and unused reset-names is dropped
from DWC3.

On MSM8960 GSBI3 and the I2C bus therein is introduced, in order to
introduce touchscreen support on the Samsung Galaxy Express SGH-I437.
gpio-keys are introduced on the same.

On MSM8974 the QFPROM register size is corrected. The order of the
clocks in the SDX65 DWC3 node is corrected to match the binding.

For a variety of platforms interrupt-related constants are replaced
with defined.

The mach-qcom Kconfig options are cleaned up, to avoid unnecessary
per-platform options.

* tag 'qcom-arm32-for-6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (40 commits)
ARM: dts: qcom: samsung-matisse-common: Add UART
ARM: dts: qcom: Add support for Samsung Galaxy Tab 4 10.1 LTE (SM-T535)
ARM: dts: qcom: samsung-matisse-common: Add initial common device tree
ARM: dts: qcom: ipq8064: drop 'regulator' property from SAW2 devices
ARM: dts: qcom: ipq4019: drop 'regulator' property from SAW2 devices
ARM: dts: qcom: msm8974: drop 'regulator' property from SAW2 device
ARM: dts: qcom: apq8084: drop 'regulator' property from SAW2 device
ARM: dts: qcom: msm8960: declare SAW2 regulators
ARM: dts: qcom: apq8064: declare SAW2 regulators
ARM: dts: qcom: ipq8064: rename SAW nodes to power-manager
ARM: dts: qcom: ipq4019: rename SAW nodes to power-manager
ARM: dts: qcom: msm8974: rename SAW nodes to power-manager
ARM: dts: qcom: msm8960: rename SAW nodes to power-manager
ARM: dts: qcom: apq8084: rename SAW nodes to power-manager
ARM: dts: qcom: apq8064: rename SAW nodes to power-manager
ARM: dts: qcom: ipq8064: use SoC-specific compatibles for SAW2 devices
ARM: dts: qcom: ipq4019: use SoC-specific compatibles for SAW2 devices
ARM: dts: qcom: msm8960: use SoC-specific compatibles for SAW2 devices
ARM: dts: qcom: msm8974: use new compat string for L2 SAW2 unit
ARM: dts: qcom: apq8084: use new compat string for L2 SAW2 unit
...

Link: https://lore.kernel.org/r/20240304033507.89751-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+1329 -1008
+1 -3
arch/arm/Makefile
··· 158 158 ifeq ($(CONFIG_ARCH_SA1100),y) 159 159 textofs-$(CONFIG_SA1111) := 0x00208000 160 160 endif 161 - textofs-$(CONFIG_ARCH_IPQ40XX) := 0x00208000 162 - textofs-$(CONFIG_ARCH_MSM8X60) := 0x00208000 163 - textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000 161 + textofs-$(CONFIG_ARCH_QCOM_RESERVE_SMEM) := 0x00208000 164 162 textofs-$(CONFIG_ARCH_MESON) := 0x00208000 165 163 textofs-$(CONFIG_ARCH_AXXIA) := 0x00308000 166 164
+1
arch/arm/boot/dts/qcom/Makefile
··· 36 36 qcom-msm8926-microsoft-superman-lte.dtb \ 37 37 qcom-msm8926-microsoft-tesla.dtb \ 38 38 qcom-msm8926-motorola-peregrine.dtb \ 39 + qcom-msm8926-samsung-matisselte.dtb \ 39 40 qcom-msm8960-cdp.dtb \ 40 41 qcom-msm8960-samsung-expressatt.dtb \ 41 42 qcom-msm8974-lge-nexus5-hammerhead.dtb \
+38
arch/arm/boot/dts/qcom/qcom-apq8026-lg-lenok.dts
··· 7 7 8 8 #include "qcom-msm8226.dtsi" 9 9 #include "pm8226.dtsi" 10 + #include <dt-bindings/clock/qcom,mmcc-msm8974.h> 10 11 11 12 /delete-node/ &adsp_region; 12 13 ··· 56 55 57 56 pinctrl-names = "default"; 58 57 pinctrl-0 = <&wlan_regulator_default_state>; 58 + }; 59 + 60 + pwm_vibrator: pwm { 61 + compatible = "clk-pwm"; 62 + clocks = <&mmcc CAMSS_GP0_CLK>; 63 + 64 + pinctrl-0 = <&vibrator_clk_default_state>; 65 + pinctrl-names = "default"; 66 + 67 + #pwm-cells = <2>; 68 + }; 69 + 70 + vibrator { 71 + compatible = "pwm-vibrator"; 72 + 73 + pwms = <&pwm_vibrator 0 10000>; 74 + pwm-names = "enable"; 75 + 76 + vcc-supply = <&pm8226_l28>; 77 + enable-gpios = <&tlmm 62 GPIO_ACTIVE_HIGH>; 78 + 79 + pinctrl-0 = <&vibrator_en_default_state>; 80 + pinctrl-names = "default"; 59 81 }; 60 82 }; 61 83 ··· 352 328 bias-disable; 353 329 output-high; 354 330 }; 331 + }; 332 + 333 + vibrator_clk_default_state: vibrator-clk-default-state { 334 + pins = "gpio33"; 335 + function = "gp0_clk"; 336 + drive-strength = <2>; 337 + bias-disable; 338 + }; 339 + 340 + vibrator_en_default_state: vibrator-en-default-state { 341 + pins = "gpio62"; 342 + function = "gpio"; 343 + drive-strength = <2>; 344 + bias-disable; 355 345 }; 356 346 357 347 wlan_hostwake_default_state: wlan-hostwake-default-state {
+12 -440
arch/arm/boot/dts/qcom/qcom-apq8026-samsung-matisse-wifi.dts
··· 5 5 6 6 /dts-v1/; 7 7 8 - #include <dt-bindings/input/input.h> 9 - #include "qcom-msm8226.dtsi" 10 - #include "pm8226.dtsi" 11 - 12 - /delete-node/ &adsp_region; 13 - /delete-node/ &smem_region; 8 + #include "qcom-msm8226-samsung-matisse-common.dtsi" 14 9 15 10 / { 16 11 model = "Samsung Galaxy Tab 4 10.1"; 17 12 compatible = "samsung,matisse-wifi", "qcom,apq8026"; 18 13 chassis-type = "tablet"; 19 - 20 - aliases { 21 - mmc0 = &sdhc_1; /* SDC1 eMMC slot */ 22 - mmc1 = &sdhc_2; /* SDC2 SD card slot */ 23 - display0 = &framebuffer0; 24 - }; 25 - 26 - chosen { 27 - #address-cells = <1>; 28 - #size-cells = <1>; 29 - ranges; 30 - 31 - stdout-path = "display0"; 32 - 33 - framebuffer0: framebuffer@3200000 { 34 - compatible = "simple-framebuffer"; 35 - reg = <0x03200000 0x800000>; 36 - width = <1280>; 37 - height = <800>; 38 - stride = <(1280 * 3)>; 39 - format = "r8g8b8"; 40 - }; 41 - }; 42 - 43 - gpio-hall-sensor { 44 - compatible = "gpio-keys"; 45 - 46 - event-hall-sensor { 47 - label = "Hall Effect Sensor"; 48 - gpios = <&tlmm 110 GPIO_ACTIVE_LOW>; 49 - linux,input-type = <EV_SW>; 50 - linux,code = <SW_LID>; 51 - debounce-interval = <15>; 52 - linux,can-disable; 53 - wakeup-source; 54 - }; 55 - }; 56 - 57 - gpio-keys { 58 - compatible = "gpio-keys"; 59 - autorepeat; 60 - 61 - key-home { 62 - label = "Home"; 63 - gpios = <&tlmm 108 GPIO_ACTIVE_LOW>; 64 - linux,code = <KEY_HOMEPAGE>; 65 - debounce-interval = <15>; 66 - }; 67 - 68 - key-volume-down { 69 - label = "Volume Down"; 70 - gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 71 - linux,code = <KEY_VOLUMEDOWN>; 72 - debounce-interval = <15>; 73 - }; 74 - 75 - key-volume-up { 76 - label = "Volume Up"; 77 - gpios = <&tlmm 106 GPIO_ACTIVE_LOW>; 78 - linux,code = <KEY_VOLUMEUP>; 79 - debounce-interval = <15>; 80 - }; 81 - }; 82 - 83 - i2c-backlight { 84 - compatible = "i2c-gpio"; 85 - sda-gpios = <&tlmm 20 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 86 - scl-gpios = <&tlmm 21 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 87 - 88 - pinctrl-0 = <&backlight_i2c_default_state>; 89 - pinctrl-names = "default"; 90 - 91 - i2c-gpio,delay-us = <4>; 92 - 93 - #address-cells = <1>; 94 - #size-cells = <0>; 95 - 96 - backlight@2c { 97 - compatible = "ti,lp8556"; 98 - reg = <0x2c>; 99 - 100 - dev-ctrl = /bits/ 8 <0x80>; 101 - init-brt = /bits/ 8 <0x3f>; 102 - 103 - pwms = <&backlight_pwm 0 100000>; 104 - pwm-names = "lp8556"; 105 - 106 - rom-a0h { 107 - rom-addr = /bits/ 8 <0xa0>; 108 - rom-val = /bits/ 8 <0x44>; 109 - }; 110 - 111 - rom-a1h { 112 - rom-addr = /bits/ 8 <0xa1>; 113 - rom-val = /bits/ 8 <0x6c>; 114 - }; 115 - 116 - rom-a5h { 117 - rom-addr = /bits/ 8 <0xa5>; 118 - rom-val = /bits/ 8 <0x24>; 119 - }; 120 - }; 121 - }; 122 - 123 - backlight_pwm: pwm { 124 - compatible = "clk-pwm"; 125 - #pwm-cells = <2>; 126 - clocks = <&mmcc CAMSS_GP0_CLK>; 127 - pinctrl-0 = <&backlight_pwm_default_state>; 128 - pinctrl-names = "default"; 129 - }; 130 - 131 - reg_tsp_1p8v: regulator-tsp-1p8v { 132 - compatible = "regulator-fixed"; 133 - regulator-name = "tsp_1p8v"; 134 - regulator-min-microvolt = <1800000>; 135 - regulator-max-microvolt = <1800000>; 136 - 137 - gpio = <&tlmm 31 GPIO_ACTIVE_HIGH>; 138 - enable-active-high; 139 - 140 - pinctrl-names = "default"; 141 - pinctrl-0 = <&tsp_en_default_state>; 142 - }; 143 14 144 15 reg_tsp_3p3v: regulator-tsp-3p3v { 145 16 compatible = "regulator-fixed"; ··· 24 153 pinctrl-names = "default"; 25 154 pinctrl-0 = <&tsp_en1_default_state>; 26 155 }; 27 - 28 - reserved-memory { 29 - #address-cells = <1>; 30 - #size-cells = <1>; 31 - ranges; 32 - 33 - framebuffer@3200000 { 34 - reg = <0x03200000 0x800000>; 35 - no-map; 36 - }; 37 - 38 - mpss@8400000 { 39 - reg = <0x08400000 0x1f00000>; 40 - no-map; 41 - }; 42 - 43 - mba@a300000 { 44 - reg = <0x0a300000 0x100000>; 45 - no-map; 46 - }; 47 - 48 - reserved@cb00000 { 49 - reg = <0x0cb00000 0x700000>; 50 - no-map; 51 - }; 52 - 53 - wcnss@d200000 { 54 - reg = <0x0d200000 0x700000>; 55 - no-map; 56 - }; 57 - 58 - adsp_region: adsp@d900000 { 59 - reg = <0x0d900000 0x1800000>; 60 - no-map; 61 - }; 62 - 63 - venus@f100000 { 64 - reg = <0x0f100000 0x500000>; 65 - no-map; 66 - }; 67 - 68 - smem_region: smem@fa00000 { 69 - reg = <0x0fa00000 0x100000>; 70 - no-map; 71 - }; 72 - 73 - reserved@fb00000 { 74 - reg = <0x0fb00000 0x260000>; 75 - no-map; 76 - }; 77 - 78 - rfsa@fd60000 { 79 - reg = <0x0fd60000 0x20000>; 80 - no-map; 81 - }; 82 - 83 - rmtfs@fd80000 { 84 - compatible = "qcom,rmtfs-mem"; 85 - reg = <0x0fd80000 0x180000>; 86 - no-map; 87 - 88 - qcom,client-id = <1>; 89 - }; 90 - }; 91 - }; 92 - 93 - &adsp { 94 - status = "okay"; 95 156 }; 96 157 97 158 &blsp1_i2c2 { ··· 46 243 }; 47 244 }; 48 245 49 - &blsp1_i2c4 { 50 - status = "okay"; 51 - 52 - muic: usb-switch@25 { 53 - compatible = "siliconmitus,sm5502-muic"; 54 - reg = <0x25>; 55 - 56 - interrupt-parent = <&tlmm>; 57 - interrupts = <67 IRQ_TYPE_EDGE_FALLING>; 58 - 59 - pinctrl-names = "default"; 60 - pinctrl-0 = <&muic_int_default_state>; 61 - }; 62 - }; 63 - 64 246 &blsp1_i2c5 { 65 247 status = "okay"; 66 248 ··· 55 267 56 268 interrupt-parent = <&tlmm>; 57 269 interrupts = <17 IRQ_TYPE_LEVEL_LOW>; 270 + 271 + linux,keycodes = <KEY_RESERVED>, 272 + <KEY_RESERVED>, 273 + <KEY_RESERVED>, 274 + <KEY_RESERVED>, 275 + <KEY_APPSELECT>, 276 + <KEY_BACK>; 58 277 59 278 pinctrl-names = "default"; 60 279 pinctrl-0 = <&tsp_int_rst_default_state>; ··· 73 278 }; 74 279 }; 75 280 76 - &rpm_requests { 77 - regulators { 78 - compatible = "qcom,rpm-pm8226-regulators"; 79 - 80 - pm8226_s3: s3 { 81 - regulator-min-microvolt = <1200000>; 82 - regulator-max-microvolt = <1300000>; 83 - }; 84 - 85 - pm8226_s4: s4 { 86 - regulator-min-microvolt = <1800000>; 87 - regulator-max-microvolt = <1800000>; 88 - }; 89 - 90 - pm8226_s5: s5 { 91 - regulator-min-microvolt = <1150000>; 92 - regulator-max-microvolt = <1150000>; 93 - }; 94 - 95 - pm8226_l1: l1 { 96 - regulator-min-microvolt = <1225000>; 97 - regulator-max-microvolt = <1225000>; 98 - }; 99 - 100 - pm8226_l2: l2 { 101 - regulator-min-microvolt = <1200000>; 102 - regulator-max-microvolt = <1200000>; 103 - }; 104 - 105 - pm8226_l3: l3 { 106 - regulator-min-microvolt = <750000>; 107 - regulator-max-microvolt = <1337500>; 108 - regulator-always-on; 109 - }; 110 - 111 - pm8226_l4: l4 { 112 - regulator-min-microvolt = <1200000>; 113 - regulator-max-microvolt = <1200000>; 114 - }; 115 - 116 - pm8226_l5: l5 { 117 - regulator-min-microvolt = <1200000>; 118 - regulator-max-microvolt = <1200000>; 119 - }; 120 - 121 - pm8226_l6: l6 { 122 - regulator-min-microvolt = <1800000>; 123 - regulator-max-microvolt = <1800000>; 124 - regulator-always-on; 125 - }; 126 - 127 - pm8226_l7: l7 { 128 - regulator-min-microvolt = <1850000>; 129 - regulator-max-microvolt = <1850000>; 130 - }; 131 - 132 - pm8226_l8: l8 { 133 - regulator-min-microvolt = <1800000>; 134 - regulator-max-microvolt = <1800000>; 135 - regulator-always-on; 136 - }; 137 - 138 - pm8226_l9: l9 { 139 - regulator-min-microvolt = <2050000>; 140 - regulator-max-microvolt = <2050000>; 141 - }; 142 - 143 - pm8226_l10: l10 { 144 - regulator-min-microvolt = <1800000>; 145 - regulator-max-microvolt = <1800000>; 146 - }; 147 - 148 - pm8226_l12: l12 { 149 - regulator-min-microvolt = <1800000>; 150 - regulator-max-microvolt = <1800000>; 151 - }; 152 - 153 - pm8226_l14: l14 { 154 - regulator-min-microvolt = <2750000>; 155 - regulator-max-microvolt = <2750000>; 156 - }; 157 - 158 - pm8226_l15: l15 { 159 - regulator-min-microvolt = <1800000>; 160 - regulator-max-microvolt = <3300000>; 161 - }; 162 - 163 - pm8226_l16: l16 { 164 - regulator-min-microvolt = <3000000>; 165 - regulator-max-microvolt = <3350000>; 166 - }; 167 - 168 - pm8226_l17: l17 { 169 - regulator-min-microvolt = <2950000>; 170 - regulator-max-microvolt = <2950000>; 171 - 172 - regulator-system-load = <200000>; 173 - regulator-allow-set-load; 174 - regulator-always-on; 175 - }; 176 - 177 - pm8226_l18: l18 { 178 - regulator-min-microvolt = <2950000>; 179 - regulator-max-microvolt = <2950000>; 180 - }; 181 - 182 - pm8226_l19: l19 { 183 - regulator-min-microvolt = <2850000>; 184 - regulator-max-microvolt = <3000000>; 185 - }; 186 - 187 - pm8226_l20: l20 { 188 - regulator-min-microvolt = <3075000>; 189 - regulator-max-microvolt = <3075000>; 190 - }; 191 - 192 - pm8226_l21: l21 { 193 - regulator-min-microvolt = <1800000>; 194 - regulator-max-microvolt = <2950000>; 195 - }; 196 - 197 - pm8226_l22: l22 { 198 - regulator-min-microvolt = <1800000>; 199 - regulator-max-microvolt = <3000000>; 200 - }; 201 - 202 - pm8226_l23: l23 { 203 - regulator-min-microvolt = <1800000>; 204 - regulator-max-microvolt = <3300000>; 205 - }; 206 - 207 - pm8226_l24: l24 { 208 - regulator-min-microvolt = <1300000>; 209 - regulator-max-microvolt = <1350000>; 210 - }; 211 - 212 - pm8226_l25: l25 { 213 - regulator-min-microvolt = <1775000>; 214 - regulator-max-microvolt = <2125000>; 215 - }; 216 - 217 - pm8226_l26: l26 { 218 - regulator-min-microvolt = <1225000>; 219 - regulator-max-microvolt = <1300000>; 220 - }; 221 - 222 - pm8226_l27: l27 { 223 - regulator-min-microvolt = <1800000>; 224 - regulator-max-microvolt = <1800000>; 225 - }; 226 - 227 - pm8226_l28: l28 { 228 - regulator-min-microvolt = <1800000>; 229 - regulator-max-microvolt = <2950000>; 230 - }; 231 - 232 - pm8226_lvs1: lvs1 {}; 233 - }; 281 + &pm8226_l3 { 282 + regulator-max-microvolt = <1337500>; 234 283 }; 235 284 236 - &sdhc_1 { 237 - vmmc-supply = <&pm8226_l17>; 238 - vqmmc-supply = <&pm8226_l6>; 239 - 240 - bus-width = <8>; 241 - non-removable; 242 - 243 - status = "okay"; 244 - }; 245 - 246 - &sdhc_2 { 247 - vmmc-supply = <&pm8226_l18>; 248 - vqmmc-supply = <&pm8226_l21>; 249 - 250 - bus-width = <4>; 251 - cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 252 - 253 - status = "okay"; 285 + &pm8226_s4 { 286 + regulator-max-microvolt = <1800000>; 254 287 }; 255 288 256 289 &tlmm { 257 - accel_int_default_state: accel-int-default-state { 258 - pins = "gpio54"; 259 - function = "gpio"; 260 - drive-strength = <2>; 261 - bias-disable; 262 - }; 263 - 264 - backlight_i2c_default_state: backlight-i2c-default-state { 265 - pins = "gpio20", "gpio21"; 266 - function = "gpio"; 267 - drive-strength = <2>; 268 - bias-disable; 269 - }; 270 - 271 - backlight_pwm_default_state: backlight-pwm-default-state { 272 - pins = "gpio33"; 273 - function = "gp0_clk"; 274 - }; 275 - 276 - muic_int_default_state: muic-int-default-state { 277 - pins = "gpio67"; 278 - function = "gpio"; 279 - drive-strength = <2>; 280 - bias-disable; 281 - }; 282 - 283 - tsp_en_default_state: tsp-en-default-state { 284 - pins = "gpio31"; 285 - function = "gpio"; 286 - drive-strength = <2>; 287 - bias-disable; 288 - }; 289 - 290 290 tsp_en1_default_state: tsp-en1-default-state { 291 291 pins = "gpio73"; 292 292 function = "gpio"; 293 293 drive-strength = <2>; 294 294 bias-disable; 295 295 }; 296 - 297 - tsp_int_rst_default_state: tsp-int-rst-default-state { 298 - pins = "gpio17"; 299 - function = "gpio"; 300 - drive-strength = <10>; 301 - bias-pull-up; 302 - }; 303 - }; 304 - 305 - &usb { 306 - extcon = <&muic>, <&muic>; 307 - status = "okay"; 308 - }; 309 - 310 - &usb_hs_phy { 311 - extcon = <&muic>; 312 - v1p8-supply = <&pm8226_l10>; 313 - v3p3-supply = <&pm8226_l20>; 314 296 };
+43 -27
arch/arm/boot/dts/qcom/qcom-apq8064.dtsi
··· 190 190 191 191 cpu-pmu { 192 192 compatible = "qcom,krait-pmu"; 193 - interrupts = <1 10 0x304>; 193 + interrupts = <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>; 194 194 }; 195 195 196 196 clocks { ··· 244 244 245 245 modem_smsm: modem@1 { 246 246 reg = <1>; 247 - interrupts = <0 38 IRQ_TYPE_EDGE_RISING>; 247 + interrupts = <GIC_SPI 38 IRQ_TYPE_EDGE_RISING>; 248 248 249 249 interrupt-controller; 250 250 #interrupt-cells = <2>; ··· 252 252 253 253 q6_smsm: q6@2 { 254 254 reg = <2>; 255 - interrupts = <0 89 IRQ_TYPE_EDGE_RISING>; 255 + interrupts = <GIC_SPI 89 IRQ_TYPE_EDGE_RISING>; 256 256 257 257 interrupt-controller; 258 258 #interrupt-cells = <2>; ··· 260 260 261 261 wcnss_smsm: wcnss@3 { 262 262 reg = <3>; 263 - interrupts = <0 204 IRQ_TYPE_EDGE_RISING>; 263 + interrupts = <GIC_SPI 204 IRQ_TYPE_EDGE_RISING>; 264 264 265 265 interrupt-controller; 266 266 #interrupt-cells = <2>; ··· 268 268 269 269 dsps_smsm: dsps@4 { 270 270 reg = <4>; 271 - interrupts = <0 137 IRQ_TYPE_EDGE_RISING>; 271 + interrupts = <GIC_SPI 137 IRQ_TYPE_EDGE_RISING>; 272 272 273 273 interrupt-controller; 274 274 #interrupt-cells = <2>; ··· 299 299 #gpio-cells = <2>; 300 300 interrupt-controller; 301 301 #interrupt-cells = <2>; 302 - interrupts = <0 16 IRQ_TYPE_LEVEL_HIGH>; 302 + interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 303 303 304 304 pinctrl-names = "default"; 305 305 pinctrl-0 = <&ps_hold>; ··· 321 321 timer@200a000 { 322 322 compatible = "qcom,kpss-wdt-apq8064", "qcom,kpss-timer", 323 323 "qcom,msm-timer"; 324 - interrupts = <1 1 0x301>, 325 - <1 2 0x301>, 326 - <1 3 0x301>; 324 + interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>, 325 + <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>, 326 + <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>; 327 327 reg = <0x0200a000 0x100>; 328 328 clock-frequency = <27000000>; 329 329 cpu-offset = <0x80000>; ··· 365 365 #clock-cells = <0>; 366 366 }; 367 367 368 - saw0: power-controller@2089000 { 368 + saw0: power-manager@2089000 { 369 369 compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2"; 370 370 reg = <0x02089000 0x1000>, <0x02009000 0x1000>; 371 - regulator; 371 + 372 + saw0_vreg: regulator { 373 + regulator-min-microvolt = <850000>; 374 + regulator-max-microvolt = <1300000>; 375 + }; 372 376 }; 373 377 374 - saw1: power-controller@2099000 { 378 + saw1: power-manager@2099000 { 375 379 compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2"; 376 380 reg = <0x02099000 0x1000>, <0x02009000 0x1000>; 377 - regulator; 381 + 382 + saw1_vreg: regulator { 383 + regulator-min-microvolt = <850000>; 384 + regulator-max-microvolt = <1300000>; 385 + }; 378 386 }; 379 387 380 - saw2: power-controller@20a9000 { 388 + saw2: power-manager@20a9000 { 381 389 compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2"; 382 390 reg = <0x020a9000 0x1000>, <0x02009000 0x1000>; 383 - regulator; 391 + 392 + saw2_vreg: regulator { 393 + regulator-min-microvolt = <850000>; 394 + regulator-max-microvolt = <1300000>; 395 + }; 384 396 }; 385 397 386 - saw3: power-controller@20b9000 { 398 + saw3: power-manager@20b9000 { 387 399 compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2"; 388 400 reg = <0x020b9000 0x1000>, <0x02009000 0x1000>; 389 - regulator; 401 + 402 + saw3_vreg: regulator { 403 + regulator-min-microvolt = <850000>; 404 + regulator-max-microvolt = <1300000>; 405 + }; 390 406 }; 391 407 392 408 sps_sic_non_secure: sps-sic-non-secure@12100000 { ··· 427 411 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; 428 412 reg = <0x12450000 0x100>, 429 413 <0x12400000 0x03>; 430 - interrupts = <0 193 IRQ_TYPE_LEVEL_HIGH>; 414 + interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; 431 415 clocks = <&gcc GSBI1_UART_CLK>, <&gcc GSBI1_H_CLK>; 432 416 clock-names = "core", "iface"; 433 417 status = "disabled"; ··· 439 423 pinctrl-1 = <&i2c1_pins_sleep>; 440 424 pinctrl-names = "default", "sleep"; 441 425 reg = <0x12460000 0x1000>; 442 - interrupts = <0 194 IRQ_TYPE_LEVEL_HIGH>; 426 + interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>; 443 427 clocks = <&gcc GSBI1_QUP_CLK>, <&gcc GSBI1_H_CLK>; 444 428 clock-names = "core", "iface"; 445 429 #address-cells = <1>; ··· 468 452 pinctrl-0 = <&i2c2_pins>; 469 453 pinctrl-1 = <&i2c2_pins_sleep>; 470 454 pinctrl-names = "default", "sleep"; 471 - interrupts = <0 196 IRQ_TYPE_LEVEL_HIGH>; 455 + interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>; 472 456 clocks = <&gcc GSBI2_QUP_CLK>, <&gcc GSBI2_H_CLK>; 473 457 clock-names = "core", "iface"; 474 458 #address-cells = <1>; ··· 555 539 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; 556 540 reg = <0x1a240000 0x100>, 557 541 <0x1a200000 0x03>; 558 - interrupts = <0 154 IRQ_TYPE_LEVEL_HIGH>; 542 + interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>; 559 543 clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>; 560 544 clock-names = "core", "iface"; 561 545 status = "disabled"; ··· 564 548 gsbi5_spi: spi@1a280000 { 565 549 compatible = "qcom,spi-qup-v1.1.1"; 566 550 reg = <0x1a280000 0x1000>; 567 - interrupts = <0 155 IRQ_TYPE_LEVEL_HIGH>; 551 + interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>; 568 552 pinctrl-0 = <&spi5_default>; 569 553 pinctrl-1 = <&spi5_sleep>; 570 554 pinctrl-names = "default", "sleep"; ··· 591 575 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; 592 576 reg = <0x16540000 0x100>, 593 577 <0x16500000 0x03>; 594 - interrupts = <0 156 IRQ_TYPE_LEVEL_HIGH>; 578 + interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>; 595 579 clocks = <&gcc GSBI6_UART_CLK>, <&gcc GSBI6_H_CLK>; 596 580 clock-names = "core", "iface"; 597 581 status = "disabled"; ··· 627 611 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; 628 612 reg = <0x16640000 0x1000>, 629 613 <0x16600000 0x1000>; 630 - interrupts = <0 158 IRQ_TYPE_LEVEL_HIGH>; 614 + interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>; 631 615 clocks = <&gcc GSBI7_UART_CLK>, <&gcc GSBI7_H_CLK>; 632 616 clock-names = "core", "iface"; 633 617 status = "disabled"; ··· 924 908 sdcc3bam: dma-controller@12182000 { 925 909 compatible = "qcom,bam-v1.3.0"; 926 910 reg = <0x12182000 0x8000>; 927 - interrupts = <0 96 IRQ_TYPE_LEVEL_HIGH>; 911 + interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 928 912 clocks = <&gcc SDC3_H_CLK>; 929 913 clock-names = "bam_clk"; 930 914 #dma-cells = <1>; ··· 952 936 sdcc4bam: dma-controller@121c2000 { 953 937 compatible = "qcom,bam-v1.3.0"; 954 938 reg = <0x121c2000 0x8000>; 955 - interrupts = <0 95 IRQ_TYPE_LEVEL_HIGH>; 939 + interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 956 940 clocks = <&gcc SDC4_H_CLK>; 957 941 clock-names = "bam_clk"; 958 942 #dma-cells = <1>; ··· 981 965 sdcc1bam: dma-controller@12402000 { 982 966 compatible = "qcom,bam-v1.3.0"; 983 967 reg = <0x12402000 0x8000>; 984 - interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>; 968 + interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 985 969 clocks = <&gcc SDC1_H_CLK>; 986 970 clock-names = "bam_clk"; 987 971 #dma-cells = <1>;
+6 -7
arch/arm/boot/dts/qcom/qcom-apq8084.dtsi
··· 629 629 }; 630 630 }; 631 631 632 - saw0: power-controller@f9089000 { 632 + saw0: power-manager@f9089000 { 633 633 compatible = "qcom,apq8084-saw2-v2.1-cpu", "qcom,saw2"; 634 634 reg = <0xf9089000 0x1000>, <0xf9009000 0x1000>; 635 635 }; 636 636 637 - saw1: power-controller@f9099000 { 637 + saw1: power-manager@f9099000 { 638 638 compatible = "qcom,apq8084-saw2-v2.1-cpu", "qcom,saw2"; 639 639 reg = <0xf9099000 0x1000>, <0xf9009000 0x1000>; 640 640 }; 641 641 642 - saw2: power-controller@f90a9000 { 642 + saw2: power-manager@f90a9000 { 643 643 compatible = "qcom,apq8084-saw2-v2.1-cpu", "qcom,saw2"; 644 644 reg = <0xf90a9000 0x1000>, <0xf9009000 0x1000>; 645 645 }; 646 646 647 - saw3: power-controller@f90b9000 { 647 + saw3: power-manager@f90b9000 { 648 648 compatible = "qcom,apq8084-saw2-v2.1-cpu", "qcom,saw2"; 649 649 reg = <0xf90b9000 0x1000>, <0xf9009000 0x1000>; 650 650 }; 651 651 652 - saw_l2: power-controller@f9012000 { 653 - compatible = "qcom,saw2"; 652 + saw_l2: power-manager@f9012000 { 653 + compatible = "qcom,apq8084-saw2-v2.1-l2", "qcom,saw2"; 654 654 reg = <0xf9012000 0x1000>; 655 - regulator; 656 655 }; 657 656 658 657 acc0: power-manager@f9088000 {
+75 -79
arch/arm/boot/dts/qcom/qcom-ipq4019-ap.dk01.1.dtsi
··· 27 27 chosen { 28 28 stdout-path = "serial0:115200n8"; 29 29 }; 30 + }; 30 31 31 - soc { 32 - rng@22000 { 33 - status = "okay"; 34 - }; 32 + &prng { 33 + status = "okay"; 34 + }; 35 35 36 - pinctrl@1000000 { 37 - serial_pins: serial_pinmux { 38 - mux { 39 - pins = "gpio60", "gpio61"; 40 - function = "blsp_uart0"; 41 - bias-disable; 42 - }; 43 - }; 44 - 45 - spi_0_pins: spi_0_pinmux { 46 - pinmux { 47 - function = "blsp_spi0"; 48 - pins = "gpio55", "gpio56", "gpio57"; 49 - }; 50 - pinmux_cs { 51 - function = "gpio"; 52 - pins = "gpio54"; 53 - }; 54 - pinconf { 55 - pins = "gpio55", "gpio56", "gpio57"; 56 - drive-strength = <12>; 57 - bias-disable; 58 - }; 59 - pinconf_cs { 60 - pins = "gpio54"; 61 - drive-strength = <2>; 62 - bias-disable; 63 - output-high; 64 - }; 65 - }; 66 - }; 67 - 68 - blsp_dma: dma-controller@7884000 { 69 - status = "okay"; 70 - }; 71 - 72 - spi@78b5000 { 73 - pinctrl-0 = <&spi_0_pins>; 74 - pinctrl-names = "default"; 75 - status = "okay"; 76 - cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; 77 - 78 - mx25l25635e@0 { 79 - #address-cells = <1>; 80 - #size-cells = <1>; 81 - reg = <0>; 82 - compatible = "mx25l25635e"; 83 - spi-max-frequency = <24000000>; 84 - }; 85 - }; 86 - 87 - serial@78af000 { 88 - pinctrl-0 = <&serial_pins>; 89 - pinctrl-names = "default"; 90 - status = "okay"; 91 - }; 92 - 93 - cryptobam: dma-controller@8e04000 { 94 - status = "okay"; 95 - }; 96 - 97 - crypto@8e3a000 { 98 - status = "okay"; 99 - }; 100 - 101 - watchdog@b017000 { 102 - status = "okay"; 103 - }; 104 - 105 - wifi@a000000 { 106 - status = "okay"; 107 - }; 108 - 109 - wifi@a800000 { 110 - status = "okay"; 36 + &tlmm { 37 + serial_pins: serial_pinmux { 38 + mux { 39 + pins = "gpio60", "gpio61"; 40 + function = "blsp_uart0"; 41 + bias-disable; 111 42 }; 112 43 }; 44 + 45 + spi_0_pins: spi_0_pinmux { 46 + pinmux { 47 + function = "blsp_spi0"; 48 + pins = "gpio55", "gpio56", "gpio57"; 49 + }; 50 + pinmux_cs { 51 + function = "gpio"; 52 + pins = "gpio54"; 53 + }; 54 + pinconf { 55 + pins = "gpio55", "gpio56", "gpio57"; 56 + drive-strength = <12>; 57 + bias-disable; 58 + }; 59 + pinconf_cs { 60 + pins = "gpio54"; 61 + drive-strength = <2>; 62 + bias-disable; 63 + output-high; 64 + }; 65 + }; 66 + }; 67 + 68 + &blsp_dma { 69 + status = "okay"; 70 + }; 71 + 72 + &blsp1_spi1 { 73 + pinctrl-0 = <&spi_0_pins>; 74 + pinctrl-names = "default"; 75 + status = "okay"; 76 + cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; 77 + 78 + flash@0 { 79 + reg = <0>; 80 + compatible = "jedec,spi-nor"; 81 + spi-max-frequency = <24000000>; 82 + }; 83 + }; 84 + 85 + &blsp1_uart1 { 86 + pinctrl-0 = <&serial_pins>; 87 + pinctrl-names = "default"; 88 + status = "okay"; 89 + }; 90 + 91 + &cryptobam { 92 + status = "okay"; 93 + }; 94 + 95 + &crypto { 96 + status = "okay"; 97 + }; 98 + 99 + &watchdog { 100 + status = "okay"; 101 + }; 102 + 103 + &wifi0 { 104 + status = "okay"; 105 + }; 106 + 107 + &wifi1 { 108 + status = "okay"; 113 109 };
+15 -20
arch/arm/boot/dts/qcom/qcom-ipq4019.dtsi
··· 162 162 163 163 timer { 164 164 compatible = "arm,armv7-timer"; 165 - interrupts = <1 2 0xf08>, 166 - <1 3 0xf08>, 167 - <1 4 0xf08>, 168 - <1 1 0xf08>; 165 + interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 166 + <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 167 + <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 168 + <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 169 169 clock-frequency = <48000000>; 170 170 always-on; 171 171 }; ··· 350 350 reg = <0x0b0b8000 0x1000>, <0xb008000 0x1000>; 351 351 }; 352 352 353 - saw0: regulator@b089000 { 354 - compatible = "qcom,saw2"; 353 + saw0: power-manager@b089000 { 354 + compatible = "qcom,ipq4019-saw2-cpu", "qcom,saw2"; 355 355 reg = <0x0b089000 0x1000>, <0x0b009000 0x1000>; 356 - regulator; 357 356 }; 358 357 359 - saw1: regulator@b099000 { 360 - compatible = "qcom,saw2"; 358 + saw1: power-manager@b099000 { 359 + compatible = "qcom,ipq4019-saw2-cpu", "qcom,saw2"; 361 360 reg = <0x0b099000 0x1000>, <0x0b009000 0x1000>; 362 - regulator; 363 361 }; 364 362 365 - saw2: regulator@b0a9000 { 366 - compatible = "qcom,saw2"; 363 + saw2: power-manager@b0a9000 { 364 + compatible = "qcom,ipq4019-saw2-cpu", "qcom,saw2"; 367 365 reg = <0x0b0a9000 0x1000>, <0x0b009000 0x1000>; 368 - regulator; 369 366 }; 370 367 371 - saw3: regulator@b0b9000 { 372 - compatible = "qcom,saw2"; 368 + saw3: power-manager@b0b9000 { 369 + compatible = "qcom,ipq4019-saw2-cpu", "qcom,saw2"; 373 370 reg = <0x0b0b9000 0x1000>, <0x0b009000 0x1000>; 374 - regulator; 375 371 }; 376 372 377 - saw_l2: regulator@b012000 { 378 - compatible = "qcom,saw2"; 373 + saw_l2: power-manager@b012000 { 374 + compatible = "qcom,ipq4019-saw2-l2", "qcom,saw2"; 379 375 reg = <0xb012000 0x1000>; 380 - regulator; 381 376 }; 382 377 383 378 blsp1_uart1: serial@78af000 { ··· 679 684 clocks = <&gcc GCC_USB2_MASTER_CLK>, 680 685 <&gcc GCC_USB2_SLEEP_CLK>, 681 686 <&gcc GCC_USB2_MOCK_UTMI_CLK>; 682 - clock-names = "master", "sleep", "mock_utmi"; 687 + clock-names = "core", "sleep", "mock_utmi"; 683 688 ranges; 684 689 status = "disabled"; 685 690
+4 -8
arch/arm/boot/dts/qcom/qcom-ipq8064.dtsi
··· 586 586 #clock-cells = <0>; 587 587 }; 588 588 589 - saw0: regulator@2089000 { 590 - compatible = "qcom,saw2"; 589 + saw0: power-manager@2089000 { 590 + compatible = "qcom,ipq8064-saw2-cpu", "qcom,saw2"; 591 591 reg = <0x02089000 0x1000>, <0x02009000 0x1000>; 592 - regulator; 593 592 }; 594 593 595 594 acc1: clock-controller@2098000 { ··· 600 601 #clock-cells = <0>; 601 602 }; 602 603 603 - saw1: regulator@2099000 { 604 - compatible = "qcom,saw2"; 604 + saw1: power-manager@2099000 { 605 + compatible = "qcom,ipq8064-saw2-cpu", "qcom,saw2"; 605 606 reg = <0x02099000 0x1000>, <0x02009000 0x1000>; 606 - regulator; 607 607 }; 608 608 609 609 nss_common: syscon@3000000 { ··· 621 623 ranges; 622 624 623 625 resets = <&gcc USB30_0_MASTER_RESET>; 624 - reset-names = "master"; 625 626 626 627 status = "disabled"; 627 628 ··· 666 669 ranges; 667 670 668 671 resets = <&gcc USB30_1_MASTER_RESET>; 669 - reset-names = "master"; 670 672 671 673 status = "disabled"; 672 674
+457
arch/arm/boot/dts/qcom/qcom-msm8226-samsung-matisse-common.dtsi
··· 1 + // SPDX-License-Identifier: BSD-3-Clause 2 + /* 3 + * Copyright (c) 2022, Matti Lehtimäki <matti.lehtimaki@gmail.com> 4 + */ 5 + 6 + #include <dt-bindings/input/input.h> 7 + #include "qcom-msm8226.dtsi" 8 + #include "pm8226.dtsi" 9 + 10 + /delete-node/ &adsp_region; 11 + /delete-node/ &smem_region; 12 + 13 + / { 14 + aliases { 15 + mmc0 = &sdhc_1; /* SDC1 eMMC slot */ 16 + mmc1 = &sdhc_2; /* SDC2 SD card slot */ 17 + display0 = &framebuffer0; 18 + }; 19 + 20 + chosen { 21 + #address-cells = <1>; 22 + #size-cells = <1>; 23 + ranges; 24 + 25 + stdout-path = "display0"; 26 + 27 + framebuffer0: framebuffer@3200000 { 28 + compatible = "simple-framebuffer"; 29 + reg = <0x03200000 0x800000>; 30 + width = <1280>; 31 + height = <800>; 32 + stride = <(1280 * 3)>; 33 + format = "r8g8b8"; 34 + }; 35 + }; 36 + 37 + gpio-hall-sensor { 38 + compatible = "gpio-keys"; 39 + 40 + event-hall-sensor { 41 + label = "Hall Effect Sensor"; 42 + gpios = <&tlmm 110 GPIO_ACTIVE_LOW>; 43 + linux,input-type = <EV_SW>; 44 + linux,code = <SW_LID>; 45 + debounce-interval = <15>; 46 + linux,can-disable; 47 + wakeup-source; 48 + }; 49 + }; 50 + 51 + gpio-keys { 52 + compatible = "gpio-keys"; 53 + autorepeat; 54 + 55 + key-home { 56 + label = "Home"; 57 + gpios = <&tlmm 108 GPIO_ACTIVE_LOW>; 58 + linux,code = <KEY_HOMEPAGE>; 59 + debounce-interval = <15>; 60 + }; 61 + 62 + key-volume-down { 63 + label = "Volume Down"; 64 + gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 65 + linux,code = <KEY_VOLUMEDOWN>; 66 + debounce-interval = <15>; 67 + }; 68 + 69 + key-volume-up { 70 + label = "Volume Up"; 71 + gpios = <&tlmm 106 GPIO_ACTIVE_LOW>; 72 + linux,code = <KEY_VOLUMEUP>; 73 + debounce-interval = <15>; 74 + }; 75 + }; 76 + 77 + i2c-backlight { 78 + compatible = "i2c-gpio"; 79 + sda-gpios = <&tlmm 20 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 80 + scl-gpios = <&tlmm 21 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 81 + 82 + pinctrl-0 = <&backlight_i2c_default_state>; 83 + pinctrl-names = "default"; 84 + 85 + i2c-gpio,delay-us = <4>; 86 + 87 + #address-cells = <1>; 88 + #size-cells = <0>; 89 + 90 + backlight@2c { 91 + compatible = "ti,lp8556"; 92 + reg = <0x2c>; 93 + 94 + dev-ctrl = /bits/ 8 <0x80>; 95 + init-brt = /bits/ 8 <0x3f>; 96 + 97 + pwms = <&backlight_pwm 0 100000>; 98 + pwm-names = "lp8556"; 99 + 100 + rom-a0h { 101 + rom-addr = /bits/ 8 <0xa0>; 102 + rom-val = /bits/ 8 <0x44>; 103 + }; 104 + 105 + rom-a1h { 106 + rom-addr = /bits/ 8 <0xa1>; 107 + rom-val = /bits/ 8 <0x6c>; 108 + }; 109 + 110 + rom-a5h { 111 + rom-addr = /bits/ 8 <0xa5>; 112 + rom-val = /bits/ 8 <0x24>; 113 + }; 114 + }; 115 + }; 116 + 117 + backlight_pwm: pwm { 118 + compatible = "clk-pwm"; 119 + #pwm-cells = <2>; 120 + clocks = <&mmcc CAMSS_GP0_CLK>; 121 + pinctrl-0 = <&backlight_pwm_default_state>; 122 + pinctrl-names = "default"; 123 + }; 124 + 125 + reg_tsp_1p8v: regulator-tsp-1p8v { 126 + compatible = "regulator-fixed"; 127 + regulator-name = "tsp_1p8v"; 128 + regulator-min-microvolt = <1800000>; 129 + regulator-max-microvolt = <1800000>; 130 + 131 + gpio = <&tlmm 31 GPIO_ACTIVE_HIGH>; 132 + enable-active-high; 133 + 134 + pinctrl-names = "default"; 135 + pinctrl-0 = <&tsp_en_default_state>; 136 + }; 137 + 138 + reserved-memory { 139 + #address-cells = <1>; 140 + #size-cells = <1>; 141 + ranges; 142 + 143 + framebuffer@3200000 { 144 + reg = <0x03200000 0x800000>; 145 + no-map; 146 + }; 147 + 148 + mpss@8400000 { 149 + reg = <0x08400000 0x1f00000>; 150 + no-map; 151 + }; 152 + 153 + mba@a300000 { 154 + reg = <0x0a300000 0x100000>; 155 + no-map; 156 + }; 157 + 158 + reserved@cb00000 { 159 + reg = <0x0cb00000 0x700000>; 160 + no-map; 161 + }; 162 + 163 + wcnss@d200000 { 164 + reg = <0x0d200000 0x700000>; 165 + no-map; 166 + }; 167 + 168 + adsp_region: adsp@d900000 { 169 + reg = <0x0d900000 0x1800000>; 170 + no-map; 171 + }; 172 + 173 + venus@f100000 { 174 + reg = <0x0f100000 0x500000>; 175 + no-map; 176 + }; 177 + 178 + smem_region: smem@fa00000 { 179 + reg = <0x0fa00000 0x100000>; 180 + no-map; 181 + }; 182 + 183 + reserved@fb00000 { 184 + reg = <0x0fb00000 0x260000>; 185 + no-map; 186 + }; 187 + 188 + rfsa@fd60000 { 189 + reg = <0x0fd60000 0x20000>; 190 + no-map; 191 + }; 192 + 193 + rmtfs@fd80000 { 194 + compatible = "qcom,rmtfs-mem"; 195 + reg = <0x0fd80000 0x180000>; 196 + no-map; 197 + 198 + qcom,client-id = <1>; 199 + }; 200 + }; 201 + }; 202 + 203 + &adsp { 204 + status = "okay"; 205 + }; 206 + 207 + &blsp1_i2c4 { 208 + status = "okay"; 209 + 210 + muic: usb-switch@25 { 211 + compatible = "siliconmitus,sm5502-muic"; 212 + reg = <0x25>; 213 + 214 + interrupt-parent = <&tlmm>; 215 + interrupts = <67 IRQ_TYPE_EDGE_FALLING>; 216 + 217 + pinctrl-names = "default"; 218 + pinctrl-0 = <&muic_int_default_state>; 219 + }; 220 + }; 221 + 222 + &blsp1_uart3 { 223 + status = "okay"; 224 + }; 225 + 226 + &rpm_requests { 227 + regulators { 228 + compatible = "qcom,rpm-pm8226-regulators"; 229 + 230 + pm8226_s3: s3 { 231 + regulator-min-microvolt = <1200000>; 232 + regulator-max-microvolt = <1300000>; 233 + }; 234 + 235 + pm8226_s4: s4 { 236 + regulator-min-microvolt = <1800000>; 237 + regulator-max-microvolt = <2200000>; 238 + }; 239 + 240 + pm8226_s5: s5 { 241 + regulator-min-microvolt = <1150000>; 242 + regulator-max-microvolt = <1150000>; 243 + }; 244 + 245 + pm8226_l1: l1 { 246 + regulator-min-microvolt = <1225000>; 247 + regulator-max-microvolt = <1225000>; 248 + }; 249 + 250 + pm8226_l2: l2 { 251 + regulator-min-microvolt = <1200000>; 252 + regulator-max-microvolt = <1200000>; 253 + }; 254 + 255 + pm8226_l3: l3 { 256 + regulator-min-microvolt = <750000>; 257 + regulator-max-microvolt = <1350000>; 258 + regulator-always-on; 259 + }; 260 + 261 + pm8226_l4: l4 { 262 + regulator-min-microvolt = <1200000>; 263 + regulator-max-microvolt = <1200000>; 264 + }; 265 + 266 + pm8226_l5: l5 { 267 + regulator-min-microvolt = <1200000>; 268 + regulator-max-microvolt = <1200000>; 269 + }; 270 + 271 + pm8226_l6: l6 { 272 + regulator-min-microvolt = <1800000>; 273 + regulator-max-microvolt = <1800000>; 274 + regulator-always-on; 275 + }; 276 + 277 + pm8226_l7: l7 { 278 + regulator-min-microvolt = <1850000>; 279 + regulator-max-microvolt = <1850000>; 280 + }; 281 + 282 + pm8226_l8: l8 { 283 + regulator-min-microvolt = <1800000>; 284 + regulator-max-microvolt = <1800000>; 285 + regulator-always-on; 286 + }; 287 + 288 + pm8226_l9: l9 { 289 + regulator-min-microvolt = <2050000>; 290 + regulator-max-microvolt = <2050000>; 291 + }; 292 + 293 + pm8226_l10: l10 { 294 + regulator-min-microvolt = <1800000>; 295 + regulator-max-microvolt = <1800000>; 296 + }; 297 + 298 + pm8226_l12: l12 { 299 + regulator-min-microvolt = <1800000>; 300 + regulator-max-microvolt = <1800000>; 301 + }; 302 + 303 + pm8226_l14: l14 { 304 + regulator-min-microvolt = <2750000>; 305 + regulator-max-microvolt = <2750000>; 306 + }; 307 + 308 + pm8226_l15: l15 { 309 + regulator-min-microvolt = <1800000>; 310 + regulator-max-microvolt = <3300000>; 311 + }; 312 + 313 + pm8226_l16: l16 { 314 + regulator-min-microvolt = <3000000>; 315 + regulator-max-microvolt = <3350000>; 316 + }; 317 + 318 + pm8226_l17: l17 { 319 + regulator-min-microvolt = <2950000>; 320 + regulator-max-microvolt = <2950000>; 321 + 322 + regulator-system-load = <200000>; 323 + regulator-allow-set-load; 324 + regulator-always-on; 325 + }; 326 + 327 + pm8226_l18: l18 { 328 + regulator-min-microvolt = <2950000>; 329 + regulator-max-microvolt = <2950000>; 330 + }; 331 + 332 + pm8226_l19: l19 { 333 + regulator-min-microvolt = <2850000>; 334 + regulator-max-microvolt = <3000000>; 335 + }; 336 + 337 + pm8226_l20: l20 { 338 + regulator-min-microvolt = <3075000>; 339 + regulator-max-microvolt = <3075000>; 340 + }; 341 + 342 + pm8226_l21: l21 { 343 + regulator-min-microvolt = <1800000>; 344 + regulator-max-microvolt = <2950000>; 345 + }; 346 + 347 + pm8226_l22: l22 { 348 + regulator-min-microvolt = <1800000>; 349 + regulator-max-microvolt = <3000000>; 350 + }; 351 + 352 + pm8226_l23: l23 { 353 + regulator-min-microvolt = <1800000>; 354 + regulator-max-microvolt = <3300000>; 355 + }; 356 + 357 + pm8226_l24: l24 { 358 + regulator-min-microvolt = <1300000>; 359 + regulator-max-microvolt = <1350000>; 360 + }; 361 + 362 + pm8226_l25: l25 { 363 + regulator-min-microvolt = <1775000>; 364 + regulator-max-microvolt = <2125000>; 365 + }; 366 + 367 + pm8226_l26: l26 { 368 + regulator-min-microvolt = <1225000>; 369 + regulator-max-microvolt = <1300000>; 370 + }; 371 + 372 + pm8226_l27: l27 { 373 + regulator-min-microvolt = <1800000>; 374 + regulator-max-microvolt = <1800000>; 375 + }; 376 + 377 + pm8226_l28: l28 { 378 + regulator-min-microvolt = <1800000>; 379 + regulator-max-microvolt = <2950000>; 380 + }; 381 + 382 + pm8226_lvs1: lvs1 {}; 383 + }; 384 + }; 385 + 386 + &sdhc_1 { 387 + vmmc-supply = <&pm8226_l17>; 388 + vqmmc-supply = <&pm8226_l6>; 389 + 390 + bus-width = <8>; 391 + non-removable; 392 + 393 + status = "okay"; 394 + }; 395 + 396 + &sdhc_2 { 397 + vmmc-supply = <&pm8226_l18>; 398 + vqmmc-supply = <&pm8226_l21>; 399 + 400 + bus-width = <4>; 401 + cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 402 + 403 + status = "okay"; 404 + }; 405 + 406 + &tlmm { 407 + accel_int_default_state: accel-int-default-state { 408 + pins = "gpio54"; 409 + function = "gpio"; 410 + drive-strength = <2>; 411 + bias-disable; 412 + }; 413 + 414 + backlight_i2c_default_state: backlight-i2c-default-state { 415 + pins = "gpio20", "gpio21"; 416 + function = "gpio"; 417 + drive-strength = <2>; 418 + bias-disable; 419 + }; 420 + 421 + backlight_pwm_default_state: backlight-pwm-default-state { 422 + pins = "gpio33"; 423 + function = "gp0_clk"; 424 + }; 425 + 426 + muic_int_default_state: muic-int-default-state { 427 + pins = "gpio67"; 428 + function = "gpio"; 429 + drive-strength = <2>; 430 + bias-disable; 431 + }; 432 + 433 + tsp_en_default_state: tsp-en-default-state { 434 + pins = "gpio31"; 435 + function = "gpio"; 436 + drive-strength = <2>; 437 + bias-disable; 438 + }; 439 + 440 + tsp_int_rst_default_state: tsp-int-rst-default-state { 441 + pins = "gpio17"; 442 + function = "gpio"; 443 + drive-strength = <10>; 444 + bias-pull-up; 445 + }; 446 + }; 447 + 448 + &usb { 449 + extcon = <&muic>, <&muic>; 450 + status = "okay"; 451 + }; 452 + 453 + &usb_hs_phy { 454 + extcon = <&muic>; 455 + v1p8-supply = <&pm8226_l10>; 456 + v3p3-supply = <&pm8226_l20>; 457 + };
+434 -330
arch/arm/boot/dts/qcom/qcom-msm8226.dtsi
··· 20 20 21 21 chosen { }; 22 22 23 - memory@0 { 24 - device_type = "memory"; 25 - reg = <0x0 0x0>; 26 - }; 27 - 28 23 clocks { 29 24 xo_board: xo_board { 30 25 compatible = "fixed-clock"; ··· 34 39 }; 35 40 }; 36 41 42 + cpus { 43 + #address-cells = <1>; 44 + #size-cells = <0>; 45 + 46 + CPU0: cpu@0 { 47 + compatible = "arm,cortex-a7"; 48 + enable-method = "qcom,msm8226-smp"; 49 + device_type = "cpu"; 50 + reg = <0>; 51 + next-level-cache = <&L2>; 52 + qcom,acc = <&acc0>; 53 + qcom,saw = <&saw0>; 54 + }; 55 + 56 + CPU1: cpu@1 { 57 + compatible = "arm,cortex-a7"; 58 + enable-method = "qcom,msm8226-smp"; 59 + device_type = "cpu"; 60 + reg = <1>; 61 + next-level-cache = <&L2>; 62 + qcom,acc = <&acc1>; 63 + qcom,saw = <&saw1>; 64 + }; 65 + 66 + CPU2: cpu@2 { 67 + compatible = "arm,cortex-a7"; 68 + enable-method = "qcom,msm8226-smp"; 69 + device_type = "cpu"; 70 + reg = <2>; 71 + next-level-cache = <&L2>; 72 + qcom,acc = <&acc2>; 73 + qcom,saw = <&saw2>; 74 + }; 75 + 76 + CPU3: cpu@3 { 77 + compatible = "arm,cortex-a7"; 78 + enable-method = "qcom,msm8226-smp"; 79 + device_type = "cpu"; 80 + reg = <3>; 81 + next-level-cache = <&L2>; 82 + qcom,acc = <&acc3>; 83 + qcom,saw = <&saw3>; 84 + }; 85 + 86 + L2: l2-cache { 87 + compatible = "cache"; 88 + cache-level = <2>; 89 + cache-unified; 90 + }; 91 + }; 92 + 37 93 firmware { 38 94 scm { 39 95 compatible = "qcom,scm-msm8226", "qcom,scm"; 40 96 clocks = <&gcc GCC_CE1_CLK>, <&gcc GCC_CE1_AXI_CLK>, <&gcc GCC_CE1_AHB_CLK>; 41 97 clock-names = "core", "bus", "iface"; 42 98 }; 99 + }; 100 + 101 + memory@0 { 102 + device_type = "memory"; 103 + reg = <0x0 0x0>; 43 104 }; 44 105 45 106 pmu { ··· 236 185 reg = <0xf9011000 0x1000>; 237 186 }; 238 187 188 + saw_l2: power-manager@f9012000 { 189 + compatible = "qcom,msm8226-saw2-v2.1-l2", "qcom,saw2"; 190 + reg = <0xf9012000 0x1000>; 191 + }; 192 + 193 + watchdog@f9017000 { 194 + compatible = "qcom,apss-wdt-msm8226", "qcom,kpss-wdt"; 195 + reg = <0xf9017000 0x1000>; 196 + interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>, 197 + <GIC_SPI 4 IRQ_TYPE_EDGE_RISING>; 198 + clocks = <&sleep_clk>; 199 + }; 200 + 201 + timer@f9020000 { 202 + compatible = "arm,armv7-timer-mem"; 203 + reg = <0xf9020000 0x1000>; 204 + #address-cells = <1>; 205 + #size-cells = <1>; 206 + ranges; 207 + 208 + frame@f9021000 { 209 + frame-number = <0>; 210 + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 211 + <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 212 + reg = <0xf9021000 0x1000>, 213 + <0xf9022000 0x1000>; 214 + }; 215 + 216 + frame@f9023000 { 217 + frame-number = <1>; 218 + interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 219 + reg = <0xf9023000 0x1000>; 220 + status = "disabled"; 221 + }; 222 + 223 + frame@f9024000 { 224 + frame-number = <2>; 225 + interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 226 + reg = <0xf9024000 0x1000>; 227 + status = "disabled"; 228 + }; 229 + 230 + frame@f9025000 { 231 + frame-number = <3>; 232 + interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 233 + reg = <0xf9025000 0x1000>; 234 + status = "disabled"; 235 + }; 236 + 237 + frame@f9026000 { 238 + frame-number = <4>; 239 + interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 240 + reg = <0xf9026000 0x1000>; 241 + status = "disabled"; 242 + }; 243 + 244 + frame@f9027000 { 245 + frame-number = <5>; 246 + interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 247 + reg = <0xf9027000 0x1000>; 248 + status = "disabled"; 249 + }; 250 + 251 + frame@f9028000 { 252 + frame-number = <6>; 253 + interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 254 + reg = <0xf9028000 0x1000>; 255 + status = "disabled"; 256 + }; 257 + }; 258 + 259 + acc0: power-manager@f9088000 { 260 + compatible = "qcom,kpss-acc-v2"; 261 + reg = <0xf9088000 0x1000>, <0xf9008000 0x1000>; 262 + }; 263 + 264 + saw0: power-manager@f9089000 { 265 + compatible = "qcom,msm8226-saw2-v2.1-cpu", "qcom,saw2"; 266 + reg = <0xf9089000 0x1000>; 267 + }; 268 + 269 + acc1: power-manager@f9098000 { 270 + compatible = "qcom,kpss-acc-v2"; 271 + reg = <0xf9098000 0x1000>, <0xf9008000 0x1000>; 272 + }; 273 + 274 + saw1: power-manager@f9099000 { 275 + compatible = "qcom,msm8226-saw2-v2.1-cpu", "qcom,saw2"; 276 + reg = <0xf9099000 0x1000>; 277 + }; 278 + 279 + acc2: power-manager@f90a8000 { 280 + compatible = "qcom,kpss-acc-v2"; 281 + reg = <0xf90a8000 0x1000>, <0xf9008000 0x1000>; 282 + }; 283 + 284 + saw2: power-manager@f90a9000 { 285 + compatible = "qcom,msm8226-saw2-v2.1-cpu", "qcom,saw2"; 286 + reg = <0xf90a9000 0x1000>; 287 + }; 288 + 289 + acc3: power-manager@f90b8000 { 290 + compatible = "qcom,kpss-acc-v2"; 291 + reg = <0xf90b8000 0x1000>, <0xf9008000 0x1000>; 292 + }; 293 + 294 + saw3: power-manager@f90b9000 { 295 + compatible = "qcom,msm8226-saw2-v2.1-cpu", "qcom,saw2"; 296 + reg = <0xf90b9000 0x1000>; 297 + }; 298 + 239 299 sdhc_1: mmc@f9824900 { 240 300 compatible = "qcom,msm8226-sdhci", "qcom,sdhci-msm-v4"; 241 301 reg = <0xf9824900 0x11c>, <0xf9824000 0x800>; ··· 363 201 status = "disabled"; 364 202 }; 365 203 366 - sdhc_2: mmc@f98a4900 { 367 - compatible = "qcom,msm8226-sdhci", "qcom,sdhci-msm-v4"; 368 - reg = <0xf98a4900 0x11c>, <0xf98a4000 0x800>; 369 - reg-names = "hc", "core"; 370 - interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 371 - <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>; 372 - interrupt-names = "hc_irq", "pwr_irq"; 373 - clocks = <&gcc GCC_SDCC2_AHB_CLK>, 374 - <&gcc GCC_SDCC2_APPS_CLK>, 375 - <&rpmcc RPM_SMD_XO_CLK_SRC>; 376 - clock-names = "iface", "core", "xo"; 377 - pinctrl-names = "default"; 378 - pinctrl-0 = <&sdhc2_default_state>; 379 - status = "disabled"; 380 - }; 381 - 382 204 sdhc_3: mmc@f9864900 { 383 205 compatible = "qcom,msm8226-sdhci", "qcom,sdhci-msm-v4"; 384 206 reg = <0xf9864900 0x11c>, <0xf9864000 0x800>; ··· 376 230 clock-names = "iface", "core", "xo"; 377 231 pinctrl-names = "default"; 378 232 pinctrl-0 = <&sdhc3_default_state>; 233 + status = "disabled"; 234 + }; 235 + 236 + sdhc_2: mmc@f98a4900 { 237 + compatible = "qcom,msm8226-sdhci", "qcom,sdhci-msm-v4"; 238 + reg = <0xf98a4900 0x11c>, <0xf98a4000 0x800>; 239 + reg-names = "hc", "core"; 240 + interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 241 + <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>; 242 + interrupt-names = "hc_irq", "pwr_irq"; 243 + clocks = <&gcc GCC_SDCC2_AHB_CLK>, 244 + <&gcc GCC_SDCC2_APPS_CLK>, 245 + <&rpmcc RPM_SMD_XO_CLK_SRC>; 246 + clock-names = "iface", "core", "xo"; 247 + pinctrl-names = "default"; 248 + pinctrl-0 = <&sdhc2_default_state>; 379 249 status = "disabled"; 380 250 }; 381 251 ··· 434 272 }; 435 273 436 274 blsp1_i2c1: i2c@f9923000 { 437 - status = "disabled"; 438 275 compatible = "qcom,i2c-qup-v2.1.1"; 439 276 reg = <0xf9923000 0x1000>; 440 277 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; ··· 443 282 pinctrl-0 = <&blsp1_i2c1_pins>; 444 283 #address-cells = <1>; 445 284 #size-cells = <0>; 285 + status = "disabled"; 446 286 }; 447 287 448 288 blsp1_i2c2: i2c@f9924000 { 449 - status = "disabled"; 450 289 compatible = "qcom,i2c-qup-v2.1.1"; 451 290 reg = <0xf9924000 0x1000>; 452 291 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; ··· 456 295 pinctrl-0 = <&blsp1_i2c2_pins>; 457 296 #address-cells = <1>; 458 297 #size-cells = <0>; 298 + status = "disabled"; 459 299 }; 460 300 461 301 blsp1_i2c3: i2c@f9925000 { 462 - status = "disabled"; 463 302 compatible = "qcom,i2c-qup-v2.1.1"; 464 303 reg = <0xf9925000 0x1000>; 465 304 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; ··· 469 308 pinctrl-0 = <&blsp1_i2c3_pins>; 470 309 #address-cells = <1>; 471 310 #size-cells = <0>; 311 + status = "disabled"; 472 312 }; 473 313 474 314 blsp1_i2c4: i2c@f9926000 { 475 - status = "disabled"; 476 315 compatible = "qcom,i2c-qup-v2.1.1"; 477 316 reg = <0xf9926000 0x1000>; 478 317 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; ··· 482 321 pinctrl-0 = <&blsp1_i2c4_pins>; 483 322 #address-cells = <1>; 484 323 #size-cells = <0>; 324 + status = "disabled"; 485 325 }; 486 326 487 327 blsp1_i2c5: i2c@f9927000 { 488 - status = "disabled"; 489 328 compatible = "qcom,i2c-qup-v2.1.1"; 490 329 reg = <0xf9927000 0x1000>; 491 330 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; ··· 495 334 pinctrl-0 = <&blsp1_i2c5_pins>; 496 335 #address-cells = <1>; 497 336 #size-cells = <0>; 337 + status = "disabled"; 498 338 }; 499 339 500 340 blsp1_i2c6: i2c@f9928000 { ··· 511 349 #address-cells = <1>; 512 350 #size-cells = <0>; 513 351 status = "disabled"; 514 - }; 515 - 516 - cci: cci@fda0c000 { 517 - compatible = "qcom,msm8226-cci"; 518 - #address-cells = <1>; 519 - #size-cells = <0>; 520 - reg = <0xfda0c000 0x1000>; 521 - interrupts = <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>; 522 - clocks = <&mmcc CAMSS_TOP_AHB_CLK>, 523 - <&mmcc CAMSS_CCI_CCI_AHB_CLK>, 524 - <&mmcc CAMSS_CCI_CCI_CLK>; 525 - clock-names = "camss_top_ahb", 526 - "cci_ahb", 527 - "cci"; 528 - 529 - pinctrl-names = "default", "sleep"; 530 - pinctrl-0 = <&cci_default>; 531 - pinctrl-1 = <&cci_sleep>; 532 - 533 - status = "disabled"; 534 - 535 - cci_i2c0: i2c-bus@0 { 536 - reg = <0>; 537 - clock-frequency = <400000>; 538 - #address-cells = <1>; 539 - #size-cells = <0>; 540 - }; 541 352 }; 542 353 543 354 usb: usb@f9a55000 { ··· 552 417 }; 553 418 }; 554 419 420 + rng@f9bff000 { 421 + compatible = "qcom,prng"; 422 + reg = <0xf9bff000 0x200>; 423 + clocks = <&gcc GCC_PRNG_AHB_CLK>; 424 + clock-names = "core"; 425 + }; 426 + 427 + sram@fc190000 { 428 + compatible = "qcom,msm8226-rpm-stats"; 429 + reg = <0xfc190000 0x10000>; 430 + }; 431 + 555 432 gcc: clock-controller@fc400000 { 556 433 compatible = "qcom,gcc-msm8226"; 557 434 reg = <0xfc400000 0x4000>; ··· 577 430 "sleep_clk"; 578 431 }; 579 432 580 - mmcc: clock-controller@fd8c0000 { 581 - compatible = "qcom,mmcc-msm8226"; 582 - reg = <0xfd8c0000 0x6000>; 583 - #clock-cells = <1>; 584 - #reset-cells = <1>; 585 - #power-domain-cells = <1>; 433 + rpm_msg_ram: sram@fc428000 { 434 + compatible = "qcom,rpm-msg-ram"; 435 + reg = <0xfc428000 0x4000>; 586 436 587 - clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, 588 - <&gcc GCC_MMSS_GPLL0_CLK_SRC>, 589 - <&gcc GPLL0_VOTE>, 590 - <&gcc GPLL1_VOTE>, 591 - <&rpmcc RPM_SMD_GFX3D_CLK_SRC>, 592 - <&mdss_dsi0_phy 1>, 593 - <&mdss_dsi0_phy 0>; 594 - clock-names = "xo", 595 - "mmss_gpll0_vote", 596 - "gpll0_vote", 597 - "gpll1_vote", 598 - "gfx3d_clk_src", 599 - "dsi0pll", 600 - "dsi0pllbyte"; 601 - }; 437 + #address-cells = <1>; 438 + #size-cells = <1>; 439 + ranges = <0 0xfc428000 0x4000>; 602 440 603 - tlmm: pinctrl@fd510000 { 604 - compatible = "qcom,msm8226-pinctrl"; 605 - reg = <0xfd510000 0x4000>; 606 - gpio-controller; 607 - #gpio-cells = <2>; 608 - gpio-ranges = <&tlmm 0 0 117>; 609 - interrupt-controller; 610 - #interrupt-cells = <2>; 611 - interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 612 - 613 - blsp1_i2c1_pins: blsp1-i2c1-state { 614 - pins = "gpio2", "gpio3"; 615 - function = "blsp_i2c1"; 616 - drive-strength = <2>; 617 - bias-disable; 441 + apss_master_stats: sram@150 { 442 + reg = <0x150 0x14>; 618 443 }; 619 444 620 - blsp1_i2c2_pins: blsp1-i2c2-state { 621 - pins = "gpio6", "gpio7"; 622 - function = "blsp_i2c2"; 623 - drive-strength = <2>; 624 - bias-disable; 445 + mpss_master_stats: sram@b50 { 446 + reg = <0xb50 0x14>; 625 447 }; 626 448 627 - blsp1_i2c3_pins: blsp1-i2c3-state { 628 - pins = "gpio10", "gpio11"; 629 - function = "blsp_i2c3"; 630 - drive-strength = <2>; 631 - bias-disable; 449 + lpss_master_stats: sram@1550 { 450 + reg = <0x1550 0x14>; 632 451 }; 633 452 634 - blsp1_i2c4_pins: blsp1-i2c4-state { 635 - pins = "gpio14", "gpio15"; 636 - function = "blsp_i2c4"; 637 - drive-strength = <2>; 638 - bias-disable; 639 - }; 640 - 641 - blsp1_i2c5_pins: blsp1-i2c5-state { 642 - pins = "gpio18", "gpio19"; 643 - function = "blsp_i2c5"; 644 - drive-strength = <2>; 645 - bias-disable; 646 - }; 647 - 648 - blsp1_i2c6_pins: blsp1-i2c6-state { 649 - pins = "gpio22", "gpio23"; 650 - function = "blsp_i2c6"; 651 - drive-strength = <2>; 652 - bias-disable; 653 - }; 654 - 655 - cci_default: cci-default-state { 656 - pins = "gpio29", "gpio30"; 657 - function = "cci_i2c0"; 658 - 659 - drive-strength = <2>; 660 - bias-disable; 661 - }; 662 - 663 - cci_sleep: cci-sleep-state { 664 - pins = "gpio29", "gpio30"; 665 - function = "gpio"; 666 - 667 - drive-strength = <2>; 668 - bias-disable; 669 - }; 670 - 671 - sdhc1_default_state: sdhc1-default-state { 672 - clk-pins { 673 - pins = "sdc1_clk"; 674 - drive-strength = <10>; 675 - bias-disable; 676 - }; 677 - 678 - cmd-data-pins { 679 - pins = "sdc1_cmd", "sdc1_data"; 680 - drive-strength = <10>; 681 - bias-pull-up; 682 - }; 683 - }; 684 - 685 - sdhc2_default_state: sdhc2-default-state { 686 - clk-pins { 687 - pins = "sdc2_clk"; 688 - drive-strength = <10>; 689 - bias-disable; 690 - }; 691 - 692 - cmd-data-pins { 693 - pins = "sdc2_cmd", "sdc2_data"; 694 - drive-strength = <10>; 695 - bias-pull-up; 696 - }; 697 - }; 698 - 699 - sdhc3_default_state: sdhc3-default-state { 700 - clk-pins { 701 - pins = "gpio44"; 702 - function = "sdc3"; 703 - drive-strength = <8>; 704 - bias-disable; 705 - }; 706 - 707 - cmd-pins { 708 - pins = "gpio43"; 709 - function = "sdc3"; 710 - drive-strength = <8>; 711 - bias-pull-up; 712 - }; 713 - 714 - data-pins { 715 - pins = "gpio39", "gpio40", "gpio41", "gpio42"; 716 - function = "sdc3"; 717 - drive-strength = <8>; 718 - bias-pull-up; 719 - }; 453 + pronto_master_stats: sram@1f50 { 454 + reg = <0x1f50 0x14>; 720 455 }; 721 456 }; 722 457 ··· 743 714 #interrupt-cells = <4>; 744 715 }; 745 716 746 - rng@f9bff000 { 747 - compatible = "qcom,prng"; 748 - reg = <0xf9bff000 0x200>; 749 - clocks = <&gcc GCC_PRNG_AHB_CLK>; 750 - clock-names = "core"; 751 - }; 752 - 753 - timer@f9020000 { 754 - compatible = "arm,armv7-timer-mem"; 755 - reg = <0xf9020000 0x1000>; 756 - #address-cells = <1>; 757 - #size-cells = <1>; 758 - ranges; 759 - 760 - frame@f9021000 { 761 - frame-number = <0>; 762 - interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 763 - <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 764 - reg = <0xf9021000 0x1000>, 765 - <0xf9022000 0x1000>; 766 - }; 767 - 768 - frame@f9023000 { 769 - frame-number = <1>; 770 - interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 771 - reg = <0xf9023000 0x1000>; 772 - status = "disabled"; 773 - }; 774 - 775 - frame@f9024000 { 776 - frame-number = <2>; 777 - interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 778 - reg = <0xf9024000 0x1000>; 779 - status = "disabled"; 780 - }; 781 - 782 - frame@f9025000 { 783 - frame-number = <3>; 784 - interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 785 - reg = <0xf9025000 0x1000>; 786 - status = "disabled"; 787 - }; 788 - 789 - frame@f9026000 { 790 - frame-number = <4>; 791 - interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 792 - reg = <0xf9026000 0x1000>; 793 - status = "disabled"; 794 - }; 795 - 796 - frame@f9027000 { 797 - frame-number = <5>; 798 - interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 799 - reg = <0xf9027000 0x1000>; 800 - status = "disabled"; 801 - }; 802 - 803 - frame@f9028000 { 804 - frame-number = <6>; 805 - interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 806 - reg = <0xf9028000 0x1000>; 807 - status = "disabled"; 808 - }; 809 - }; 810 - 811 - sram@fc190000 { 812 - compatible = "qcom,msm8226-rpm-stats"; 813 - reg = <0xfc190000 0x10000>; 814 - }; 815 - 816 - rpm_msg_ram: sram@fc428000 { 817 - compatible = "qcom,rpm-msg-ram"; 818 - reg = <0xfc428000 0x4000>; 819 - 820 - #address-cells = <1>; 821 - #size-cells = <1>; 822 - ranges = <0 0xfc428000 0x4000>; 823 - 824 - apss_master_stats: sram@150 { 825 - reg = <0x150 0x14>; 826 - }; 827 - 828 - mpss_master_stats: sram@b50 { 829 - reg = <0xb50 0x14>; 830 - }; 831 - 832 - lpss_master_stats: sram@1550 { 833 - reg = <0x1550 0x14>; 834 - }; 835 - 836 - pronto_master_stats: sram@1f50 { 837 - reg = <0x1f50 0x14>; 838 - }; 839 - }; 840 - 841 717 tcsr_mutex: hwlock@fd484000 { 842 718 compatible = "qcom,msm8226-tcsr-mutex", "qcom,tcsr-mutex"; 843 719 reg = <0xfd484000 0x1000>; 844 720 #hwlock-cells = <1>; 845 721 }; 846 722 847 - adsp: remoteproc@fe200000 { 848 - compatible = "qcom,msm8226-adsp-pil"; 849 - reg = <0xfe200000 0x100>; 723 + tlmm: pinctrl@fd510000 { 724 + compatible = "qcom,msm8226-pinctrl"; 725 + reg = <0xfd510000 0x4000>; 726 + gpio-controller; 727 + #gpio-cells = <2>; 728 + gpio-ranges = <&tlmm 0 0 117>; 729 + interrupt-controller; 730 + #interrupt-cells = <2>; 731 + interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 850 732 851 - interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>, 852 - <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 853 - <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 854 - <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 855 - <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; 856 - interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack"; 733 + blsp1_i2c1_pins: blsp1-i2c1-state { 734 + pins = "gpio2", "gpio3"; 735 + function = "blsp_i2c1"; 736 + drive-strength = <2>; 737 + bias-disable; 738 + }; 857 739 858 - power-domains = <&rpmpd MSM8226_VDDCX>; 859 - power-domain-names = "cx"; 740 + blsp1_i2c2_pins: blsp1-i2c2-state { 741 + pins = "gpio6", "gpio7"; 742 + function = "blsp_i2c2"; 743 + drive-strength = <2>; 744 + bias-disable; 745 + }; 860 746 861 - clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>; 862 - clock-names = "xo"; 747 + blsp1_i2c3_pins: blsp1-i2c3-state { 748 + pins = "gpio10", "gpio11"; 749 + function = "blsp_i2c3"; 750 + drive-strength = <2>; 751 + bias-disable; 752 + }; 863 753 864 - memory-region = <&adsp_region>; 754 + blsp1_i2c4_pins: blsp1-i2c4-state { 755 + pins = "gpio14", "gpio15"; 756 + function = "blsp_i2c4"; 757 + drive-strength = <2>; 758 + bias-disable; 759 + }; 865 760 866 - qcom,smem-states = <&adsp_smp2p_out 0>; 867 - qcom,smem-state-names = "stop"; 761 + blsp1_i2c5_pins: blsp1-i2c5-state { 762 + pins = "gpio18", "gpio19"; 763 + function = "blsp_i2c5"; 764 + drive-strength = <2>; 765 + bias-disable; 766 + }; 868 767 869 - status = "disabled"; 768 + blsp1_i2c6_pins: blsp1-i2c6-state { 769 + pins = "gpio22", "gpio23"; 770 + function = "blsp_i2c6"; 771 + drive-strength = <2>; 772 + bias-disable; 773 + }; 870 774 871 - smd-edge { 872 - interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>; 775 + cci_default: cci-default-state { 776 + pins = "gpio29", "gpio30"; 777 + function = "cci_i2c0"; 873 778 874 - qcom,ipc = <&apcs 8 8>; 875 - qcom,smd-edge = <1>; 779 + drive-strength = <2>; 780 + bias-disable; 781 + }; 876 782 877 - label = "lpass"; 783 + cci_sleep: cci-sleep-state { 784 + pins = "gpio29", "gpio30"; 785 + function = "gpio"; 786 + 787 + drive-strength = <2>; 788 + bias-disable; 789 + }; 790 + 791 + sdhc1_default_state: sdhc1-default-state { 792 + clk-pins { 793 + pins = "sdc1_clk"; 794 + drive-strength = <10>; 795 + bias-disable; 796 + }; 797 + 798 + cmd-data-pins { 799 + pins = "sdc1_cmd", "sdc1_data"; 800 + drive-strength = <10>; 801 + bias-pull-up; 802 + }; 803 + }; 804 + 805 + sdhc2_default_state: sdhc2-default-state { 806 + clk-pins { 807 + pins = "sdc2_clk"; 808 + drive-strength = <10>; 809 + bias-disable; 810 + }; 811 + 812 + cmd-data-pins { 813 + pins = "sdc2_cmd", "sdc2_data"; 814 + drive-strength = <10>; 815 + bias-pull-up; 816 + }; 817 + }; 818 + 819 + sdhc3_default_state: sdhc3-default-state { 820 + clk-pins { 821 + pins = "gpio44"; 822 + function = "sdc3"; 823 + drive-strength = <8>; 824 + bias-disable; 825 + }; 826 + 827 + cmd-pins { 828 + pins = "gpio43"; 829 + function = "sdc3"; 830 + drive-strength = <8>; 831 + bias-pull-up; 832 + }; 833 + 834 + data-pins { 835 + pins = "gpio39", "gpio40", "gpio41", "gpio42"; 836 + function = "sdc3"; 837 + drive-strength = <8>; 838 + bias-pull-up; 839 + }; 878 840 }; 879 841 }; 880 842 881 - sram@fdd00000 { 882 - compatible = "qcom,msm8226-ocmem"; 883 - reg = <0xfdd00000 0x2000>, 884 - <0xfec00000 0x20000>; 885 - reg-names = "ctrl", "mem"; 886 - ranges = <0 0xfec00000 0x20000>; 887 - clocks = <&rpmcc RPM_SMD_OCMEMGX_CLK>; 888 - clock-names = "core"; 843 + mmcc: clock-controller@fd8c0000 { 844 + compatible = "qcom,mmcc-msm8226"; 845 + reg = <0xfd8c0000 0x6000>; 846 + #clock-cells = <1>; 847 + #reset-cells = <1>; 848 + #power-domain-cells = <1>; 889 849 890 - #address-cells = <1>; 891 - #size-cells = <1>; 892 - 893 - gmu_sram: gmu-sram@0 { 894 - reg = <0x0 0x20000>; 895 - }; 896 - }; 897 - 898 - sram@fe805000 { 899 - compatible = "qcom,msm8226-imem", "syscon", "simple-mfd"; 900 - reg = <0xfe805000 0x1000>; 901 - 902 - reboot-mode { 903 - compatible = "syscon-reboot-mode"; 904 - offset = <0x65c>; 905 - 906 - mode-bootloader = <0x77665500>; 907 - mode-normal = <0x77665501>; 908 - mode-recovery = <0x77665502>; 909 - }; 850 + clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, 851 + <&gcc GCC_MMSS_GPLL0_CLK_SRC>, 852 + <&gcc GPLL0_VOTE>, 853 + <&gcc GPLL1_VOTE>, 854 + <&rpmcc RPM_SMD_GFX3D_CLK_SRC>, 855 + <&mdss_dsi0_phy 1>, 856 + <&mdss_dsi0_phy 0>; 857 + clock-names = "xo", 858 + "mmss_gpll0_vote", 859 + "gpll0_vote", 860 + "gpll1_vote", 861 + "gfx3d_clk_src", 862 + "dsi0pll", 863 + "dsi0pllbyte"; 910 864 }; 911 865 912 866 mdss: display-subsystem@fd900000 { ··· 1019 1007 }; 1020 1008 }; 1021 1009 1010 + cci: cci@fda0c000 { 1011 + compatible = "qcom,msm8226-cci"; 1012 + reg = <0xfda0c000 0x1000>; 1013 + #address-cells = <1>; 1014 + #size-cells = <0>; 1015 + interrupts = <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>; 1016 + clocks = <&mmcc CAMSS_TOP_AHB_CLK>, 1017 + <&mmcc CAMSS_CCI_CCI_AHB_CLK>, 1018 + <&mmcc CAMSS_CCI_CCI_CLK>; 1019 + clock-names = "camss_top_ahb", 1020 + "cci_ahb", 1021 + "cci"; 1022 + 1023 + pinctrl-names = "default", "sleep"; 1024 + pinctrl-0 = <&cci_default>; 1025 + pinctrl-1 = <&cci_sleep>; 1026 + 1027 + status = "disabled"; 1028 + 1029 + cci_i2c0: i2c-bus@0 { 1030 + reg = <0>; 1031 + clock-frequency = <400000>; 1032 + #address-cells = <1>; 1033 + #size-cells = <0>; 1034 + }; 1035 + }; 1036 + 1022 1037 gpu: adreno@fdb00000 { 1023 1038 compatible = "qcom,adreno-305.18", "qcom,adreno"; 1024 1039 reg = <0xfdb00000 0x10000>; ··· 1083 1044 opp-19000000 { 1084 1045 opp-hz = /bits/ 64 <19000000>; 1085 1046 }; 1047 + }; 1048 + }; 1049 + 1050 + sram@fdd00000 { 1051 + compatible = "qcom,msm8226-ocmem"; 1052 + reg = <0xfdd00000 0x2000>, 1053 + <0xfec00000 0x20000>; 1054 + reg-names = "ctrl", "mem"; 1055 + ranges = <0 0xfec00000 0x20000>; 1056 + clocks = <&rpmcc RPM_SMD_OCMEMGX_CLK>; 1057 + clock-names = "core"; 1058 + 1059 + #address-cells = <1>; 1060 + #size-cells = <1>; 1061 + 1062 + gmu_sram: gmu-sram@0 { 1063 + reg = <0x0 0x20000>; 1064 + }; 1065 + }; 1066 + 1067 + adsp: remoteproc@fe200000 { 1068 + compatible = "qcom,msm8226-adsp-pil"; 1069 + reg = <0xfe200000 0x100>; 1070 + 1071 + interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>, 1072 + <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 1073 + <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 1074 + <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 1075 + <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; 1076 + interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack"; 1077 + 1078 + power-domains = <&rpmpd MSM8226_VDDCX>; 1079 + power-domain-names = "cx"; 1080 + 1081 + clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>; 1082 + clock-names = "xo"; 1083 + 1084 + memory-region = <&adsp_region>; 1085 + 1086 + qcom,smem-states = <&adsp_smp2p_out 0>; 1087 + qcom,smem-state-names = "stop"; 1088 + 1089 + status = "disabled"; 1090 + 1091 + smd-edge { 1092 + interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>; 1093 + 1094 + qcom,ipc = <&apcs 8 8>; 1095 + qcom,smd-edge = <1>; 1096 + 1097 + label = "lpass"; 1098 + }; 1099 + }; 1100 + 1101 + sram@fe805000 { 1102 + compatible = "qcom,msm8226-imem", "syscon", "simple-mfd"; 1103 + reg = <0xfe805000 0x1000>; 1104 + 1105 + reboot-mode { 1106 + compatible = "syscon-reboot-mode"; 1107 + offset = <0x65c>; 1108 + 1109 + mode-bootloader = <0x77665500>; 1110 + mode-normal = <0x77665501>; 1111 + mode-recovery = <0x77665502>; 1086 1112 }; 1087 1113 }; 1088 1114 };
+8 -9
arch/arm/boot/dts/qcom/qcom-msm8660.dtsi
··· 47 47 48 48 cpu-pmu { 49 49 compatible = "qcom,scorpion-mp-pmu"; 50 - interrupts = <1 9 0x304>; 50 + interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>; 51 51 }; 52 52 53 53 clocks { ··· 89 89 90 90 timer@2000000 { 91 91 compatible = "qcom,scss-timer", "qcom,msm-timer"; 92 - interrupts = <1 0 0x301>, 93 - <1 1 0x301>, 94 - <1 2 0x301>; 92 + interrupts = <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>, 93 + <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>, 94 + <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>; 95 95 reg = <0x02000000 0x100>; 96 - clock-frequency = <27000000>, 97 - <32768>; 96 + clock-frequency = <27000000>; 98 97 cpu-offset = <0x40000>; 99 98 }; 100 99 ··· 104 105 gpio-controller; 105 106 gpio-ranges = <&tlmm 0 0 173>; 106 107 #gpio-cells = <2>; 107 - interrupts = <0 16 0x4>; 108 + interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 108 109 interrupt-controller; 109 110 #interrupt-cells = <2>; 110 111 ··· 282 283 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; 283 284 reg = <0x19c40000 0x1000>, 284 285 <0x19c00000 0x1000>; 285 - interrupts = <0 195 IRQ_TYPE_LEVEL_HIGH>; 286 + interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>; 286 287 clocks = <&gcc GSBI12_UART_CLK>, <&gcc GSBI12_H_CLK>; 287 288 clock-names = "core", "iface"; 288 289 status = "disabled"; ··· 291 292 gsbi12_i2c: i2c@19c80000 { 292 293 compatible = "qcom,i2c-qup-v1.1.1"; 293 294 reg = <0x19c80000 0x1000>; 294 - interrupts = <0 196 IRQ_TYPE_LEVEL_HIGH>; 295 + interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>; 295 296 clocks = <&gcc GSBI12_QUP_CLK>, <&gcc GSBI12_H_CLK>; 296 297 clock-names = "core", "iface"; 297 298 #address-cells = <1>;
+14 -1
arch/arm/boot/dts/qcom/qcom-msm8926-htc-memul.dts
··· 107 107 }; 108 108 109 109 unknown@fb00000 { 110 - reg = <0x0fb00000 0x1b00000>; 110 + reg = <0x0fb00000 0x280000>; 111 + no-map; 112 + }; 113 + 114 + rmtfs@fd80000 { 115 + compatible = "qcom,rmtfs-mem"; 116 + reg = <0x0fd80000 0x180000>; 117 + no-map; 118 + 119 + qcom,client-id = <1>; 120 + }; 121 + 122 + unknown@ff00000 { 123 + reg = <0x0ff00000 0x1700000>; 111 124 no-map; 112 125 }; 113 126 };
+37
arch/arm/boot/dts/qcom/qcom-msm8926-samsung-matisselte.dts
··· 1 + // SPDX-License-Identifier: BSD-3-Clause 2 + /* 3 + * Copyright (c) 2022, Matti Lehtimäki <matti.lehtimaki@gmail.com> 4 + * Copyright (c) 2023, Stefan Hansson <newbyte@postmarketos.org> 5 + */ 6 + 7 + /dts-v1/; 8 + 9 + #include "qcom-msm8226-samsung-matisse-common.dtsi" 10 + 11 + / { 12 + model = "Samsung Galaxy Tab 4 10.1 LTE"; 13 + compatible = "samsung,matisselte", "qcom,msm8926", "qcom,msm8226"; 14 + chassis-type = "tablet"; 15 + 16 + reg_tsp_3p3v: regulator-tsp-3p3v { 17 + compatible = "regulator-fixed"; 18 + regulator-name = "tsp_3p3v"; 19 + regulator-min-microvolt = <3300000>; 20 + regulator-max-microvolt = <3300000>; 21 + 22 + gpio = <&tlmm 32 GPIO_ACTIVE_HIGH>; 23 + enable-active-high; 24 + 25 + pinctrl-names = "default"; 26 + pinctrl-0 = <&tsp_en1_default_state>; 27 + }; 28 + }; 29 + 30 + &tlmm { 31 + tsp_en1_default_state: tsp-en1-default-state { 32 + pins = "gpio32"; 33 + function = "gpio"; 34 + drive-strength = <2>; 35 + bias-disable; 36 + }; 37 + };
+21
arch/arm/boot/dts/qcom/qcom-msm8960-pins.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0-only 2 + 3 + &msmgpio { 4 + i2c3_default_state: i2c3-default-state { 5 + i2c3-pins { 6 + pins = "gpio16", "gpio17"; 7 + function = "gsbi3"; 8 + drive-strength = <8>; 9 + bias-disable; 10 + }; 11 + }; 12 + 13 + i2c3_sleep_state: i2c3-sleep-state { 14 + i2c3-pins { 15 + pins = "gpio16", "gpio17"; 16 + function = "gpio"; 17 + drive-strength = <2>; 18 + bias-bus-hold; 19 + }; 20 + }; 21 + };
+70 -1
arch/arm/boot/dts/qcom/qcom-msm8960-samsung-expressatt.dts
··· 4 4 5 5 #include "qcom-msm8960.dtsi" 6 6 #include "pm8921.dtsi" 7 + #include <dt-bindings/gpio/gpio.h> 8 + #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 9 + #include <dt-bindings/input/gpio-keys.h> 7 10 8 11 / { 9 12 model = "Samsung Galaxy Express SGH-I437"; ··· 21 18 22 19 chosen { 23 20 stdout-path = "serial0:115200n8"; 21 + }; 22 + 23 + gpio-keys { 24 + compatible = "gpio-keys"; 25 + 26 + pinctrl-names = "default"; 27 + pinctrl-0 = <&gpio_keys_pin_a>; 28 + 29 + key-home { 30 + label = "Home"; 31 + gpios = <&msmgpio 40 GPIO_ACTIVE_LOW>; 32 + debounce-interval = <5>; 33 + linux,code = <KEY_HOMEPAGE>; 34 + wakeup-event-action = <EV_ACT_ASSERTED>; 35 + wakeup-source; 36 + }; 37 + 38 + key-volume-up { 39 + label = "Volume Up"; 40 + gpios = <&msmgpio 50 GPIO_ACTIVE_LOW>; 41 + debounce-interval = <5>; 42 + linux,code = <KEY_VOLUMEUP>; 43 + }; 44 + 45 + key-volume-down { 46 + label = "Volume Down"; 47 + gpios = <&msmgpio 81 GPIO_ACTIVE_LOW>; 48 + debounce-interval = <5>; 49 + linux,code = <KEY_VOLUMEDOWN>; 50 + }; 24 51 }; 25 52 }; 26 53 ··· 85 52 status = "okay"; 86 53 }; 87 54 55 + &gsbi3 { 56 + qcom,mode = <GSBI_PROT_I2C>; 57 + status = "okay"; 58 + }; 59 + 60 + &gsbi3_i2c { 61 + status = "okay"; 62 + 63 + // Atmel mXT224S touchscreen 64 + touchscreen@4a { 65 + compatible = "atmel,maxtouch"; 66 + reg = <0x4a>; 67 + interrupt-parent = <&msmgpio>; 68 + interrupts = <11 IRQ_TYPE_EDGE_FALLING>; 69 + vdda-supply = <&pm8921_lvs6>; 70 + vdd-supply = <&pm8921_l17>; 71 + pinctrl-names = "default"; 72 + pinctrl-0 = <&touchscreen>; 73 + }; 74 + }; 75 + 88 76 &msmgpio { 89 77 spi1_default: spi1-default-state { 90 78 mosi-pins { ··· 136 82 drive-strength = <12>; 137 83 bias-disable; 138 84 }; 85 + }; 86 + 87 + gpio_keys_pin_a: gpio-keys-active-state { 88 + pins = "gpio40", "gpio50", "gpio81"; 89 + function = "gpio"; 90 + drive-strength = <8>; 91 + bias-disable; 92 + }; 93 + 94 + touchscreen: touchscreen-int-state { 95 + pins = "gpio11"; 96 + function = "gpio"; 97 + output-enable; 98 + bias-disable; 99 + drive-strength = <2>; 139 100 }; 140 101 }; 141 102 ··· 314 245 }; 315 246 316 247 pm8921_l17: l17 { 317 - regulator-min-microvolt = <1800000>; 248 + regulator-min-microvolt = <3300000>; 318 249 regulator-max-microvolt = <3300000>; 319 250 bias-pull-down; 320 251 };
+42 -6
arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
··· 220 220 #clock-cells = <0>; 221 221 }; 222 222 223 - saw0: regulator@2089000 { 224 - compatible = "qcom,saw2"; 223 + saw0: power-manager@2089000 { 224 + compatible = "qcom,msm8960-saw2-cpu", "qcom,saw2"; 225 225 reg = <0x02089000 0x1000>, <0x02009000 0x1000>; 226 - regulator; 226 + 227 + saw0_vreg: regulator { 228 + regulator-min-microvolt = <850000>; 229 + regulator-max-microvolt = <1300000>; 230 + }; 227 231 }; 228 232 229 - saw1: regulator@2099000 { 230 - compatible = "qcom,saw2"; 233 + saw1: power-manager@2099000 { 234 + compatible = "qcom,msm8960-saw2-cpu", "qcom,saw2"; 231 235 reg = <0x02099000 0x1000>, <0x02009000 0x1000>; 232 - regulator; 236 + 237 + saw1_vreg: regulator { 238 + regulator-min-microvolt = <850000>; 239 + regulator-max-microvolt = <1300000>; 240 + }; 233 241 }; 234 242 235 243 gsbi5: gsbi@16400000 { ··· 367 359 }; 368 360 }; 369 361 }; 362 + 363 + gsbi3: gsbi@16200000 { 364 + compatible = "qcom,gsbi-v1.0.0"; 365 + reg = <0x16200000 0x100>; 366 + ranges; 367 + cell-index = <3>; 368 + clocks = <&gcc GSBI3_H_CLK>; 369 + clock-names = "iface"; 370 + #address-cells = <1>; 371 + #size-cells = <1>; 372 + status = "disabled"; 373 + 374 + gsbi3_i2c: i2c@16280000 { 375 + compatible = "qcom,i2c-qup-v1.1.1"; 376 + reg = <0x16280000 0x1000>; 377 + pinctrl-0 = <&i2c3_default_state>; 378 + pinctrl-1 = <&i2c3_sleep_state>; 379 + pinctrl-names = "default", "sleep"; 380 + interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>; 381 + clocks = <&gcc GSBI3_QUP_CLK>, 382 + <&gcc GSBI3_H_CLK>; 383 + clock-names = "core", "iface"; 384 + #address-cells = <1>; 385 + #size-cells = <0>; 386 + status = "disabled"; 387 + }; 388 + }; 370 389 }; 371 390 }; 391 + #include "qcom-msm8960-pins.dtsi"
+16 -17
arch/arm/boot/dts/qcom/qcom-msm8974.dtsi
··· 31 31 cpus { 32 32 #address-cells = <1>; 33 33 #size-cells = <0>; 34 - interrupts = <GIC_PPI 9 0xf04>; 34 + interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 35 35 36 36 CPU0: cpu@0 { 37 37 compatible = "qcom,krait"; ··· 110 110 111 111 pmu { 112 112 compatible = "qcom,krait-pmu"; 113 - interrupts = <GIC_PPI 7 0xf04>; 113 + interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 114 114 }; 115 115 116 116 rpm: remoteproc { ··· 346 346 reg = <0xf9011000 0x1000>; 347 347 }; 348 348 349 - saw_l2: power-controller@f9012000 { 350 - compatible = "qcom,saw2"; 349 + saw_l2: power-manager@f9012000 { 350 + compatible = "qcom,msm8974-saw2-v2.1-l2", "qcom,saw2"; 351 351 reg = <0xf9012000 0x1000>; 352 - regulator; 353 352 }; 354 353 355 354 watchdog@f9017000 { ··· 423 424 reg = <0xf9088000 0x1000>, <0xf9008000 0x1000>; 424 425 }; 425 426 426 - saw0: power-controller@f9089000 { 427 + saw0: power-manager@f9089000 { 427 428 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2"; 428 429 reg = <0xf9089000 0x1000>, <0xf9009000 0x1000>; 429 430 }; ··· 433 434 reg = <0xf9098000 0x1000>, <0xf9008000 0x1000>; 434 435 }; 435 436 436 - saw1: power-controller@f9099000 { 437 + saw1: power-manager@f9099000 { 437 438 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2"; 438 439 reg = <0xf9099000 0x1000>, <0xf9009000 0x1000>; 439 440 }; ··· 443 444 reg = <0xf90a8000 0x1000>, <0xf9008000 0x1000>; 444 445 }; 445 446 446 - saw2: power-controller@f90a9000 { 447 + saw2: power-manager@f90a9000 { 447 448 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2"; 448 449 reg = <0xf90a9000 0x1000>, <0xf9009000 0x1000>; 449 450 }; ··· 453 454 reg = <0xf90b8000 0x1000>, <0xf9008000 0x1000>; 454 455 }; 455 456 456 - saw3: power-controller@f90b9000 { 457 + saw3: power-manager@f90b9000 { 457 458 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2"; 458 459 reg = <0xf90b9000 0x1000>, <0xf9009000 0x1000>; 459 460 }; ··· 537 538 status = "disabled"; 538 539 compatible = "qcom,i2c-qup-v2.1.1"; 539 540 reg = <0xf9923000 0x1000>; 540 - interrupts = <0 95 IRQ_TYPE_LEVEL_HIGH>; 541 + interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 541 542 clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 542 543 clock-names = "core", "iface"; 543 544 pinctrl-names = "default", "sleep"; ··· 565 566 status = "disabled"; 566 567 compatible = "qcom,i2c-qup-v2.1.1"; 567 568 reg = <0xf9925000 0x1000>; 568 - interrupts = <0 97 IRQ_TYPE_LEVEL_HIGH>; 569 + interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 569 570 clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 570 571 clock-names = "core", "iface"; 571 572 pinctrl-names = "default", "sleep"; ··· 665 666 status = "disabled"; 666 667 compatible = "qcom,i2c-qup-v2.1.1"; 667 668 reg = <0xf9968000 0x1000>; 668 - interrupts = <0 106 IRQ_TYPE_LEVEL_HIGH>; 669 + interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 669 670 clocks = <&gcc GCC_BLSP2_QUP6_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>; 670 671 clock-names = "core", "iface"; 671 672 pinctrl-names = "default", "sleep"; ··· 1233 1234 1234 1235 qfprom: qfprom@fc4bc000 { 1235 1236 compatible = "qcom,msm8974-qfprom", "qcom,qfprom"; 1236 - reg = <0xfc4bc000 0x1000>; 1237 + reg = <0xfc4bc000 0x2100>; 1237 1238 #address-cells = <1>; 1238 1239 #size-cells = <1>; 1239 1240 ··· 2402 2403 2403 2404 timer { 2404 2405 compatible = "arm,armv7-timer"; 2405 - interrupts = <GIC_PPI 2 0xf08>, 2406 - <GIC_PPI 3 0xf08>, 2407 - <GIC_PPI 4 0xf08>, 2408 - <GIC_PPI 1 0xf08>; 2406 + interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 2407 + <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 2408 + <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 2409 + <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 2409 2410 clock-frequency = <19200000>; 2410 2411 }; 2411 2412 };
+9 -9
arch/arm/boot/dts/qcom/qcom-sdx55.dtsi
··· 731 731 732 732 frame@17821000 { 733 733 frame-number = <0>; 734 - interrupts = <GIC_SPI 7 0x4>, 735 - <GIC_SPI 6 0x4>; 734 + interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 735 + <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 736 736 reg = <0x17821000 0x1000>, 737 737 <0x17822000 0x1000>; 738 738 }; 739 739 740 740 frame@17823000 { 741 741 frame-number = <1>; 742 - interrupts = <GIC_SPI 8 0x4>; 742 + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 743 743 reg = <0x17823000 0x1000>; 744 744 status = "disabled"; 745 745 }; 746 746 747 747 frame@17824000 { 748 748 frame-number = <2>; 749 - interrupts = <GIC_SPI 9 0x4>; 749 + interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 750 750 reg = <0x17824000 0x1000>; 751 751 status = "disabled"; 752 752 }; 753 753 754 754 frame@17825000 { 755 755 frame-number = <3>; 756 - interrupts = <GIC_SPI 10 0x4>; 756 + interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 757 757 reg = <0x17825000 0x1000>; 758 758 status = "disabled"; 759 759 }; 760 760 761 761 frame@17826000 { 762 762 frame-number = <4>; 763 - interrupts = <GIC_SPI 11 0x4>; 763 + interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 764 764 reg = <0x17826000 0x1000>; 765 765 status = "disabled"; 766 766 }; 767 767 768 768 frame@17827000 { 769 769 frame-number = <5>; 770 - interrupts = <GIC_SPI 12 0x4>; 770 + interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 771 771 reg = <0x17827000 0x1000>; 772 772 status = "disabled"; 773 773 }; 774 774 775 775 frame@17828000 { 776 776 frame-number = <6>; 777 - interrupts = <GIC_SPI 13 0x4>; 777 + interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 778 778 reg = <0x17828000 0x1000>; 779 779 status = "disabled"; 780 780 }; 781 781 782 782 frame@17829000 { 783 783 frame-number = <7>; 784 - interrupts = <GIC_SPI 14 0x4>; 784 + interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 785 785 reg = <0x17829000 0x1000>; 786 786 status = "disabled"; 787 787 };
+17 -17
arch/arm/boot/dts/qcom/qcom-sdx65.dtsi
··· 492 492 clocks = <&gcc GCC_USB30_SLV_AHB_CLK>, 493 493 <&gcc GCC_USB30_MASTER_CLK>, 494 494 <&gcc GCC_USB30_MSTR_AXI_CLK>, 495 - <&gcc GCC_USB30_MOCK_UTMI_CLK>, 496 - <&gcc GCC_USB30_SLEEP_CLK>; 497 - clock-names = "cfg_noc", "core", "iface", "mock_utmi", 498 - "sleep"; 495 + <&gcc GCC_USB30_SLEEP_CLK>, 496 + <&gcc GCC_USB30_MOCK_UTMI_CLK>; 497 + clock-names = "cfg_noc", "core", "iface", "sleep", 498 + "mock_utmi"; 499 499 500 500 assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>, 501 501 <&gcc GCC_USB30_MASTER_CLK>; ··· 669 669 670 670 frame@17821000 { 671 671 frame-number = <0>; 672 - interrupts = <GIC_SPI 7 0x4>, 673 - <GIC_SPI 6 0x4>; 672 + interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 673 + <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 674 674 reg = <0x17821000 0x1000>, 675 675 <0x17822000 0x1000>; 676 676 }; 677 677 678 678 frame@17823000 { 679 679 frame-number = <1>; 680 - interrupts = <GIC_SPI 8 0x4>; 680 + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 681 681 reg = <0x17823000 0x1000>; 682 682 status = "disabled"; 683 683 }; 684 684 685 685 frame@17824000 { 686 686 frame-number = <2>; 687 - interrupts = <GIC_SPI 9 0x4>; 687 + interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 688 688 reg = <0x17824000 0x1000>; 689 689 status = "disabled"; 690 690 }; 691 691 692 692 frame@17825000 { 693 693 frame-number = <3>; 694 - interrupts = <GIC_SPI 10 0x4>; 694 + interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 695 695 reg = <0x17825000 0x1000>; 696 696 status = "disabled"; 697 697 }; 698 698 699 699 frame@17826000 { 700 700 frame-number = <4>; 701 - interrupts = <GIC_SPI 11 0x4>; 701 + interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 702 702 reg = <0x17826000 0x1000>; 703 703 status = "disabled"; 704 704 }; 705 705 706 706 frame@17827000 { 707 707 frame-number = <5>; 708 - interrupts = <GIC_SPI 12 0x4>; 708 + interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 709 709 reg = <0x17827000 0x1000>; 710 710 status = "disabled"; 711 711 }; 712 712 713 713 frame@17828000 { 714 714 frame-number = <6>; 715 - interrupts = <GIC_SPI 13 0x4>; 715 + interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 716 716 reg = <0x17828000 0x1000>; 717 717 status = "disabled"; 718 718 }; 719 719 720 720 frame@17829000 { 721 721 frame-number = <7>; 722 - interrupts = <GIC_SPI 14 0x4>; 722 + interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 723 723 reg = <0x17829000 0x1000>; 724 724 status = "disabled"; 725 725 }; ··· 806 806 807 807 timer { 808 808 compatible = "arm,armv7-timer"; 809 - interrupts = <1 13 0xf08>, 810 - <1 12 0xf08>, 811 - <1 10 0xf08>, 812 - <1 11 0xf08>; 809 + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 810 + <GIC_PPI 12 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 811 + <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 812 + <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 813 813 clock-frequency = <19200000>; 814 814 }; 815 815 };
+8 -33
arch/arm/mach-qcom/Kconfig
··· 4 4 depends on ARCH_MULTI_V7 5 5 select ARM_GIC 6 6 select ARM_AMBA 7 + select CLKSRC_QCOM 8 + select HAVE_ARM_ARCH_TIMER 7 9 select PINCTRL 8 10 select QCOM_SCM if SMP 9 11 help 10 12 Support for Qualcomm's devicetree based systems. 13 + This includes support for a few devices with ARM64 SoC, that have 14 + ARM32 signed firmware that does not allow booting ARM64 kernels. 11 15 12 16 if ARCH_QCOM 13 17 14 - config ARCH_IPQ40XX 15 - bool "Enable support for IPQ40XX" 16 - select CLKSRC_QCOM 17 - select HAVE_ARM_ARCH_TIMER 18 - 19 - config ARCH_MSM8X60 20 - bool "Enable support for MSM8X60" 21 - select CLKSRC_QCOM 22 - 23 - config ARCH_MSM8909 24 - bool "Enable support for MSM8909" 25 - select HAVE_ARM_ARCH_TIMER 26 - 27 - config ARCH_MSM8916 28 - bool "Enable support for MSM8916" 29 - select HAVE_ARM_ARCH_TIMER 18 + config ARCH_QCOM_RESERVE_SMEM 19 + bool "Reserve SMEM at the beginning of RAM" 30 20 help 31 - Enable support for the Qualcomm Snapdragon 410 (MSM8916/APQ8016). 32 - 33 - Note that ARM64 is the main supported architecture for MSM8916. 34 - The ARM32 option is intended for a few devices with signed firmware 35 - that does not allow booting ARM64 kernels. 36 - 37 - config ARCH_MSM8960 38 - bool "Enable support for MSM8960" 39 - select CLKSRC_QCOM 40 - 41 - config ARCH_MSM8974 42 - bool "Enable support for MSM8974" 43 - select HAVE_ARM_ARCH_TIMER 44 - 45 - config ARCH_MDM9615 46 - bool "Enable support for MDM9615" 47 - select CLKSRC_QCOM 21 + Reserve 2MB at the beginning of the System RAM for shared mem. 22 + This is required on IPQ40xx, MSM8x60 and MSM8960 platforms. 48 23 49 24 endif
+1 -1
drivers/iommu/Kconfig
··· 179 179 config MSM_IOMMU 180 180 bool "MSM IOMMU Support" 181 181 depends on ARM 182 - depends on ARCH_MSM8X60 || ARCH_MSM8960 || COMPILE_TEST 182 + depends on ARCH_QCOM || COMPILE_TEST 183 183 select IOMMU_API 184 184 select IOMMU_IO_PGTABLE_ARMV7S 185 185 help