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

Merge tag 'ux500-dts-v5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into arm/dt

Ux500 DTS updates for the v5.18 kernel cycle:

- Add battery thermal zones so we can monitor the battery temperature
- Enable charging options on AB8505
- Fix up all the AB8500 and AB8505 nodes in accordance with the new
schema.
- Fix the mounting matrix for the Janice phone.

* tag 'ux500-dts-v5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
ARM: dts: ux500: Correct Janice accel mount matrix
ARM: dts: ux500: Update AB850[05] nodes
ARM: dts: AB8505: Enable charging options
ARM: dts: ux500: Add battery thermal zones and NTCs

Link: https://lore.kernel.org/r/CACRpkdaDcEqtSnWzRBnBHVweh2n=Dj3meHG9LND+K0Czb9ORGg@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+203 -58
+20 -19
arch/arm/boot/dts/ste-ab8500.dtsi
··· 28 28 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 29 29 interrupt-controller; 30 30 #interrupt-cells = <2>; 31 + #address-cells = <1>; 32 + #size-cells = <0>; 31 33 32 34 ab8500_clock: clock-controller { 33 35 compatible = "stericsson,ab8500-clk"; 34 36 #clock-cells = <1>; 35 37 }; 36 38 37 - ab8500_gpio: ab8500-gpiocontroller { 39 + ab8500_gpio: gpio { 38 40 compatible = "stericsson,ab8500-gpio"; 39 41 gpio-controller; 40 42 #gpio-cells = <2>; 41 43 }; 42 44 43 - ab8500-rtc { 45 + rtc { 44 46 compatible = "stericsson,ab8500-rtc"; 45 47 interrupts = <17 IRQ_TYPE_LEVEL_HIGH>, 46 48 <18 IRQ_TYPE_LEVEL_HIGH>; 47 49 interrupt-names = "60S", "ALARM"; 48 50 }; 49 51 50 - gpadc: ab8500-gpadc { 52 + gpadc: adc { 51 53 compatible = "stericsson,ab8500-gpadc"; 52 54 interrupts = <32 IRQ_TYPE_LEVEL_HIGH>, 53 55 <39 IRQ_TYPE_LEVEL_HIGH>; ··· 122 120 }; 123 121 }; 124 122 125 - ab8500_temp { 123 + thermal { 126 124 compatible = "stericsson,abx500-temp"; 127 125 interrupts = <3 IRQ_TYPE_LEVEL_HIGH>; 128 126 interrupt-names = "ABX500_TEMP_WARM"; 129 - io-channels = <&gpadc 0x06>, 130 - <&gpadc 0x07>; 131 - io-channel-names = "aux1", "aux2"; 132 127 }; 133 128 134 129 ab8500_fg { ··· 211 212 monitored-battery = <&battery>; 212 213 }; 213 214 214 - ab8500_usb: ab8500_usb { 215 + ab8500_usb: phy { 215 216 compatible = "stericsson,ab8500-usb"; 216 217 interrupts = <90 IRQ_TYPE_LEVEL_HIGH>, 217 218 <96 IRQ_TYPE_LEVEL_HIGH>, ··· 235 236 #phy-cells = <0>; 236 237 }; 237 238 238 - ab8500-ponkey { 239 + key { 239 240 compatible = "stericsson,ab8500-poweron-key"; 240 241 interrupts = <6 IRQ_TYPE_LEVEL_HIGH>, 241 242 <7 IRQ_TYPE_LEVEL_HIGH>; ··· 246 247 compatible = "stericsson,ab8500-sysctrl"; 247 248 }; 248 249 249 - ab8500-pwm-1 { 250 + pwm@1 { 250 251 compatible = "stericsson,ab8500-pwm"; 252 + reg = <1>; 251 253 clocks = <&ab8500_clock AB8500_SYSCLK_INT>; 252 254 clock-names = "intclk"; 255 + #pwm-cells = <1>; 253 256 }; 254 257 255 - ab8500-pwm-2 { 258 + pwm@2 { 256 259 compatible = "stericsson,ab8500-pwm"; 260 + reg = <2>; 257 261 clocks = <&ab8500_clock AB8500_SYSCLK_INT>; 258 262 clock-names = "intclk"; 263 + #pwm-cells = <1>; 259 264 }; 260 265 261 - ab8500-pwm-3 { 266 + pwm@3 { 262 267 compatible = "stericsson,ab8500-pwm"; 268 + reg = <3>; 263 269 clocks = <&ab8500_clock AB8500_SYSCLK_INT>; 264 270 clock-names = "intclk"; 271 + #pwm-cells = <1>; 265 272 }; 266 273 267 - ab8500-debugfs { 268 - compatible = "stericsson,ab8500-debug"; 269 - }; 270 - 271 - codec: ab8500-codec { 274 + codec: codec { 272 275 compatible = "stericsson,ab8500-codec"; 273 276 274 277 V-AUD-supply = <&ab8500_ldo_audio_reg>; ··· 284 283 stericsson,earpeice-cmv = <950>; /* Units in mV. */ 285 284 }; 286 285 287 - ext_regulators: ab8500-ext-regulators { 286 + ext_regulators: regulator-external { 288 287 compatible = "stericsson,ab8500-ext-regulator"; 289 288 290 289 ab8500_ext1_reg: ab8500_ext1 { ··· 308 307 }; 309 308 }; 310 309 311 - ab8500-regulators { 310 + regulator { 312 311 compatible = "stericsson,ab8500-regulator"; 313 312 vin-supply = <&ab8500_ext3_reg>; 314 313
+18 -16
arch/arm/boot/dts/ste-ab8505.dtsi
··· 25 25 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 26 26 interrupt-controller; 27 27 #interrupt-cells = <2>; 28 + #address-cells = <1>; 29 + #size-cells = <0>; 28 30 29 31 ab8500_clock: clock-controller { 30 32 compatible = "stericsson,ab8500-clk"; 31 33 #clock-cells = <1>; 32 34 }; 33 35 34 - ab8505_gpio: ab8505-gpiocontroller { 36 + ab8505_gpio: gpio { 35 37 compatible = "stericsson,ab8505-gpio"; 36 38 gpio-controller; 37 39 #gpio-cells = <2>; 38 40 }; 39 41 40 - ab8500-rtc { 42 + rtc { 41 43 compatible = "stericsson,ab8500-rtc"; 42 44 interrupts = <17 IRQ_TYPE_LEVEL_HIGH>, 43 45 <18 IRQ_TYPE_LEVEL_HIGH>; 44 46 interrupt-names = "60S", "ALARM"; 45 47 }; 46 48 47 - gpadc: ab8500-gpadc { 49 + gpadc: adc { 48 50 compatible = "stericsson,ab8500-gpadc"; 49 51 interrupts = <39 IRQ_TYPE_LEVEL_HIGH>; 50 52 interrupt-names = "SW_CONV_END"; ··· 94 92 }; 95 93 }; 96 94 95 + thermal { 96 + compatible = "stericsson,abx500-temp"; 97 + interrupts = <3 IRQ_TYPE_LEVEL_HIGH>; 98 + interrupt-names = "ABX500_TEMP_WARM"; 99 + }; 100 + 97 101 ab8500_fg { 98 - status = "disabled"; 99 102 compatible = "stericsson,ab8500-fg"; 100 103 interrupts = <24 IRQ_TYPE_LEVEL_HIGH>, 101 104 <8 IRQ_TYPE_LEVEL_HIGH>, ··· 118 111 }; 119 112 120 113 ab8500_btemp { 121 - status = "disabled"; 122 114 compatible = "stericsson,ab8500-btemp"; 123 115 interrupts = <20 IRQ_TYPE_LEVEL_HIGH>, 124 116 <80 IRQ_TYPE_LEVEL_HIGH>, ··· 137 131 }; 138 132 139 133 ab8500_charger { 140 - status = "disabled"; 141 134 compatible = "stericsson,ab8500-charger"; 142 135 interrupts = <10 IRQ_TYPE_LEVEL_HIGH>, 143 136 <11 IRQ_TYPE_LEVEL_HIGH>, ··· 175 170 }; 176 171 177 172 ab8500_chargalg { 178 - status = "disabled"; 179 173 compatible = "stericsson,ab8500-chargalg"; 180 174 monitored-battery = <&battery>; 181 175 }; 182 176 183 - ab8500_usb: ab8500_usb { 177 + ab8500_usb: phy { 184 178 compatible = "stericsson,ab8500-usb"; 185 179 interrupts = <90 IRQ_TYPE_LEVEL_HIGH>, 186 180 <96 IRQ_TYPE_LEVEL_HIGH>, ··· 203 199 #phy-cells = <0>; 204 200 }; 205 201 206 - ab8500-ponkey { 202 + key { 207 203 compatible = "stericsson,ab8500-poweron-key"; 208 204 interrupts = <6 IRQ_TYPE_LEVEL_HIGH>, 209 205 <7 IRQ_TYPE_LEVEL_HIGH>; ··· 214 210 compatible = "stericsson,ab8500-sysctrl"; 215 211 }; 216 212 217 - ab8500-pwm { 213 + pwm@1 { 218 214 compatible = "stericsson,ab8500-pwm"; 215 + reg = <1>; 219 216 clocks = <&ab8500_clock AB8500_SYSCLK_INT>; 220 217 clock-names = "intclk"; 218 + #pwm-cells = <1>; 221 219 }; 222 220 223 - ab8500-debugfs { 224 - compatible = "stericsson,ab8500-debug"; 225 - }; 226 - 227 - codec: ab8500-codec { 221 + codec: codec { 228 222 compatible = "stericsson,ab8500-codec"; 229 223 230 224 V-AUD-supply = <&ab8500_ldo_audio_reg>; ··· 235 233 stericsson,earpeice-cmv = <950>; /* Units in mV. */ 236 234 }; 237 235 238 - ab8505-regulators { 236 + regulator { 239 237 compatible = "stericsson,ab8505-regulator"; 240 238 241 239 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
+1 -1
arch/arm/boot/dts/ste-href-ab8500.dtsi
··· 9 9 soc { 10 10 prcmu@80157000 { 11 11 ab8500 { 12 - ab8500-gpiocontroller { 12 + gpio { 13 13 /* Hog a few default settings */ 14 14 pinctrl-names = "default"; 15 15 pinctrl-0 = <&gpio2_default_mode>,
+21 -4
arch/arm/boot/dts/ste-href.dtsi
··· 16 16 battery: battery { 17 17 compatible = "simple-battery"; 18 18 battery-type = "lithium-ion-polymer"; 19 - thermistor-on-batctrl; 19 + }; 20 + 21 + thermal-zones { 22 + battery-thermal { 23 + /* This zone will be polled by the battery temperature code */ 24 + polling-delay = <0>; 25 + polling-delay-passive = <0>; 26 + thermal-sensors = <&bat_therm>; 27 + }; 28 + }; 29 + 30 + bat_therm: thermistor { 31 + compatible = "murata,ncp18wb473"; 32 + io-channels = <&gpadc 0x02>; /* BatTemp */ 33 + pullup-uv = <1800000>; 34 + pullup-ohm = <230000>; 35 + pulldown-ohm = <0>; 36 + #thermal-sensor-cells = <0>; 20 37 }; 21 38 22 39 soc { ··· 236 219 237 220 prcmu@80157000 { 238 221 ab8500 { 239 - ab8500-gpiocontroller { 222 + gpio { 240 223 }; 241 224 242 - ab8500_usb { 225 + phy { 243 226 pinctrl-names = "default", "sleep"; 244 227 pinctrl-0 = <&usb_a_1_default>; 245 228 pinctrl-1 = <&usb_a_1_sleep>; 246 229 }; 247 230 248 - ab8500-regulators { 231 + regulator { 249 232 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { 250 233 regulator-name = "V-DISPLAY"; 251 234 };
+22 -5
arch/arm/boot/dts/ste-snowball.dts
··· 20 20 battery: battery { 21 21 compatible = "simple-battery"; 22 22 battery-type = "lithium-ion-polymer"; 23 - thermistor-on-batctrl; 23 + }; 24 + 25 + thermal-zones { 26 + battery-thermal { 27 + /* This zone will be polled by the battery temperature code */ 28 + polling-delay = <0>; 29 + polling-delay-passive = <0>; 30 + thermal-sensors = <&bat_therm>; 31 + }; 32 + }; 33 + 34 + bat_therm: thermistor { 35 + compatible = "murata,ncp18wb473"; 36 + io-channels = <&gpadc 0x02>; /* BatTemp */ 37 + pullup-uv = <1800000>; 38 + pullup-ohm = <230000>; 39 + pulldown-ohm = <0>; 40 + #thermal-sensor-cells = <0>; 24 41 }; 25 42 26 43 en_3v3_reg: en_3v3 { ··· 401 384 402 385 prcmu@80157000 { 403 386 ab8500 { 404 - ab8500-gpiocontroller { 387 + gpio { 405 388 /* 406 389 * AB8500 GPIOs are numbered starting from 1, so the first 407 390 * index 0 is what in the datasheet is called "GPIO1", and ··· 423 406 "PM_GPIO42"; /* AB8500 GPIO42 */ 424 407 }; 425 408 426 - ab8500_usb { 409 + phy { 427 410 pinctrl-names = "default", "sleep"; 428 411 pinctrl-0 = <&usb_a_1_default>; 429 412 pinctrl-1 = <&usb_a_1_sleep>; 430 413 }; 431 414 432 - ext_regulators: ab8500-ext-regulators { 415 + ext_regulators: regulator-external { 433 416 ab8500_ext1_reg: ab8500_ext1 { 434 417 regulator-name = "ab8500-ext-supply1"; 435 418 }; ··· 443 426 }; 444 427 }; 445 428 446 - ab8500-regulators { 429 + regulator { 447 430 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { 448 431 regulator-name = "V-DISPLAY"; 449 432 };
+20 -2
arch/arm/boot/dts/ste-ux500-samsung-codina.dts
··· 47 47 compatible = "samsung,eb425161lu"; 48 48 }; 49 49 50 + thermal-zones { 51 + battery-thermal { 52 + /* This zone will be polled by the battery temperature code */ 53 + polling-delay = <0>; 54 + polling-delay-passive = <0>; 55 + thermal-sensors = <&bat_therm>; 56 + }; 57 + }; 58 + 59 + bat_therm: thermistor { 60 + compatible = "samsung,1404-001221"; 61 + io-channels = <&gpadc 0x02>; /* BatTemp */ 62 + pullup-uv = <1800000>; 63 + pullup-ohm = <230000>; 64 + pulldown-ohm = <0>; 65 + #thermal-sensor-cells = <0>; 66 + }; 67 + 50 68 /* TI TXS0206 level translator for 2.9 V */ 51 69 sd_level_translator: regulator-gpio { 52 70 compatible = "regulator-fixed"; ··· 477 459 478 460 prcmu@80157000 { 479 461 ab8500 { 480 - ab8500_usb { 462 + phy { 481 463 pinctrl-names = "default", "sleep"; 482 464 pinctrl-0 = <&usb_a_1_default>; 483 465 pinctrl-1 = <&usb_a_1_sleep>; 484 466 }; 485 467 486 - ab8500-regulators { 468 + regulator { 487 469 ab8500_ldo_aux1 { 488 470 /* Used for VDD for sensors */ 489 471 regulator-name = "V-SENSORS-VDD";
+20 -2
arch/arm/boot/dts/ste-ux500-samsung-gavini.dts
··· 24 24 compatible = "samsung,eb585157lu"; 25 25 }; 26 26 27 + thermal-zones { 28 + battery-thermal { 29 + /* This zone will be polled by the battery temperature code */ 30 + polling-delay = <0>; 31 + polling-delay-passive = <0>; 32 + thermal-sensors = <&bat_therm>; 33 + }; 34 + }; 35 + 36 + bat_therm: thermistor { 37 + compatible = "samsung,1404-001221"; 38 + io-channels = <&gpadc 0x02>; /* BatTemp */ 39 + pullup-uv = <1800000>; 40 + pullup-ohm = <230000>; 41 + pulldown-ohm = <0>; 42 + #thermal-sensor-cells = <0>; 43 + }; 44 + 27 45 /* TI TXS0206 level translator for 2.9 V */ 28 46 sd_level_translator: regulator-gpio { 29 47 compatible = "regulator-fixed"; ··· 450 432 451 433 prcmu@80157000 { 452 434 ab8500 { 453 - ab8500_usb { 435 + phy { 454 436 pinctrl-names = "default", "sleep"; 455 437 pinctrl-0 = <&usb_a_1_default>; 456 438 pinctrl-1 = <&usb_a_1_sleep>; 457 439 }; 458 440 459 - ab8500-regulators { 441 + regulator { 460 442 ab8500_ldo_aux1 { 461 443 /* Used for VDD for sensors */ 462 444 regulator-name = "V-SENSORS-VDD";
+20 -2
arch/arm/boot/dts/ste-ux500-samsung-golden.dts
··· 29 29 compatible = "samsung,eb-l1m7flu"; 30 30 }; 31 31 32 + thermal-zones { 33 + battery-thermal { 34 + /* This zone will be polled by the battery temperature code */ 35 + polling-delay = <0>; 36 + polling-delay-passive = <0>; 37 + thermal-sensors = <&bat_therm>; 38 + }; 39 + }; 40 + 41 + bat_therm: thermistor { 42 + compatible = "samsung,1404-001221"; 43 + io-channels = <&gpadc 0x02>; /* BatTemp */ 44 + pullup-uv = <1800000>; 45 + pullup-ohm = <230000>; 46 + pulldown-ohm = <0>; 47 + #thermal-sensor-cells = <0>; 48 + }; 49 + 32 50 i2c-gpio-0 { 33 51 compatible = "i2c-gpio"; 34 52 sda-gpios = <&gpio2 14 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; ··· 298 280 299 281 prcmu@80157000 { 300 282 ab8505 { 301 - ab8500_usb { 283 + phy { 302 284 pinctrl-names = "default", "sleep"; 303 285 pinctrl-0 = <&usb_a_1_default>; 304 286 pinctrl-1 = <&usb_a_1_sleep>; 305 287 }; 306 288 307 - ab8505-regulators { 289 + regulator { 308 290 ab8500_ldo_aux1 { 309 291 regulator-name = "sensor_3v"; 310 292 regulator-min-microvolt = <3000000>;
+21 -3
arch/arm/boot/dts/ste-ux500-samsung-janice.dts
··· 24 24 compatible = "samsung,eb535151vu"; 25 25 }; 26 26 27 + thermal-zones { 28 + battery-thermal { 29 + /* This zone will be polled by the battery temperature code */ 30 + polling-delay = <0>; 31 + polling-delay-passive = <0>; 32 + thermal-sensors = <&bat_therm>; 33 + }; 34 + }; 35 + 36 + bat_therm: thermistor { 37 + compatible = "samsung,1404-001221"; 38 + io-channels = <&gpadc 0x02>; /* BatTemp */ 39 + pullup-uv = <1800000>; 40 + pullup-ohm = <230000>; 41 + pulldown-ohm = <0>; 42 + #thermal-sensor-cells = <0>; 43 + }; 44 + 27 45 /* External LDO for eMMC LDO VMEM_3V3 controlled by GPIO6 */ 28 46 ldo_3v3_reg: regulator-gpio-ldo-3v3 { 29 47 compatible = "regulator-fixed"; ··· 498 480 499 481 prcmu@80157000 { 500 482 ab8500 { 501 - ab8500_usb { 483 + phy { 502 484 pinctrl-names = "default", "sleep"; 503 485 pinctrl-0 = <&usb_a_1_default>; 504 486 pinctrl-1 = <&usb_a_1_sleep>; 505 487 }; 506 488 507 - ab8500-regulators { 489 + regulator { 508 490 ab8500_ldo_aux1 { 509 491 /* Used for VDD for sensors */ 510 492 regulator-name = "V-SENSORS-VDD"; ··· 612 594 reg = <0x08>; 613 595 mount-matrix = "0", "1", "0", 614 596 "-1", "0", "0", 615 - "0", "0", "-1"; 597 + "0", "0", "1"; 616 598 vddio-supply = <&ab8500_ldo_aux2_reg>; // 1.8V 617 599 vdd-supply = <&ab8500_ldo_aux1_reg>; // 3V 618 600 };
+20 -2
arch/arm/boot/dts/ste-ux500-samsung-kyle.dts
··· 28 28 compatible = "samsung,eb425161la"; 29 29 }; 30 30 31 + thermal-zones { 32 + battery-thermal { 33 + /* This zone will be polled by the battery temperature code */ 34 + polling-delay = <0>; 35 + polling-delay-passive = <0>; 36 + thermal-sensors = <&bat_therm>; 37 + }; 38 + }; 39 + 40 + bat_therm: thermistor { 41 + compatible = "samsung,1404-001221"; 42 + io-channels = <&gpadc 0x02>; /* BatTemp */ 43 + pullup-uv = <1800000>; 44 + pullup-ohm = <230000>; 45 + pulldown-ohm = <0>; 46 + #thermal-sensor-cells = <0>; 47 + }; 48 + 31 49 /* TI TXS0206 level translator for 2.9 V */ 32 50 sd_level_translator: regulator-gpio { 33 51 compatible = "regulator-fixed"; ··· 319 301 320 302 prcmu@80157000 { 321 303 ab8505 { 322 - ab8500_usb { 304 + phy { 323 305 pinctrl-names = "default", "sleep"; 324 306 pinctrl-0 = <&usb_a_1_default>; 325 307 pinctrl-1 = <&usb_a_1_sleep>; 326 308 }; 327 309 328 - ab8505-regulators { 310 + regulator { 329 311 ab8500_ldo_aux1 { 330 312 /* Used for VDD for sensors */ 331 313 regulator-name = "AUX1";
+20 -2
arch/arm/boot/dts/ste-ux500-samsung-skomer.dts
··· 24 24 compatible = "samsung,eb485159lu"; 25 25 }; 26 26 27 + thermal-zones { 28 + battery-thermal { 29 + /* This zone will be polled by the battery temperature code */ 30 + polling-delay = <0>; 31 + polling-delay-passive = <0>; 32 + thermal-sensors = <&bat_therm>; 33 + }; 34 + }; 35 + 36 + bat_therm: thermistor { 37 + compatible = "samsung,1404-001221"; 38 + io-channels = <&gpadc 0x02>; /* BatTemp */ 39 + pullup-uv = <1800000>; 40 + pullup-ohm = <230000>; 41 + pulldown-ohm = <0>; 42 + #thermal-sensor-cells = <0>; 43 + }; 44 + 27 45 /* TI TXS0206 level translator for 2.9 V */ 28 46 sd_level_translator: regulator-gpio { 29 47 compatible = "regulator-fixed"; ··· 303 285 304 286 prcmu@80157000 { 305 287 ab8505 { 306 - ab8500_usb { 288 + phy { 307 289 pinctrl-names = "default", "sleep"; 308 290 pinctrl-0 = <&usb_a_1_default>; 309 291 pinctrl-1 = <&usb_a_1_sleep>; 310 292 }; 311 293 312 - ab8505-regulators { 294 + regulator { 313 295 ab8500_ldo_aux1 { 314 296 /* Used for VDD for sensors */ 315 297 regulator-name = "AUX1";