Guest User

Untitled

a guest
Oct 19th, 2025
24
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 44.23 KB | None | 0 0
  1.  
  2. ./android_kernel_motorola_msm8953/arch/arm/boot/dts/qcom/msm8953-albus-p0.dts
  3.  
  4.  
  5. /* Copyright (c) 2016, Motorola Mobility Inc. All rights reserved.
  6. *
  7. * This program is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License version 2 and
  9. * only version 2 as published by the Free Software Foundation.
  10. *
  11. * This program is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. * GNU General Public License for more details.
  15. */
  16.  
  17. /dts-v1/;
  18.  
  19.  
  20. #include "msm8953-albus.dtsi"
  21.  
  22.  
  23. / {
  24. qcom,board-id = <0x48 0x8000>;
  25. };
  26.  
  27. &drv2624 {
  28. status = "disabled";
  29. };
  30.  
  31. &pmi_haptic{
  32. status = "ok";
  33. };
  34.  
  35. &soc {
  36. sound {
  37. qcom,model = "msm8952-marley-cardp1a";
  38. qcom,l35_cpu_dai_name = "marley-aif2";
  39. qcom,dba_cpu_dai_name = "marley-aif1";
  40. cs47l35,dapm-routing =
  41. "IN1AL", "MICBIAS1A",
  42. "IN2R", "MICBIAS1B",
  43. "IN2L", "MICBIAS2B",
  44. "IN1BR", "MICBIAS2A",
  45. "MYDP", "HDMI DBA Playback";
  46. };
  47.  
  48. ospl {
  49. mmi,ospl-tune-index = <8 9 10 11>;
  50. };
  51.  
  52. spi@7af7000 {
  53. marley@0 {
  54. wlf,micd-configs = <0 3 0>;
  55. };
  56. };
  57. };
  58.  
  59. &spmi_bus {
  60. qcom,pmi8950@3 {
  61. qcom,leds@d300 {
  62. /delete-property/ qcom,self-check-enabled;
  63. };
  64. };
  65. };
  66.  
  67. ---------------------------------------------------------------------------
  68.  
  69.  
  70. ./android_kernel_motorola_msm8953/arch/arm/boot/dts/qcom/msm8953-albus-p1.dts
  71.  
  72.  
  73. /* Copyright (c) 2016, Motorola Mobility Inc. All rights reserved.
  74. *
  75. * This program is free software; you can redistribute it and/or modify
  76. * it under the terms of the GNU General Public License version 2 and
  77. * only version 2 as published by the Free Software Foundation.
  78. *
  79. * This program is distributed in the hope that it will be useful,
  80. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  81. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  82. * GNU General Public License for more details.
  83. */
  84.  
  85. /dts-v1/;
  86.  
  87.  
  88. #include "msm8953-albus.dtsi"
  89.  
  90.  
  91. / {
  92. qcom,board-id = <0x48 0x81A0>;
  93. };
  94.  
  95. &soc {
  96. sound {
  97. qcom,model = "msm8952-marley-cardp1a";
  98. qcom,l35_cpu_dai_name = "marley-aif2";
  99. qcom,dba_cpu_dai_name = "marley-aif1";
  100. cs47l35,dapm-routing =
  101. "IN1AL", "MICBIAS1A",
  102. "IN2R", "MICBIAS1B",
  103. "IN2L", "MICBIAS2B",
  104. "IN1BR", "MICBIAS2A",
  105. "MYDP", "HDMI DBA Playback";
  106. };
  107.  
  108. ospl {
  109. mmi,ospl-tune-index = <8 9 10 11>;
  110. };
  111.  
  112. spi@7af7000 {
  113. marley@0 {
  114. wlf,micd-configs = <0 3 0>;
  115. };
  116. };
  117. };
  118.  
  119. &spmi_bus {
  120. qcom,pmi8950@3 {
  121. qcom,leds@d300 {
  122. /delete-property/ qcom,self-check-enabled;
  123. };
  124. };
  125. };
  126.  
  127. ---------------------------------------------------------------------------
  128.  
  129.  
  130. ./android_kernel_motorola_msm8953/arch/arm/boot/dts/qcom/msm8953-albus-p1a1.dts
  131.  
  132.  
  133. /* Copyright (c) 2016, Motorola Mobility Inc. All rights reserved.
  134. *
  135. * This program is free software; you can redistribute it and/or modify
  136. * it under the terms of the GNU General Public License version 2 and
  137. * only version 2 as published by the Free Software Foundation.
  138. *
  139. * This program is distributed in the hope that it will be useful,
  140. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  141. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  142. * GNU General Public License for more details.
  143. */
  144.  
  145. /dts-v1/;
  146.  
  147.  
  148. #include "msm8953-albus.dtsi"
  149.  
  150.  
  151. / {
  152. qcom,board-id = <0x48 0x81A1>;
  153. };
  154.  
  155. &soc {
  156. sound {
  157. qcom,model = "msm8952-marley-cardp1a";
  158. qcom,l35_cpu_dai_name = "marley-aif2";
  159. qcom,dba_cpu_dai_name = "marley-aif1";
  160. cs47l35,dapm-routing =
  161. "IN1AL", "MICBIAS1A",
  162. "IN2R", "MICBIAS1B",
  163. "IN2L", "MICBIAS2B",
  164. "IN1BR", "MICBIAS2A",
  165. "MYDP", "HDMI DBA Playback";
  166. };
  167.  
  168. ospl {
  169. mmi,ospl-tune-index = <8 9 10 11>;
  170. };
  171.  
  172. spi@7af7000 {
  173. marley@0 {
  174. wlf,micd-configs = <0 3 0>;
  175. };
  176. };
  177. };
  178.  
  179. &spmi_bus {
  180. qcom,pmi8950@3 {
  181. qcom,leds@d300 {
  182. /delete-property/ qcom,self-check-enabled;
  183. };
  184. };
  185. };
  186.  
  187. ---------------------------------------------------------------------------
  188.  
  189.  
  190. ./android_kernel_motorola_msm8953/arch/arm/boot/dts/qcom/msm8953-albus-p1b.dts
  191.  
  192.  
  193. /* Copyright (c) 2016, Motorola Mobility Inc. All rights reserved.
  194. *
  195. * This program is free software; you can redistribute it and/or modify
  196. * it under the terms of the GNU General Public License version 2 and
  197. * only version 2 as published by the Free Software Foundation.
  198. *
  199. * This program is distributed in the hope that it will be useful,
  200. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  201. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  202. * GNU General Public License for more details.
  203. */
  204.  
  205. /dts-v1/;
  206.  
  207.  
  208. #include "msm8953-albus.dtsi"
  209.  
  210.  
  211. / {
  212. qcom,board-id = <0x49 0x81B0>;
  213. };
  214.  
  215. &soc {
  216. ospl {
  217. mmi,ospl-tune-index = <8 9 10 11>;
  218. };
  219. };
  220.  
  221. &spmi_bus {
  222. qcom,pmi8950@3 {
  223. qcom,leds@d300 {
  224. /delete-property/ qcom,self-check-enabled;
  225. };
  226. };
  227. };
  228.  
  229. ---------------------------------------------------------------------------
  230.  
  231.  
  232. ./android_kernel_motorola_msm8953/arch/arm/boot/dts/qcom/msm8953-albus-p2.dts
  233.  
  234.  
  235. /* Copyright (c) 2016, Motorola Mobility Inc. All rights reserved.
  236. *
  237. * This program is free software; you can redistribute it and/or modify
  238. * it under the terms of the GNU General Public License version 2 and
  239. * only version 2 as published by the Free Software Foundation.
  240. *
  241. * This program is distributed in the hope that it will be useful,
  242. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  243. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  244. * GNU General Public License for more details.
  245. */
  246.  
  247. /dts-v1/;
  248.  
  249.  
  250. #include "msm8953-albus.dtsi"
  251.  
  252.  
  253. / {
  254. qcom,board-id = <0x49 0x8200>;
  255. };
  256.  
  257. &soc {
  258. ospl {
  259. mmi,ospl-tune-index = <8 9 10 11>;
  260. };
  261. };
  262.  
  263. ---------------------------------------------------------------------------
  264.  
  265.  
  266. ./android_kernel_motorola_msm8953/arch/arm/boot/dts/qcom/msm8953-albus-p3.dts
  267.  
  268.  
  269. /* Copyright (c) 2016, Motorola Mobility Inc. All rights reserved.
  270. *
  271. * This program is free software; you can redistribute it and/or modify
  272. * it under the terms of the GNU General Public License version 2 and
  273. * only version 2 as published by the Free Software Foundation.
  274. *
  275. * This program is distributed in the hope that it will be useful,
  276. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  277. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  278. * GNU General Public License for more details.
  279. */
  280.  
  281. /dts-v1/;
  282.  
  283.  
  284. #include "msm8953-albus.dtsi"
  285.  
  286.  
  287. / {
  288. qcom,board-id = <0x4A 0x8300>;
  289. };
  290.  
  291. &soc {
  292. ospl {
  293. mmi,ospl-tune-index = <8 9 10 11>;
  294. };
  295. };
  296.  
  297. ---------------------------------------------------------------------------
  298.  
  299.  
  300. ./android_kernel_motorola_msm8953/arch/arm/boot/dts/qcom/msm8953-albus-p4.dts
  301.  
  302.  
  303. /* Copyright (c) 2016, Motorola Mobility Inc. All rights reserved.
  304. *
  305. * This program is free software; you can redistribute it and/or modify
  306. * it under the terms of the GNU General Public License version 2 and
  307. * only version 2 as published by the Free Software Foundation.
  308. *
  309. * This program is distributed in the hope that it will be useful,
  310. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  311. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  312. * GNU General Public License for more details.
  313. */
  314.  
  315. /dts-v1/;
  316.  
  317.  
  318. #include "msm8953-albus.dtsi"
  319.  
  320.  
  321. / {
  322. qcom,board-id = <0x4A 0x8400>;
  323. };
  324.  
  325. ---------------------------------------------------------------------------
  326.  
  327.  
  328. ./android_kernel_motorola_msm8953/arch/arm/boot/dts/qcom/msm8953-albus-pinctrl.dtsi
  329.  
  330.  
  331. /* Copyright (c) 2016, Motorola Mobility Inc. All rights reserved.
  332. *
  333. * This program is free software; you can redistribute it and/or modify
  334. * it under the terms of the GNU General Public License version 2 and
  335. * only version 2 as published by the Free Software Foundation.
  336. *
  337. * This program is distributed in the hope that it will be useful,
  338. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  339. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  340. * GNU General Public License for more details.
  341. */
  342.  
  343. &tlmm{
  344. /delete-node/ cs35l34_reset_default;
  345. /delete-node/ pmx_motosh_out;
  346. /delete-node/ pmx_motosh_in;
  347. /delete-node/ factory_default;
  348.  
  349. haptic_reset_active: haptic_reset_active{
  350. mux {
  351. pins = "gpio110";
  352. function = "gpio";
  353. };
  354.  
  355. config {
  356. pins = "gpio110";
  357. drive-strength = <2>;
  358. bias-pull-down;
  359. output-low;
  360. };
  361. };
  362.  
  363. haptic_reset_sleep: haptic_reset_sleep {
  364. mux {
  365. pins = "gpio110";
  366. function = "gpio";
  367. };
  368.  
  369. config {
  370. pins = "gpio110";
  371. drive-strength = <2>;
  372. //bias-pull-down;
  373. //output-low;
  374. };
  375. };
  376.  
  377. haptic_pwr_active: haptic_pwr_active {
  378. mux {
  379. pins = "gpio69";
  380. function = "gpio";
  381. };
  382.  
  383. config {
  384. pins = "gpio69";
  385. drive-strength = <2>;
  386. bias-pull-down;
  387. output-low;
  388. };
  389. };
  390.  
  391. haptic_pwr_sleep: haptic_pwr_sleep {
  392. mux {
  393. pins = "gpio69";
  394. function = "gpio";
  395. };
  396.  
  397. config {
  398. pins = "gpio69";
  399. drive-strength = <2>;
  400. //bias-pull-down;
  401. //output-low;
  402. };
  403. };
  404.  
  405.  
  406. nfc_irq_default: nfc_irq_default {
  407. config {
  408. pins = "gpio130";
  409. drive-strength = <2>;
  410. bias-pull-down;
  411. };
  412. };
  413.  
  414. nfc_ven_default: nfc_ven_default {
  415. config {
  416. pins = "gpio89";
  417. drive-strength = <2>;
  418. bias-pull-down;
  419. output-low;
  420. };
  421. };
  422.  
  423. nfc_firm_default: nfc_firm_default {
  424. config {
  425. pins = "gpio87";
  426. drive-strength = <2>;
  427. bias-pull-down;
  428. output-low;
  429. };
  430. };
  431.  
  432. fps: fps {
  433. rst_active: rst_active {
  434. /* RESET */
  435. mux {
  436. pins = "gpio8";
  437. function = "gpio";
  438. };
  439.  
  440. config {
  441. pins = "gpio8";
  442. drive-strength = <2>; /* 2 MA */
  443. bias-pull-up; /* pull up */
  444. output-high;
  445. };
  446. };
  447.  
  448. rst_suspend: rst_suspend{
  449. /* RESET */
  450. mux {
  451. pins = "gpio8";
  452. function = "gpio";
  453. };
  454.  
  455. config {
  456. pins = "gpio8";
  457. drive-strength = <2>; /* 2 MA */
  458. bias-pull-up; /* pull up */
  459. output-high;
  460. };
  461. };
  462.  
  463. int_active: int_active {
  464. /* INTERRUPT */
  465. mux {
  466. pins = "gpio86";
  467. function = "gpio";
  468. };
  469.  
  470. config {
  471. pins = "gpio86";
  472. drive-strength = <2>; /* 2 MA */
  473. input-enable;
  474. };
  475. };
  476.  
  477. int_suspend: int_suspend{
  478. /* INTERRUPT */
  479. mux {
  480. pins = "gpio86";
  481. function = "gpio";
  482. };
  483.  
  484. config {
  485. pins = "gpio86";
  486. drive-strength = <2>; /* 2 MA */
  487. input-enable;
  488. };
  489. };
  490. };
  491.  
  492. apba_default@0 {
  493. mphy_i2s_sel {
  494. pins = "gpio27";
  495. drive-strength = <2>;
  496. };
  497. };
  498.  
  499. cdc-pdm-lines {
  500. cdc_pdm_lines_act: pdm_lines_on {
  501. mux {
  502. /delete-property/ pins;
  503. pins = "gpio73";
  504. };
  505.  
  506. config {
  507. /delete-property/ pins;
  508. pins = "gpio73";
  509. };
  510. };
  511.  
  512. cdc_pdm_lines_sus: pdm_lines_off {
  513. mux {
  514. /delete-property/ pins;
  515. pins = "gpio73";
  516. };
  517.  
  518. config {
  519. /delete-property/ pins;
  520. pins = "gpio73";
  521. };
  522. };
  523. };
  524.  
  525. cs35l35_irq_default: cs35l35_irq_default {
  526. config {
  527. pins = "gpio63";
  528. bias-pull-up;
  529. drive-strength = <2>;
  530. };
  531. };
  532.  
  533. cs35l35_reset_default: cs35l35_reset_default {
  534. config {
  535. pins = "gpio94";
  536. output-high;
  537. bias-pull-up;
  538. drive-strength = <2>;
  539. };
  540. };
  541.  
  542. anx_rst_active {
  543. mux {
  544. pins = "gpio128";
  545. };
  546. config {
  547. pins = "gpio128";
  548. };
  549. };
  550. anx_rst_suspend {
  551. mux {
  552. pins = "gpio128";
  553. };
  554. config {
  555. pins = "gpio128";
  556. };
  557. };
  558. anx_cbl_det_active {
  559. mux {
  560. pins = "gpio9";
  561. };
  562. config {
  563. pins = "gpio9";
  564. };
  565. };
  566. hd3ss460_amsel {
  567. hd3ss460_amsel_default: default {
  568. mux {
  569. pins = "gpio139";
  570. function = "gpio";
  571. };
  572. config {
  573. pins = "gpio139";
  574. drive-strength = <2>;
  575. bias-pull-up; /* pull-up */
  576. output-low;
  577. };
  578. };
  579. hd3ss460_amsel_active: active {
  580. mux {
  581. pins = "gpio139";
  582. function = "gpio";
  583. };
  584. config {
  585. pins = "gpio139";
  586. drive-strength = <2>;
  587. bias-pull-up; /* pull-up */
  588. };
  589. };
  590. };
  591.  
  592. sec-tlmm-lines {
  593. sec_tlmm_lines_act: sec_tlmm_lines_act {
  594. status = "disabled";
  595. };
  596.  
  597. sec_tlmm_lines_sus: sec_tlmm_lines_sus {
  598. status = "disabled";
  599. };
  600. };
  601.  
  602. spi_7 {
  603. spi_7_active: spi_7_active {
  604. mux {
  605. /* MOSI, MISO, CLK */
  606. pins = "gpio137", "gpio138", "gpio135";
  607. function = "blsp_spi7";
  608. };
  609.  
  610. config {
  611. pins = "gpio137", "gpio138", "gpio135";
  612. drive-strength = <12>; /* 12 MA */
  613. bias-disable = <0>; /* No PULL */
  614. };
  615. };
  616.  
  617. spi_7_sleep: spi_7_sleep {
  618. mux {
  619. /* MOSI, MISO, CLK */
  620. pins = "gpio137", "gpio138", "gpio135";
  621. function = "blsp_spi7";
  622. };
  623.  
  624. config {
  625. pins = "gpio137", "gpio138", "gpio135";
  626. drive-strength = <2>; /* 2 MA */
  627. bias-pull-down; /* PULL Down */
  628. };
  629. };
  630.  
  631. spi7_cs0_active: cs0_active {
  632. mux {
  633. pins = "gpio136";
  634. function = "blsp_spi7";
  635. };
  636.  
  637. config {
  638. pins = "gpio136";
  639. drive-strength = <2>;
  640. bias-disable = <0>;
  641. };
  642. };
  643.  
  644. spi7_cs0_sleep: cs0_sleep {
  645. mux {
  646. pins = "gpio136";
  647. function = "blsp_spi7";
  648. };
  649.  
  650. config {
  651. pins = "gpio136";
  652. drive-strength = <2>;
  653. bias-disable = <0>;
  654. };
  655. };
  656. };
  657.  
  658. i2c_2 {
  659. laser_active_irq: laser_active_irq {
  660. mux {
  661. pins = "gpio129";
  662. function = "gpio";
  663. };
  664.  
  665. config {
  666. pins = "gpio129";
  667. drive-strength = <2>;
  668. bias-pull-up; /* PULL UP */
  669. };
  670. };
  671. laser_suspend_irq: laser_suspend_irq {
  672. mux {
  673. pins = "gpio129";
  674. function = "gpio";
  675. };
  676.  
  677. config {
  678. pins = "gpio129";
  679. drive-strength = <2>;
  680. bias-pull-down; /* PULL DOWN */
  681. };
  682. };
  683. laser_active_xsdn: laser_active_xsdn {
  684. mux {
  685. pins = "gpio66";
  686. function = "gpio";
  687. };
  688.  
  689. config {
  690. pins = "gpio66";
  691. drive-strength = <2>;
  692. output-high;
  693. bias-pull-up; /* PULL UP */
  694. };
  695. };
  696. laser_suspend_xsdn: laser_suspend_xsdn {
  697. mux {
  698. pins = "gpio66";
  699. function = "gpio";
  700. };
  701.  
  702. config {
  703. pins = "gpio66";
  704. drive-strength = <2>;
  705. output-low;
  706. bias-pull-down; /* PULL DOWN */
  707. };
  708. };
  709. };
  710. };
  711.  
  712. ---------------------------------------------------------------------------
  713.  
  714.  
  715. ./android_kernel_motorola_msm8953/arch/arm/boot/dts/qcom/msm8953-albus.dtsi
  716.  
  717.  
  718. /* Copyright (c) 2016, Motorola Mobility Inc. All rights reserved.
  719. *
  720. * This program is free software; you can redistribute it and/or modify
  721. * it under the terms of the GNU General Public License version 2 and
  722. * only version 2 as published by the Free Software Foundation.
  723. *
  724. * This program is distributed in the hope that it will be useful,
  725. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  726. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  727. * GNU General Public License for more details.
  728. */
  729.  
  730. #include "msm8953-moto-common.dtsi"
  731. #include "dsi-panel-mot-smd-549-1080p-alb-cmd.dtsi"
  732. #include "dsi-panel-mot-mod-fwvga-video.dtsi"
  733. #include "msm8953-camera-sensor-mot-albus.dtsi"
  734. #include "msm8953-albus-pinctrl.dtsi"
  735.  
  736. / {
  737. model = "albus";
  738. compatible = "qcom,msm8953-albus", "qcom,msm8953-moto",
  739. "qcom,msm8953";
  740. aliases {
  741. spi7 = &spi_7;
  742. /delete-property/ spi8;
  743. };
  744. };
  745.  
  746. &soc {
  747. alsa_to_h2w {
  748. status = "disabled";
  749. };
  750.  
  751. gpio_keys {
  752. compatible = "gpio-keys";
  753. input-name = "gpio-keys";
  754. pinctrl-names = "tlmm_gpio_key_active","tlmm_gpio_key_suspend";
  755. pinctrl-0 = <&gpio_key>;
  756. pinctrl-1 = <&gpio_key>;
  757.  
  758. vol_up {
  759. label = "volume_up";
  760. gpios = <&tlmm 85 0x1>;
  761. linux,input-type = <1>;
  762. linux,code = <115>;
  763. gpio-key,wakeup;
  764. debounce-interval = <15>;
  765. };
  766. };
  767.  
  768. vci_disp_vreg: vci_disp_vreg {
  769. compatible = "regulator-fixed";
  770. regulator-name = "vci_disp";
  771. gpio = <&tlmm 33 0>;
  772. startup-delay-us = <300>;
  773. enable-active-high;
  774. regulator-boot-on;
  775. };
  776.  
  777. vio_disp_vreg: vio_disp_vreg {
  778. compatible = "regulator-fixed";
  779. regulator-name = "vio_disp";
  780. vin-supply = <&pm8953_l6>;
  781. gpio = <&tlmm 33 0>;
  782. startup-delay-us = <300>;
  783. enable-active-high;
  784. regulator-boot-on;
  785. };
  786.  
  787. i2c_2: i2c@78b6000 { /* BLSP1 QUP2 */
  788. /delete-node/ stmvl53l0@29;
  789. /delete-node/ cs35l34@40;
  790. /delete-node/ pnxxx@28;
  791.  
  792. stmvl53l1@29 {
  793. status = "ok";
  794. compatible = "st,stmvl53l1";
  795. reg = <0x29>;
  796. vdd-vl53l1-supply = <&pm8953_l22>;
  797. gpios = <&tlmm 66 0>, <&tlmm 129 0>;
  798. qcom,gpio-reset = <0>;
  799. qcom,gpio-req-tbl-num = <0 1>;
  800. qcom,gpio-req-tbl-flags = <0 1>;
  801. qcom,gpio-req-tbl-label ="TOF_XSHUTDOWN","TOF_INT";
  802. pinctrl-names = "laser_default", "laser_suspend";
  803. pinctrl-0 = <&laser_active_irq &laser_active_xsdn>;
  804. pinctrl-1 = <&laser_suspend_irq &laser_suspend_xsdn>;
  805. st,sensorthreshold = <60 65>;
  806. st,xtalkval = <0x1E00 0xFACD 0x0>;
  807. };
  808.  
  809. analogix_anx7805@72 {
  810. compatible = "analogix,anx7805";
  811. status = "ok";
  812. reg = <0x72>;
  813. interrupt-parent = <&tlmm>;
  814. interrupts = <9 0>; /*cbl-det-gpio is interrupt pin*/
  815. analogix,reset-gpio = <&tlmm 128 0x00>;
  816. analogix,irq-gpio = <&tlmm 73 0x00>;
  817. analogix,p-dwn-gpio = <&tlmm 50 0x0>;
  818. analogix,cbl-det-gpio = <&tlmm 9 0x0>;
  819. analogix,i2c-pull-up = <1>;
  820. vdd-1p0-supply = <&pm8953_l2>;
  821. avdd-3p3-supply = <&pm8953_l6>;
  822. avdd-1p8-supply = <&pm8953_l5>;
  823. analogix,vdd10-name = "vdd-1p0";
  824. analogix,avdd33-name = "avdd-3p3";
  825. analogix,vdd18-name = "avdd-1p8";
  826.  
  827. pinctrl-names = "anx_default", "anx_sleep";
  828. pinctrl-0 = <&anx_rst_active
  829. &anx_chip_pd_active &anx_cbl_det_active
  830. &anx_irq_active>;
  831. pinctrl-1 = <&anx_rst_suspend
  832. &anx_chip_pd_suspend &anx_cbl_det_active
  833. &anx_irq_active>;
  834. };
  835.  
  836. nq:nq@28 { /* NFC PN553 */
  837. compatible = "qcom,nq-nci";
  838. reg = <0x28>;
  839. interrupt-parent = <&tlmm>;
  840. interrupts = <17 0>;
  841. interrupt-names = "nfc_irq";
  842. qcom,nq-irq = <&tlmm 130 0x00>;
  843. qcom,nq-ven = <&tlmm 89 0x00>;
  844. qcom,nq-firm = <&tlmm 87 0x00>;
  845.  
  846. pinctrl-names = "default";
  847. pinctrl-0 = <&nfc_irq_default &nfc_ven_default &nfc_firm_default>;
  848. };
  849.  
  850. drv2624: drv2624@5a {
  851. compatible = "ti,drv2624";
  852. reg = <0x5A>;
  853. /* voltage = *_voltage x 22 mV */
  854. /* 2V for now */
  855. ti,rated_voltage = /bits/ 8 <0x57>;
  856. ti,overdrive_voltage = /bits/ 8 <0x8D>;
  857. ti,rated_voltage_reduced = /bits/ 8 <0x1A>;
  858. ti,overdrive_voltage_reduced = /bits/ 8 <0x1C>;
  859. /* LRA period = lra_freq x 24.39 us */
  860. /* 175 Hz for now */
  861. ti,lra_freq = /bits/ 8 <0xAF>;
  862. ti,lra_drive;
  863. ti,auto_cal;
  864. ti,auto_cal_time = /bits/ 8 <0x01>;
  865. /* sample time 200us */
  866. ti,sample_time = /bits/ 8 <0x04>;
  867. ti,nrst-gpio = <&tlmm 110 0>;
  868. ti,npwr-gpio = <&tlmm 69 0>;
  869. ti,nvctrl-gpio = <&tlmm 13 0>;
  870. pinctrl-names = "haptic_default", "haptic_sleep";
  871. pinctrl-0 = <&haptic_reset_active &haptic_pwr_active>;
  872. pinctrl-1 = <&haptic_reset_sleep &haptic_pwr_sleep>;
  873. };
  874.  
  875. cs35l35@40 {
  876. compatible = "cirrus,cs35l35";
  877. reg = <0x40>;
  878. reset-gpios = <&tlmm 94 0>;
  879. irq-gpios = <&tlmm 63 0>;
  880. amp-gain-zc;
  881. interrupt-parent = <&tlmm>;
  882.  
  883. VA-supply = <&dummy_vreg>;
  884. VP-supply = <&dummy_vreg>;
  885. pinctrl-names = "default";
  886. pinctrl-0 = <&cs35l35_irq_default &cs35l35_reset_default>;
  887. };
  888. };
  889.  
  890. i2c_4: i2c@78b8000 {
  891. status = "disabled";
  892. /delete-node/ motosh@43;
  893. };
  894.  
  895. spi_6: spi@7af6000 { /* BLSP2 QUP2 */
  896. status = "disabled";
  897. /delete-node/ marley@0;
  898. };
  899.  
  900. spi_7: spi@7af7000 { /* BLSP2 QUP3 */
  901. status = "ok";
  902. compatible = "qcom,spi-qup-v2";
  903. #address-cells = <1>;
  904. #size-cells = <0>;
  905. reg-names = "spi_physical", "spi_bam_physical";
  906. reg = <0x07af7000 0x600>,
  907. <0x07ac4000 0x1f000>;
  908. interrupt-names = "spi_irq", "spi_bam_irq";
  909. interrupts = <0 301 0>, <0 239 0>;
  910. spi-max-frequency = <19200000>;
  911.  
  912. qcom,infinite-mode = <0>;
  913. qcom,use-bam;
  914. qcom,ver-reg-exists;
  915. qcom,bam-consumer-pipe-index = <8>;
  916. qcom,bam-producer-pipe-index = <9>;
  917. qcom,master-id = <84>;
  918. qcom,use-pinctrl;
  919. pinctrl-names = "spi_default", "spi_sleep";
  920. pinctrl-0 = <&spi_7_active &spi7_cs0_active>;
  921. pinctrl-1 = <&spi_7_sleep &spi7_cs0_sleep>;
  922.  
  923. clock-names = "iface_clk", "core_clk";
  924.  
  925. clocks = <&clock_gcc clk_gcc_blsp2_ahb_clk>,
  926. <&clock_gcc clk_gcc_blsp2_qup3_spi_apps_clk>;
  927.  
  928. marley: marley@0 {
  929. compatible = "cirrus,cs47l35";
  930. spi-max-frequency = <26000000>;
  931. reg = <0x0>;
  932. interrupt-parent = <&tlmm>;
  933. interrupts = <46 0>;
  934. interrupt-controller;
  935. #interrupt-cells = <2>;
  936. wlf,reset = <&tlmm 68 0>;
  937. wlf,out-mono = <1 0 0 0 0 0>;
  938. wlf,micbias1 = <2600 1 1 1 1 0>;
  939. wlf,micbias2 = <1800 1 1 1 1 0>;
  940.  
  941. wlf,micd-configs = <0 2 0>;
  942. wlf,micd-bias-start-time = <8>;
  943. wlf,gpsw = <1>;
  944. wlf,use-jd2-irq;
  945. wlf,report-to-input;
  946. wlf,micd-rate = <6>;
  947. wlf,micd-detect-debounce = <300>;
  948. wlf,inmode = <0 2 0>;
  949. wlf,micd-ranges = <
  950. 100 226 /* HEADSETHOOK */
  951. 150 582 /* VOICE_ASSIST */
  952. 295 115 /* VOLUME_UP */
  953. 1257 114 /* VOLUME_DOWN */
  954. >;
  955.  
  956. pinctrl-names = "default";
  957. pinctrl-0 = <&marley_irq_default &marley_reset_default>;
  958.  
  959. AVDD-supply = <&pm8953_l6>;
  960. DBVDD1-supply = <&pm8953_l6>;
  961. DBVDD2-supply = <&pm8953_l6>;
  962. CPVDD-supply = <&pm8953_l6>;
  963. CPVDD1-supply = <&pm8953_l6>;
  964. CPVDD2-supply = <&pm8953_l6>;
  965. DCVDD-supply = <&pm8953_l6>;
  966. SPKVDD-supply = <&dummy_vreg>;
  967.  
  968. gpio-controller;
  969. #gpio-cells = <2>;
  970.  
  971. wlf,gpio-defaults = <
  972. 0x00002000 0x0000f000 /* AIF3TXDAT / GPIO1 */
  973. 0x00002000 0x0000f000 /* AIF3BCLK / GPIO2 */
  974. 0x00000040 0x00000000 /* AIF3RXDAT / GPIO3 */
  975. 0x00002000 0x0000f000 /* AIF3LRCLK / GPIO4 */
  976. 0xffffffff 0xffffffff /* GPIO5 */
  977. 0xffffffff 0xffffffff /* GPIO6 */
  978. 0x00002000 0x0000f000 /* MIF1SDA / GPIO7 */
  979. 0x00002000 0x0000f000 /* AIF1RXDAT / GPIO8 */
  980. 0x00002000 0x0000f000 /* AIF1BCLK / GPIO9 */
  981. 0x00002000 0x0000f000 /* AIF1TXDAT / GPIO10 */
  982. 0x00002000 0x0000f000 /* AIF1LRCLK / GPIO11 */
  983. 0x00002000 0x0000f000 /* AIF2TXDAT / GPIO12 */
  984. 0x00002000 0x0000f000 /* AIF2BCLK / GPIO13 */
  985. 0x00002000 0x0000f000 /* AIF2RXDAT / GPIO14 */
  986. 0x00002000 0x0000f000 /* AIF2LRCLK / GPIO15 */
  987. 0x00002000 0x0000f000 /* MIF1SCLK / GPIO16 */
  988. >;
  989.  
  990. adsps {
  991. #address-cells = <1>;
  992. #size-cells = <0>;
  993. adsp@0ffe00 {
  994. reg = <0x0ffe00>;
  995. firmware {
  996. ultrasound {
  997. wlf,wmfw-file = "ultrasound";
  998. wlf,bin-file = "ultrasound";
  999. wlf,compr-caps = <1 1 4 1 96000>;
  1000. };
  1001. };
  1002. };
  1003. adsp@17fe00 {
  1004. reg = <0x17fe00>;
  1005. firmware {
  1006. frontend {
  1007. wlf,wmfw-file = "aov-frontend";
  1008. wlf,bin-file = "aov-vrgain";
  1009. wlf,compr-caps = <1 1 4 1 16000>;
  1010. };
  1011. };
  1012. };
  1013. adsp@1ffe00 {
  1014. reg = <0x1ffe00>;
  1015. firmware {
  1016. aov {
  1017. wlf,wmfw-file = "aov-control";
  1018. wlf,bin-file = "aov-model";
  1019. wlf,compr-caps = <1 1 4 1 16000>;
  1020. };
  1021. };
  1022. };
  1023. };
  1024. };
  1025. };
  1026.  
  1027. /delete-node/ spi@7af8000;
  1028.  
  1029. fpc_fpc1020{
  1030. compatible = "fpc,fpc1020";
  1031. status = "ok";
  1032. interrupts = <86 0x0>;
  1033. irq = <&tlmm 86 0>;
  1034. rst = <&tlmm 8 0>;
  1035. };
  1036.  
  1037. qcom,msm-thermal {
  1038. qcom,config-info = "albus";
  1039. };
  1040.  
  1041. /delete-node/ hdmi_dba;
  1042. hdmi_dba: qcom,msm-hdmi-dba-codec-rx {
  1043. compatible = "qcom,msm-hdmi-dba-codec-rx";
  1044. qcom,dba-bridge-chip = "anx7805";
  1045. };
  1046.  
  1047. sound {
  1048. status = "ok";
  1049. compatible = "qcom,msm8952-audio-slim-codec";
  1050. qcom,model = "msm8952-marley-card";
  1051.  
  1052. /* qcom,marley-mclk-clk-freq = <9600000>; */
  1053. asoc-platform = <&pcm0>, <&pcm1>,
  1054. <&pcm2>, <&voip>,
  1055. <&voice>, <&loopback>,
  1056. <&compress>, <&hostless>,
  1057. <&afe>, <&lsm>,
  1058. <&routing>, <&cpe>,
  1059. <&lpa>, <&marley>;
  1060. asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
  1061. "msm-pcm-dsp.2", "msm-voip-dsp",
  1062. "msm-pcm-voice", "msm-pcm-loopback",
  1063. "msm-compress-dsp", "msm-pcm-hostless",
  1064. "msm-pcm-afe", "msm-lsm-client",
  1065. "msm-pcm-routing", "msm-cpe-lsm",
  1066. "msm-pcm-lpa", "marley-codec";
  1067.  
  1068. asoc-cpu = <&dai_pri_auxpcm>,
  1069. <&dai_mi2s5>,
  1070. <&sb_0_rx>, <&sb_0_tx>,
  1071. <&sb_1_rx>, <&sb_1_tx>,
  1072. <&sb_2_rx>, <&sb_2_tx>,
  1073. <&sb_3_rx>, <&sb_3_tx>,
  1074. <&sb_4_rx>, <&sb_4_tx>,
  1075. <&sb_5_tx>, <&afe_pcm_rx>,
  1076. <&afe_pcm_tx>, <&afe_proxy_rx>,
  1077. <&afe_proxy_tx>, <&incall_record_rx>,
  1078. <&incall_record_tx>, <&incall_music_rx>,
  1079. <&incall_music_2_rx>, <&sb_5_rx>,
  1080. <&bt_sco_rx>, <&bt_sco_tx>,
  1081. <&int_fm_rx>, <&int_fm_tx>;
  1082. asoc-cpu-names = "msm-dai-q6-auxpcm.1",
  1083. "msm-dai-q6-mi2s.5",
  1084. "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385",
  1085. "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
  1086. "msm-dai-q6-dev.16388", "msm-dai-q6-dev.16389",
  1087. "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
  1088. "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
  1089. "msm-dai-q6-dev.16395", "msm-dai-q6-dev.224",
  1090. "msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
  1091. "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
  1092. "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
  1093. "msm-dai-q6-dev.32770", "msm-dai-q6-dev.16394",
  1094. "msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289",
  1095. "msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293";
  1096.  
  1097. qcom,albus-audio;
  1098. qcom,hdmi-dba-codec-rx;
  1099. asoc-codec = <&stub_codec>, <&hdmi_dba>;
  1100. asoc-codec-names = "msm-stub-codec.1", "msm-hdmi-dba-codec-rx";
  1101. cs47l35,dapm-routing =
  1102. "IN1AL", "MICBIAS2A",
  1103. "IN2R", "MICBIAS2B",
  1104. "IN2L", "MICBIAS2A",
  1105. "IN1BR", "MICBIAS1B",
  1106. "MYDP", "HDMI DBA Playback";
  1107. };
  1108.  
  1109. ospl {
  1110. compatible = "mmi,ospl2xx";
  1111. status = "ok";
  1112. mmi,ospl-tune-index = <4 5 6 7>;
  1113. mmi,ospl-afe-port-id = <16384 16387>;
  1114. mmi,ospl-left-feedback;
  1115. };
  1116.  
  1117. qcom,msm-dai-mi2s {
  1118. dai_mi2s3: qcom,msm-dai-q6-mi2s-quat {
  1119. status = "disabled";
  1120. };
  1121. dai_mi2s5: qcom,msm-dai-q6-mi2s-quin {
  1122. qcom,msm-mi2s-rx-lines = <1>;
  1123. };
  1124. };
  1125.  
  1126. dsi_mod_display_driver: dsi_mod_display_driver {
  1127. compatible = "mmi,dsi_mod_display";
  1128.  
  1129. mod_display,dsi_connect = <1>;
  1130. };
  1131.  
  1132. mot_dba_driver: mot_dba_driver {
  1133. compatible = "mmi,mot_dba";
  1134. status = "ok";
  1135.  
  1136. mot_dba,sel-dsi-val = <0>;
  1137. };
  1138. /delete-node/ eldo2;
  1139.  
  1140. apba_ctrl {
  1141. gpios = <&tlmm 39 0>, /* APBA_1P1_EN, output-low */
  1142. <&tlmm 140 0>, /* APBA_BOOTRET, output-low */
  1143. <&tlmm 27 2>, /* MOD_MPHY_I2S_SEL, output-high */
  1144. <&tlmm 132 0>, /* APBA_RESET_N, output-low */
  1145. <&tlmm 62 1>, /* APBA_INT_N, in */
  1146. <&tlmm 141 0>, /* APBA_WAKE, output-low */
  1147. <&tlmm 41 0>; /* APBA_SFLASH_EN, output-low */
  1148. };
  1149.  
  1150. hd3ss460 {
  1151. gpios = <&pm8953_gpios 7 0>, /* USB_SS_MOD_EN, output-low */
  1152. <&tlmm 139 0>, /* USB_SS_SW_SEL, output-low */
  1153. <&pm8953_gpios 8 0>; /* USB_SS_MOD_MPHY_AP_EN, output-low */
  1154. vdd-hd3ss460-supply = <&pm8953_l22>;
  1155. vdd-voltage-level = <2850000 2850000>;
  1156. };
  1157.  
  1158. qusb_phy: qusb@79000 {
  1159. qcom,qusb-phy-init-seq = <0xF8 0x80
  1160. 0x03 0x84
  1161. 0x81 0x88
  1162. 0x07 0x8C
  1163. 0x30 0x08
  1164. 0x79 0x0C
  1165. 0x21 0x10
  1166. 0x14 0x9C
  1167. 0x9F 0x1C
  1168. 0x00 0x18>;
  1169. };
  1170.  
  1171. qcom,tz_gpio {
  1172. compatible = "qcom,tz_gpio";
  1173. tlmm-tz = <96>,
  1174. <97>,
  1175. <98>,
  1176. <99>,
  1177. <111>,
  1178. <126>;
  1179. };
  1180. };
  1181.  
  1182. &pm8953_l2 {
  1183. regulator-min-microvolt = <1000000>;
  1184. regulator-max-microvolt = <1000000>;
  1185. qcom,init-voltage = <1000000>;
  1186. };
  1187.  
  1188. &pm8953_gpios {
  1189. gpio@c500 { /* GPIO 6 - USB_SELECT */
  1190. qcom,vin-sel = <3>; /* VIN3 */
  1191. };
  1192.  
  1193. gpio@c600 { /* GPIO 7 - USB_SS_MOD_EN */
  1194. qcom,vin-sel = <3>; /* VIN3 */
  1195. };
  1196.  
  1197. gpio@c700 { /* GPIO 8 - USB_SS_MOD_MPHY_AP_EN */
  1198. qcom,vin-sel = <3>; /* VIN3 */
  1199. };
  1200. };
  1201.  
  1202.  
  1203. &pmx_mdss {
  1204. mdss_dsi_active {
  1205. mux {
  1206. pins = "gpio61";
  1207. };
  1208.  
  1209. config {
  1210. pins = "gpio61";
  1211. };
  1212. };
  1213.  
  1214. mdss_dsi_suspend {
  1215. mux {
  1216. pins = "gpio61";
  1217. };
  1218.  
  1219. config {
  1220. pins = "gpio61";
  1221. };
  1222. };
  1223.  
  1224. mipi_err_pin_active: mipi_err_pin_active {
  1225. mux {
  1226. pins = "gpio115";
  1227. function = "gpio";
  1228. };
  1229.  
  1230. config {
  1231. pins = "gpio115";
  1232. drive-strength = <2>; /* 2 mA */
  1233. bias-pull-up; /* pull up */
  1234. input-enable;
  1235. };
  1236. };
  1237.  
  1238. mipi_err_pin_suspend: mipi_err_pin_suspend {
  1239. mux {
  1240. pins = "gpio115";
  1241. function = "gpio";
  1242. };
  1243.  
  1244. config {
  1245. pins = "gpio115";
  1246. drive-strength = <2>; /* 2 mA */
  1247. bias-pull-up; /* pull up */
  1248. input-enable;
  1249. };
  1250. };
  1251. };
  1252.  
  1253. &mdss_mdp {
  1254. qcom,mdss-pref-prim-intf = "dsi";
  1255.  
  1256. mot_dba_panel: qcom,mdss_dsi_mot_dba_panel{
  1257. #include "dsi-panel-mot-mod-fwvga-video-common.dtsi"
  1258. };
  1259. };
  1260.  
  1261. &mdss_dsi {
  1262. hw-config = "dual_dsi";
  1263. };
  1264.  
  1265. &mdss_dsi0 {
  1266. pinctrl-names = "mdss_default", "mdss_sleep";
  1267. pinctrl-0 = <&mdss_dsi_active &mdss_te_active &mipi_err_pin_active>;
  1268. pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend &mipi_err_pin_suspend>;
  1269.  
  1270. qcom,dsi-pref-prim-pan = <&mot_smd_549_1080p_alb_cmd_v0>;
  1271. vci_disp-supply = <&vci_disp_vreg>;
  1272. vio_disp-supply = <&vio_disp_vreg>;
  1273. elvdd_disp-supply = <&lab_regulator>;
  1274. elvss_disp-supply = <&ibb_regulator>;
  1275. qcom,platform-reset-gpio = <&tlmm 61 0>;
  1276. qcom,platform-te-gpio = <&tlmm 24 0>;
  1277. };
  1278.  
  1279. &mdss_dsi1 {
  1280. qcom,dsi-pref-prim-pan = <&mot_dba_panel>;
  1281. qcom,pluggable;
  1282. qcom,bridge-index = <0>;
  1283. apba_cdsi-supply = <&pm8953_l23>;
  1284. };
  1285.  
  1286. &mdss_dsi1_pll {
  1287. /delete-property/ qcom,dsi-pll-ssc-en;
  1288. /delete-property/ qcom,dsi-pll-ssc-mode;
  1289. };
  1290.  
  1291. &mot_dba_panel {
  1292. qcom,mdss-dsi-panel-name = "mipi_mot_dba_panel";
  1293. qcom,bridge-name = "mot_dba";
  1294.  
  1295. /* These power supplies are for DBA panel */
  1296. qcom,panel-supply-entries {
  1297. #address-cells = <1>;
  1298. #size-cells = <0>;
  1299.  
  1300. qcom,panel-supply-entry@0 {
  1301. reg = <0>;
  1302. qcom,supply-name = "apba_cdsi";
  1303. qcom,supply-min-voltage = <1200000>;
  1304. qcom,supply-max-voltage = <1300000>;
  1305. qcom,supply-enable-load = <300000>;
  1306. qcom,supply-disable-load = <100>;
  1307. qcom,supply-pre-on-sleep = <0>;
  1308. qcom,supply-post-on-sleep = <1>;
  1309. qcom,supply-pre-off-sleep = <0>;
  1310. qcom,supply-post-off-sleep = <1>;
  1311. };
  1312. };
  1313. };
  1314.  
  1315.  
  1316. /* display boost and inverting boost regulators */
  1317. &labibb {
  1318. status = "ok";
  1319. qpnp,qpnp-labibb-mode = "amoled";
  1320. qpnp,swire-control;
  1321. };
  1322.  
  1323. &ibb_regulator {
  1324. qcom,qpnp-ibb-discharge-resistor = <32>;
  1325. };
  1326.  
  1327. &pmi8950_mpps {
  1328. mpp@a000 { /* MPP 1 - MOD_BP_OC_FAULT_N */
  1329. qcom,mode = <0>; /* Input */
  1330. qcom,vin-sel = <2>; /* 1.8 */
  1331. qcom,src-sel = <0>; /* GPIO */
  1332. qcom,master-en = <1>; /* Enable GPIO */
  1333. qcom,invert = <0>; /* Output low */
  1334. status = "okay";
  1335. };
  1336. mpp@a100 { /* MPP 2 - MOD_F_FLASH */
  1337. qcom,mode = <1>; /* Digital output */
  1338. qcom,vin-sel = <2>; /* 1.8 */
  1339. qcom,src-sel = <0>; /* GPIO */
  1340. qcom,master-en = <1>; /* Enable GPIO */
  1341. qcom,invert = <0>; /* Output low */
  1342. status = "okay";
  1343. };
  1344. mpp@a200 { /* MPP 3 - DISP_AVDD_SHUTDOWN */
  1345. qcom,mode = <1>; /* Digital output */
  1346. qcom,output-type = <0>; /* CMOS logic */
  1347. qcom,vin-sel = <0>;
  1348. qcom,src-sel = <5>; /* DTEST2 */
  1349. qcom,master-en = <1>; /* Enable GPIO */
  1350. qcom,invert = <0>;
  1351. status = "okay";
  1352. };
  1353. };
  1354.  
  1355. &spmi_bus {
  1356. qcom,pm8950@0 {
  1357. /delete-node/ qcom,leds@a300;
  1358. };
  1359.  
  1360. qcom,pmi8950@2 {
  1361. /delete-node/ qcom,leds@a100;
  1362.  
  1363. qcom,leds@1000 {
  1364. status = "ok";
  1365. reg = <0x1000 0x100>;
  1366. compatible = "qcom,leds-atc";
  1367. linux,name = "white";
  1368. qcom,ctrl-reg = <0x243>;
  1369. };
  1370. };
  1371.  
  1372. qcom,pmi8950@3 {
  1373. qcom,leds@d800 {
  1374. qcom,disp-type-amoled;
  1375. qcom,switch-freq-khz = <800>;
  1376. qcom,loop-ea-gm = <1>;
  1377. qcom,vref-psm-mv = <550>;
  1378. qcom,ovp-mv = <31000>;
  1379. qcom,enable-amoled-pulse-skipping;
  1380. };
  1381. };
  1382. };
  1383.  
  1384. &muc {
  1385. gpios = <&tlmm 60 1>, /* gpio_muc_det_n, input */
  1386. <&pmi8950_gpios 1 0>, /* gpio_muc_bplus_en, output-low */
  1387. <&tlmm 72 1>, /* gpio_muc_int_n, input */
  1388. <&tlmm 38 2>, /* gpio_muc_wake_n, output-high */
  1389. <&tlmm 59 1>, /* gpio_muc_rdy_n, input */
  1390. <&pmi8950_mpps 2 0>, /* gpio_muc_ff, output-low */
  1391. <&tlmm 0 0>, /* gpio_muc_spi_mosi, output-low */
  1392. <&tlmm 1 1>, /* gpio_muc_spi_miso, input */
  1393. <&tlmm 114 2>, /* gpio_muc_bplus_iset, output-high */
  1394. <0>, /* gpio_muc_bplus_discharg, cs */
  1395. <&pmi8950_mpps 1 1>, /* gpio_muc_bplus_fault_n, input */
  1396. <&tlmm 3 1>; /* gpio_muc_clk, input */
  1397. };
  1398.  
  1399. &pm8953_l22 {
  1400. regulator-min-microvolt = <2850000>;
  1401. regulator-max-microvolt = <2850000>;
  1402. qcom,init-voltage = <2850000>;
  1403. };
  1404.  
  1405. &pmi_haptic{
  1406. status = "disabled";
  1407. };
  1408.  
  1409. &pmi8950_charger {
  1410. /delete-property/ pinctrl-names;
  1411. /delete-property/ pinctrl-0;
  1412. /delete-property/ gpios;
  1413. /delete-property/ gpio-names;
  1414. gpios = <&pmi8950_gpios 2 0x0>; /* GPIOF_OUT_INIT_LOW */
  1415. gpio-names = "eb_vbus_en";
  1416. qcom,max-usbin-current-ma = <3000>;
  1417. qcom,step-chg-steps = <4200 3000 2000>,
  1418. <4400 2000 1600>;
  1419. qcom,auto-voltage-comp-mv = <150>;
  1420. qcom,enable-parameter-separate;
  1421. qcom,prop-flash-active;
  1422. qcom,enable-charging-limit;
  1423. qcom,upper-limit-capacity = <80>;
  1424. qcom,lower-limit-capacity = <60>;
  1425. };
  1426.  
  1427. /{
  1428. mot_albusbatterydata: qcom,battery-data {
  1429. qcom,batt-id-range-pct = <100>;
  1430. df-serialnum = "SNN5983A";
  1431. #include "batterydata-hz40-lg.dtsi"
  1432. #include "batterydata-hz40-lg-v2.dtsi"
  1433. #include "batterydata-hz40-swd.dtsi"
  1434. };
  1435. };
  1436.  
  1437. &pmi8950_fg {
  1438. /delete-property/ qcom,battery-data;
  1439. qcom,irq-volt-empty-mv = <3000>;
  1440. qcom,fg-cutoff-voltage-mv = <3200>;
  1441. qcom,battery-data = <&mot_albusbatterydata>;
  1442. };
  1443.  
  1444. ---------------------------------------------------------------------------
  1445.  
  1446.  
  1447. ./android_kernel_motorola_msm8953/arch/arm/boot/dts/qcom/msm8953-camera-sensor-mot-albus.dtsi
  1448.  
  1449.  
  1450. /*
  1451. * Copyright (c) 2016 The Linux Foundation. All rights reserved.
  1452. *
  1453. * This program is free software; you can redistribute it and/or modify
  1454. * it under the terms of the GNU General Public License version 2 and
  1455. * only version 2 as published by the Free Software Foundation.
  1456. *
  1457. * This program is distributed in the hope that it will be useful,
  1458. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  1459. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  1460. * GNU General Public License for more details.
  1461. */
  1462. &cci {
  1463. /* IMX362 EEPROM */
  1464. eeprom1: qcom,eeprom@1 {
  1465. cell-index = <1>;
  1466. reg = <0x01>;
  1467. compatible = "qcom,eeprom";
  1468.  
  1469. cam_vio-supply = <&pm8953_l10>;
  1470. qcom,cam-vreg-name = "cam_vio";
  1471. qcom,cam-vreg-min-voltage = <1800000>;
  1472. qcom,cam-vreg-max-voltage = <1800000>;
  1473. qcom,cam-vreg-op-mode = <1800000>;
  1474. qcom,gpio-no-mux = <0>;
  1475. pinctrl-names = "cam_default", "cam_suspend";
  1476. pinctrl-0 = <&cam_sensor_mclk0_default
  1477. &cam_sensor_rear_default>;
  1478. pinctrl-1 = <&cam_sensor_mclk0_sleep &cam_sensor_rear_sleep>;
  1479. gpios = <&tlmm 26 0>,
  1480. <&tlmm 127 0>;
  1481. qcom,gpio-reset = <1>;
  1482. qcom,gpio-req-tbl-num = <0 1>;
  1483. qcom,gpio-req-tbl-flags = <1 0>;
  1484. qcom,gpio-req-tbl-label = "CAMIF_MCLK0",
  1485. "CAM_RESET0";
  1486. qcom,cci-master = <0>;
  1487. clocks = <&clock_gcc clk_mclk0_clk_src>,
  1488. <&clock_gcc clk_gcc_camss_mclk0_clk>;
  1489. clock-names = "cam_src_clk", "cam_clk";
  1490. qcom,clock-rates = <24000000 0>;
  1491. };
  1492.  
  1493. /* OV5695 OTP */
  1494. eeprom2: qcom,eeprom@2 {
  1495. cell-index = <2>;
  1496. reg = <0x02>;
  1497. compatible = "qcom,eeprom";
  1498.  
  1499. cam_vio-supply = <&pm8953_l10>;
  1500. qcom,cam-vreg-name = "cam_vio";
  1501. qcom,cam-vreg-min-voltage = <1800000>;
  1502. qcom,cam-vreg-max-voltage = <1800000>;
  1503. qcom,cam-vreg-op-mode = <1800000>;
  1504. qcom,gpio-no-mux = <0>;
  1505. pinctrl-names = "cam_default", "cam_suspend";
  1506. pinctrl-0 = <&cam_sensor_mclk2_default
  1507. &cam_sensor_front_default>;
  1508. pinctrl-1 = <&cam_sensor_mclk2_sleep
  1509. &cam_sensor_front_sleep>;
  1510. gpios = <&tlmm 28 0>,
  1511. <&tlmm 40 0>,
  1512. <&tlmm 113 0>;
  1513. qcom,gpio-reset = <1>;
  1514. qcom,gpio-vdig = <2>;
  1515. qcom,gpio-req-tbl-num = <0 1 2>;
  1516. qcom,gpio-req-tbl-flags = <1 0 0>;
  1517. qcom,gpio-req-tbl-label = "CAMIF_MCLK2",
  1518. "CAM_RESET2",
  1519. "CAM_VDIG2";
  1520. qcom,cci-master = <0>;
  1521. clocks = <&clock_gcc clk_mclk2_clk_src>,
  1522. <&clock_gcc clk_gcc_camss_mclk2_clk>;
  1523. clock-names = "cam_src_clk", "cam_clk";
  1524. qcom,clock-rates = <24000000 0>;
  1525. };
  1526.  
  1527. actuator0: qcom,actuator@0 {
  1528. cell-index = <0>;
  1529. reg = <0x0>;
  1530. compatible = "qcom,actuator";
  1531. qcom,cci-master = <0>;
  1532. cam_vaf-supply = <&pm8953_l17>;
  1533. qcom,cam-vreg-name = "cam_vaf";
  1534. qcom,cam-vreg-min-voltage = <2850000>;
  1535. qcom,cam-vreg-max-voltage = <2850000>;
  1536. qcom,cam-vreg-op-mode = <1000000>;
  1537. pinctrl-names = "cam_default", "cam_suspend";
  1538. pinctrl-0 = <&cam_sensor_mclk0_default
  1539. &cam_sensor_rear_default>;
  1540. pinctrl-1 = <&cam_sensor_mclk0_sleep &cam_sensor_rear_sleep>;
  1541. };
  1542.  
  1543. /* IMX362 */
  1544. qcom,camera@0 {
  1545. cell-index = <0>;
  1546. compatible = "qcom,camera";
  1547. reg = <0x0>;
  1548. qcom,csiphy-sd-index = <1>;
  1549. qcom,csid-sd-index = <1>;
  1550. qcom,mount-angle = <90>;
  1551. qcom,eeprom-src = <&eeprom1>;
  1552. qcom,led-flash-src = <&led_flash0>;
  1553. qcom,actuator-src = <&actuator0>;
  1554. cam_vio-supply = <&pm8953_l10>;
  1555. cam_vaf-supply = <&pm8953_l17>;
  1556. qcom,cam-vreg-name = "cam_vio", "cam_vaf";
  1557. qcom,cam-vreg-min-voltage = <1800000 2850000>;
  1558. qcom,cam-vreg-max-voltage = <1800000 2850000>;
  1559. qcom,cam-vreg-op-mode = <1800000 1000000>;
  1560. qcom,gpio-no-mux = <0>;
  1561. pinctrl-names = "cam_default", "cam_suspend";
  1562. pinctrl-0 = <&cam_sensor_mclk0_default
  1563. &cam_sensor_rear_default>;
  1564. pinctrl-1 = <&cam_sensor_mclk0_sleep &cam_sensor_rear_sleep>;
  1565. gpios = <&tlmm 26 0>,
  1566. <&tlmm 127 0>;
  1567. qcom,gpio-reset = <1>;
  1568. qcom,gpio-req-tbl-num = <0 1>;
  1569. qcom,gpio-req-tbl-flags = <1 0>;
  1570. qcom,gpio-req-tbl-label = "CAMIF_MCLK0",
  1571. "CAM_RESET0";
  1572. qcom,sensor-position = <0>;
  1573. qcom,sensor-mode = <0>;
  1574. qcom,cci-master = <0>;
  1575. status = "ok";
  1576. clocks = <&clock_gcc clk_mclk0_clk_src>,
  1577. <&clock_gcc clk_gcc_camss_mclk0_clk>;
  1578. clock-names = "cam_src_clk", "cam_clk";
  1579. qcom,clock-rates = <24000000 0>;
  1580. };
  1581.  
  1582. /* S5K2L7SX */
  1583. qcom,camera@1 {
  1584. cell-index = <1>;
  1585. compatible = "qcom,camera";
  1586. reg = <0x1>;
  1587. qcom,csiphy-sd-index = <1>;
  1588. qcom,csid-sd-index = <1>;
  1589. qcom,mount-angle = <90>;
  1590. qcom,eeprom-src = <&eeprom1>;
  1591. qcom,led-flash-src = <&led_flash0>;
  1592. qcom,actuator-src = <&actuator0>;
  1593. cam_vio-supply = <&pm8953_l10>;
  1594. cam_vaf-supply = <&pm8953_l17>;
  1595. qcom,cam-vreg-name = "cam_vio", "cam_vaf";
  1596. qcom,cam-vreg-min-voltage = <1800000 2850000>;
  1597. qcom,cam-vreg-max-voltage = <1800000 2850000>;
  1598. qcom,cam-vreg-op-mode = <1800000 1000000>;
  1599. qcom,gpio-no-mux = <0>;
  1600. pinctrl-names = "cam_default", "cam_suspend";
  1601. pinctrl-0 = <&cam_sensor_mclk0_default
  1602. &cam_sensor_rear_default>;
  1603. pinctrl-1 = <&cam_sensor_mclk0_sleep &cam_sensor_rear_sleep>;
  1604. gpios = <&tlmm 26 0>,
  1605. <&tlmm 127 0>;
  1606. qcom,gpio-reset = <1>;
  1607. qcom,gpio-req-tbl-num = <0 1>;
  1608. qcom,gpio-req-tbl-flags = <1 0>;
  1609. qcom,gpio-req-tbl-label = "CAMIF_MCLK0",
  1610. "CAM_RESET0";
  1611. qcom,sensor-position = <0>;
  1612. qcom,sensor-mode = <0>;
  1613. qcom,cci-master = <0>;
  1614. status = "ok";
  1615. clocks = <&clock_gcc clk_mclk0_clk_src>,
  1616. <&clock_gcc clk_gcc_camss_mclk0_clk>;
  1617. clock-names = "cam_src_clk", "cam_clk";
  1618. qcom,clock-rates = <24000000 0>;
  1619. };
  1620.  
  1621. /* S5K2L7SA */
  1622. qcom,camera@2 {
  1623. cell-index = <2>;
  1624. compatible = "qcom,camera";
  1625. reg = <0x2>;
  1626. qcom,csiphy-sd-index = <1>;
  1627. qcom,csid-sd-index = <1>;
  1628. qcom,mount-angle = <90>;
  1629. qcom,eeprom-src = <&eeprom1>;
  1630. qcom,led-flash-src = <&led_flash0>;
  1631. qcom,actuator-src = <&actuator0>;
  1632. cam_vio-supply = <&pm8953_l10>;
  1633. cam_vaf-supply = <&pm8953_l17>;
  1634. qcom,cam-vreg-name = "cam_vio", "cam_vaf";
  1635. qcom,cam-vreg-min-voltage = <1800000 2850000>;
  1636. qcom,cam-vreg-max-voltage = <1800000 2850000>;
  1637. qcom,cam-vreg-op-mode = <1800000 1000000>;
  1638. qcom,gpio-no-mux = <0>;
  1639. pinctrl-names = "cam_default", "cam_suspend";
  1640. pinctrl-0 = <&cam_sensor_mclk0_default
  1641. &cam_sensor_rear_default>;
  1642. pinctrl-1 = <&cam_sensor_mclk0_sleep &cam_sensor_rear_sleep>;
  1643. gpios = <&tlmm 26 0>,
  1644. <&tlmm 127 0>;
  1645. qcom,gpio-reset = <1>;
  1646. qcom,gpio-req-tbl-num = <0 1>;
  1647. qcom,gpio-req-tbl-flags = <1 0>;
  1648. qcom,gpio-req-tbl-label = "CAMIF_MCLK0",
  1649. "CAM_RESET0";
  1650. qcom,sensor-position = <0>;
  1651. qcom,sensor-mode = <0>;
  1652. qcom,cci-master = <0>;
  1653. status = "ok";
  1654. clocks = <&clock_gcc clk_mclk0_clk_src>,
  1655. <&clock_gcc clk_gcc_camss_mclk0_clk>;
  1656. clock-names = "cam_src_clk", "cam_clk";
  1657. qcom,clock-rates = <24000000 0>;
  1658. };
  1659.  
  1660. /* OV5695 */
  1661. qcom,camera@3 {
  1662. cell-index = <3>;
  1663. compatible = "qcom,camera";
  1664. reg = <0x03>;
  1665. qcom,csiphy-sd-index = <2>;
  1666. qcom,csid-sd-index = <2>;
  1667. qcom,mount-angle = <270>;
  1668. qcom,eeprom-src = <&eeprom2>;
  1669. qcom,led-flash-src = <&led_flash0>;
  1670. cam_vio-supply = <&pm8953_l10>;
  1671. qcom,cam-vreg-name = "cam_vio";
  1672. qcom,cam-vreg-min-voltage = <1800000>;
  1673. qcom,cam-vreg-max-voltage = <1800000>;
  1674. qcom,cam-vreg-op-mode = <1800000>;
  1675. qcom,gpio-no-mux = <0>;
  1676. pinctrl-names = "cam_default", "cam_suspend";
  1677. pinctrl-0 = <&cam_sensor_mclk2_default
  1678. &cam_sensor_front_default>;
  1679. pinctrl-1 = <&cam_sensor_mclk2_sleep
  1680. &cam_sensor_front_sleep>;
  1681. gpios = <&tlmm 28 0>,
  1682. <&tlmm 40 0>,
  1683. <&tlmm 113 0>;
  1684. qcom,gpio-reset = <1>;
  1685. qcom,gpio-vdig = <2>;
  1686. qcom,gpio-req-tbl-num = <0 1 2>;
  1687. qcom,gpio-req-tbl-flags = <1 0 0>;
  1688. qcom,gpio-req-tbl-label = "CAMIF_MCLK2",
  1689. "CAM_RESET2",
  1690. "CAM_VDIG2";
  1691. qcom,sensor-position = <1>;
  1692. qcom,sensor-mode = <0>;
  1693. qcom,cci-master = <0>;
  1694. status = "ok";
  1695. clocks = <&clock_gcc clk_mclk2_clk_src>,
  1696. <&clock_gcc clk_gcc_camss_mclk2_clk>;
  1697. clock-names = "cam_src_clk", "cam_clk";
  1698. qcom,clock-rates = <24000000 0>;
  1699. };
  1700. };
  1701.  
  1702. &soc {
  1703. tlmm: pinctrl@1000000 {
  1704.  
  1705. cam_sensor_mclk0_default: cam_sensor_mclk0_default {
  1706. /* MCLK0 */
  1707. mux {
  1708. /* CLK, DATA */
  1709. pins = "gpio26";
  1710. function = "cam_mclk";
  1711. };
  1712.  
  1713. config {
  1714. pins = "gpio26";
  1715. bias-disable; /* No PULL */
  1716. drive-strength = <6>; /* 6 MA */
  1717. };
  1718. };
  1719.  
  1720. cam_sensor_mclk0_sleep: cam_sensor_mclk0_sleep {
  1721. /* MCLK0 */
  1722. mux {
  1723. /* CLK, DATA */
  1724. pins = "gpio26";
  1725. function = "cam_mclk";
  1726. };
  1727.  
  1728. config {
  1729. pins = "gpio26";
  1730. bias-pull-down; /* PULL DOWN */
  1731. drive-strength = <6>; /* 6 MA */
  1732. };
  1733. };
  1734.  
  1735. cam_sensor_rear_default: cam_sensor_rear_default {
  1736. /* RESET, VDIG */
  1737. mux {
  1738. pins = "gpio127";
  1739. function = "gpio";
  1740. };
  1741.  
  1742. config {
  1743. pins = "gpio127";
  1744. bias-disable; /* No PULL */
  1745. drive-strength = <2>; /* 2 MA */
  1746. };
  1747. };
  1748.  
  1749. cam_sensor_rear_sleep: cam_sensor_rear_sleep {
  1750. /* RESET, VDIG */
  1751. mux {
  1752. pins = "gpio127";
  1753. function = "gpio";
  1754. };
  1755.  
  1756. config {
  1757. pins = "gpio127";
  1758. bias-disable; /* No PULL */
  1759. drive-strength = <2>; /* 2 MA */
  1760. };
  1761. };
  1762.  
  1763. cam_sensor_mclk2_default: cam_sensor_mclk2_default {
  1764. config {
  1765. drive-strength = <4>; /* 4 MA */
  1766. };
  1767. };
  1768.  
  1769. cam_sensor_mclk2_sleep: cam_sensor_mclk2_sleep {
  1770. config {
  1771. drive-strength = <4>; /* 4 MA */
  1772. };
  1773. };
  1774.  
  1775. cam_sensor_front_default: cam_sensor_front_default {
  1776. /* RESET, VDIG */
  1777. mux {
  1778. pins = "gpio40", "gpio113";
  1779. function = "gpio";
  1780. };
  1781.  
  1782. config {
  1783. pins = "gpio40", "gpio113";
  1784. bias-disable; /* No PULL */
  1785. drive-strength = <2>; /* 2 MA */
  1786. };
  1787. };
  1788.  
  1789. cam_sensor_front_sleep: cam_sensor_front_sleep {
  1790. /* RESET, VDIG */
  1791. mux {
  1792. pins = "gpio40", "gpio113";
  1793. function = "gpio";
  1794. };
  1795.  
  1796. config {
  1797. pins = "gpio40", "gpio113";
  1798. bias-disable; /* No PULL */
  1799. drive-strength = <2>; /* 2 MA */
  1800. };
  1801. };
  1802. };
  1803.  
  1804. led_flash0: qcom,camera-flash@0 {
  1805. cell-index = <0>;
  1806. compatible = "qcom,camera-flash";
  1807. qcom,flash-type = <1>;
  1808. qcom,flash-source = <&pmi8950_flash0 &pmi8950_flash1>;
  1809. qcom,torch-source = <&pmi8950_torch0 &pmi8950_torch1>;
  1810. qcom,switch-source = <&pmi8950_switch>;
  1811. /* gpio 113 is used to select between front/rear flash */
  1812. gpios = <&tlmm 113 0>;
  1813. qcom,gpio-custom1 = <0>;
  1814. };
  1815. };
  1816. &rpm_bus {
  1817. rpm-regulator-ldoa10 {
  1818. status = "okay";
  1819. pm8953_l10: regulator-l10 {
  1820. regulator-min-microvolt = <1800000>;
  1821. regulator-max-microvolt = <1800000>;
  1822. qcom,init-voltage = <1800000>;
  1823. status = "okay";
  1824. };
  1825. };
  1826. };
  1827. &spmi_bus {
  1828. qcom,pmi8950@3 {
  1829. qcom,leds@d300 {
  1830. qcom,clamp-current = <75>;
  1831. qcom,flash_0 {
  1832. qcom,max-current = <1000>;
  1833. qcom,duration = <400>;
  1834. qcom,current = <650>;
  1835. qcom,alt-max-current = <250>;
  1836. qcom,alt-duration = <400>;
  1837. qcom,alt-current = <100>;
  1838. };
  1839. qcom,flash_1 {
  1840. qcom,max-current = <1000>;
  1841. qcom,duration = <400>;
  1842. qcom,current = <650>;
  1843. qcom,alt-max-current = <250>;
  1844. qcom,alt-duration = <400>;
  1845. qcom,alt-current = <100>;
  1846. };
  1847. qcom,torch_0 {
  1848. qcom,max-current = <200>;
  1849. qcom,current = <75>;
  1850. qcom,alt-max-current = <50>;
  1851. qcom,alt-current = <12>;
  1852. };
  1853. qcom,torch_1 {
  1854. qcom,max-current = <200>;
  1855. qcom,current = <75>;
  1856. qcom,alt-max-current = <50>;
  1857. qcom,alt-current = <12>;
  1858. };
  1859. qcom,switch {
  1860. qcom,duration = <400>;
  1861. };
  1862. };
  1863. };
  1864. };
  1865.  
  1866. ---------------------------------------------------------------------------
  1867.  
  1868.  
Advertisement
Add Comment
Please, Sign In to add comment