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

Configure Feed

Select the types of activity you want to include in your feed.

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

More Qualcomm Arm32 DeviceTree updated for v6.20

MSM8226 is switched to generic RPMPD_ indices, to allow dropping the
duplicate platform-specific constants.

On MSM8960 two additional GSBIs and I2C controllers are introduced.
Accelerometer, Magnetometer, NFC and Light/Proximity sensors are then
enabled on the Samsung Galaxy Express.

* tag 'qcom-arm32-for-6.20-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
ARM: dts: qcom: switch to RPMPD_* indices
ARM: dts: qcom: msm8960: expressatt: Add Accelerometer
ARM: dts: qcom: msm8960: expressatt: Add Magnetometer
ARM: dts: qcom: msm8960: expressatt: Add NFC
ARM: dts: qcom: msm8960: expressatt: Add Light/Proximity Sensor
ARM: dts: qcom: msm8960: Add GSBI2 & GSBI7

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+207 -2
+2 -2
arch/arm/boot/dts/qcom/qcom-msm8226.dtsi
··· 959 959 resets = <&gcc GCC_MSS_RESTART>; 960 960 reset-names = "mss_restart"; 961 961 962 - power-domains = <&rpmpd MSM8226_VDDCX>; 962 + power-domains = <&rpmpd RPMPD_VDDCX>; 963 963 power-domain-names = "cx"; 964 964 965 965 qcom,ext-bhs-reg = <&tcsr_regs_1 0x194>; ··· 1372 1372 <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; 1373 1373 interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack"; 1374 1374 1375 - power-domains = <&rpmpd MSM8226_VDDCX>; 1375 + power-domains = <&rpmpd RPMPD_VDDCX>; 1376 1376 power-domain-names = "cx"; 1377 1377 1378 1378 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
+109
arch/arm/boot/dts/qcom/qcom-msm8960-samsung-expressatt.dts
··· 54 54 }; 55 55 }; 56 56 57 + &gsbi2 { 58 + qcom,mode = <GSBI_PROT_I2C>; 59 + 60 + status = "okay"; 61 + }; 62 + 63 + &gsbi2_i2c { 64 + status = "okay"; 65 + 66 + light-sensor@39 { 67 + compatible = "amstaos,tmd2772"; 68 + reg = <0x39>; 69 + interrupts-extended = <&pm8921_gpio 6 IRQ_TYPE_EDGE_FALLING>; 70 + vdd-supply = <&pm8921_l9>; 71 + vddio-supply = <&pm8921_lvs4>; 72 + 73 + /* TODO: Proximity doesn't work */ 74 + amstaos,proximity-diodes = <0>; 75 + led-max-microamp = <100000>; 76 + 77 + pinctrl-0 = <&prox_sensor_int>; 78 + pinctrl-names = "default"; 79 + }; 80 + }; 81 + 57 82 &gsbi5 { 58 83 qcom,mode = <GSBI_PROT_I2C_UART>; 59 84 status = "okay"; ··· 182 157 bias-disable; 183 158 drive-strength = <2>; 184 159 }; 160 + 161 + nfc_default: nfc-default-state { 162 + irq-pins { 163 + pins = "gpio106"; 164 + function = "gpio"; 165 + drive-strength = <2>; 166 + bias-pull-down; 167 + }; 168 + 169 + firmware-pins { 170 + pins = "gpio92"; 171 + function = "gpio"; 172 + drive-strength = <2>; 173 + bias-disable; 174 + }; 175 + }; 185 176 }; 186 177 187 178 &pm8921 { 188 179 interrupts-extended = <&tlmm 104 IRQ_TYPE_LEVEL_LOW>; 180 + }; 181 + 182 + &pm8921_gpio { 183 + prox_sensor_int: prox-sensor-int-state { 184 + pins = "gpio6"; 185 + function = "normal"; 186 + input-enable; 187 + bias-disable; 188 + }; 189 + 190 + nfc_enable: nfc-enable-state { 191 + pins = "gpio21"; 192 + function = "normal"; 193 + bias-disable; 194 + qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; 195 + power-source = <PM8921_GPIO_S4>; 196 + }; 189 197 }; 190 198 191 199 &rpm { ··· 465 407 &usb1 { 466 408 dr_mode = "otg"; 467 409 status = "okay"; 410 + }; 411 + 412 + &gsbi7 { 413 + qcom,mode = <GSBI_PROT_I2C>; 414 + 415 + status = "okay"; 416 + }; 417 + 418 + &gsbi7_i2c { 419 + status = "okay"; 420 + 421 + nfc@2b { 422 + compatible = "nxp,pn544-i2c"; 423 + reg = <0x2b>; 424 + interrupts-extended = <&tlmm 106 IRQ_TYPE_EDGE_RISING>; 425 + enable-gpios = <&pm8921_gpio 21 GPIO_ACTIVE_HIGH>; 426 + firmware-gpios = <&tlmm 92 GPIO_ACTIVE_HIGH>; 427 + 428 + pinctrl-0 = <&nfc_default &nfc_enable>; 429 + pinctrl-names = "default"; 430 + }; 431 + }; 432 + 433 + &gsbi12 { 434 + qcom,mode = <GSBI_PROT_I2C>; 435 + 436 + status = "okay"; 437 + }; 438 + 439 + &gsbi12_i2c { 440 + status = "okay"; 441 + 442 + accelerometer@18 { 443 + compatible = "bosch,bma254"; 444 + reg = <0x18>; 445 + vdd-supply = <&pm8921_l9>; 446 + vddio-supply = <&pm8921_lvs4>; 447 + 448 + mount-matrix = "-1", "0", "0", 449 + "0", "-1", "0", 450 + "0", "0", "1"; 451 + }; 452 + 453 + magnetometer@2e { 454 + compatible = "yamaha,yas532"; 455 + reg = <0x2e>; 456 + vdd-supply = <&pm8921_l9>; 457 + iovdd-supply = <&pm8921_lvs4>; 458 + 459 + /* TODO: Figure out Mount Matrix */ 460 + }; 468 461 };
+96
arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
··· 149 149 }; 150 150 }; 151 151 152 + i2c2_default_state: i2c2-default-state { 153 + i2c2-pins { 154 + pins = "gpio12", "gpio13"; 155 + function = "gsbi2"; 156 + drive-strength = <8>; 157 + bias-disable; 158 + }; 159 + }; 160 + 161 + i2c2_sleep_state: i2c2-sleep-state { 162 + i2c2-pins { 163 + pins = "gpio12", "gpio13"; 164 + function = "gpio"; 165 + drive-strength = <2>; 166 + bias-bus-hold; 167 + }; 168 + }; 169 + 152 170 i2c3_default_state: i2c3-default-state { 153 171 i2c3-pins { 154 172 pins = "gpio16", "gpio17"; ··· 179 161 i2c3_sleep_state: i2c3-sleep-state { 180 162 i2c3-pins { 181 163 pins = "gpio16", "gpio17"; 164 + function = "gpio"; 165 + drive-strength = <2>; 166 + bias-bus-hold; 167 + }; 168 + }; 169 + 170 + i2c7_default_state: i2c7-default-state { 171 + i2c7-pins { 172 + pins = "gpio32", "gpio33"; 173 + function = "gsbi7"; 174 + drive-strength = <8>; 175 + bias-disable; 176 + }; 177 + }; 178 + 179 + i2c7_sleep_state: i2c7-sleep-state { 180 + i2c7-pins { 181 + pins = "gpio32", "gpio33"; 182 182 function = "gpio"; 183 183 drive-strength = <2>; 184 184 bias-bus-hold; ··· 579 543 }; 580 544 }; 581 545 546 + gsbi2: gsbi@16100000 { 547 + compatible = "qcom,gsbi-v1.0.0"; 548 + reg = <0x16100000 0x100>; 549 + ranges; 550 + cell-index = <2>; 551 + clocks = <&gcc GSBI2_H_CLK>; 552 + clock-names = "iface"; 553 + #address-cells = <1>; 554 + #size-cells = <1>; 555 + 556 + status = "disabled"; 557 + 558 + gsbi2_i2c: i2c@16180000 { 559 + compatible = "qcom,i2c-qup-v1.1.1"; 560 + reg = <0x16180000 0x1000>; 561 + pinctrl-0 = <&i2c2_default_state>; 562 + pinctrl-1 = <&i2c2_sleep_state>; 563 + pinctrl-names = "default", "sleep"; 564 + interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>; 565 + clocks = <&gcc GSBI2_QUP_CLK>, 566 + <&gcc GSBI2_H_CLK>; 567 + clock-names = "core", 568 + "iface"; 569 + #address-cells = <1>; 570 + #size-cells = <0>; 571 + 572 + status = "disabled"; 573 + }; 574 + }; 575 + 582 576 gsbi3: gsbi@16200000 { 583 577 compatible = "qcom,gsbi-v1.0.0"; 584 578 reg = <0x16200000 0x100>; ··· 661 595 <&gcc GSBI5_H_CLK>; 662 596 clock-names = "core", 663 597 "iface"; 598 + 599 + status = "disabled"; 600 + }; 601 + }; 602 + 603 + gsbi7: gsbi@16600000 { 604 + compatible = "qcom,gsbi-v1.0.0"; 605 + reg = <0x16600000 0x100>; 606 + ranges; 607 + cell-index = <7>; 608 + clocks = <&gcc GSBI7_H_CLK>; 609 + clock-names = "iface"; 610 + #address-cells = <1>; 611 + #size-cells = <1>; 612 + 613 + status = "disabled"; 614 + 615 + gsbi7_i2c: i2c@16680000 { 616 + compatible = "qcom,i2c-qup-v1.1.1"; 617 + reg = <0x16680000 0x1000>; 618 + pinctrl-0 = <&i2c7_default_state>; 619 + pinctrl-1 = <&i2c7_sleep_state>; 620 + pinctrl-names = "default", "sleep"; 621 + interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>; 622 + clocks = <&gcc GSBI7_QUP_CLK>, 623 + <&gcc GSBI7_H_CLK>; 624 + clock-names = "core", 625 + "iface"; 626 + #address-cells = <1>; 627 + #size-cells = <0>; 664 628 665 629 status = "disabled"; 666 630 };