pm6150.dtsi 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. // SPDX-License-Identifier: BSD-3-Clause
  2. // Copyright (c) 2019, The Linux Foundation. All rights reserved.
  3. #include <dt-bindings/iio/qcom,spmi-vadc.h>
  4. #include <dt-bindings/input/linux-event-codes.h>
  5. #include <dt-bindings/interrupt-controller/irq.h>
  6. #include <dt-bindings/spmi/spmi.h>
  7. #include <dt-bindings/thermal/thermal.h>
  8. / {
  9. thermal-zones {
  10. pm6150_thermal: pm6150-thermal {
  11. polling-delay-passive = <100>;
  12. polling-delay = <0>;
  13. thermal-sensors = <&pm6150_temp>;
  14. trips {
  15. pm6150_trip0: trip0 {
  16. temperature = <95000>;
  17. hysteresis = <0>;
  18. type = "passive";
  19. };
  20. pm6150_crit: crit {
  21. temperature = <115000>;
  22. hysteresis = <0>;
  23. type = "critical";
  24. };
  25. };
  26. };
  27. };
  28. };
  29. &spmi_bus {
  30. pm6150_lsid0: pmic@0 {
  31. compatible = "qcom,pm6150", "qcom,spmi-pmic";
  32. reg = <0x0 SPMI_USID>;
  33. #address-cells = <1>;
  34. #size-cells = <0>;
  35. pm6150_pon: pon@800 {
  36. compatible = "qcom,pm8998-pon";
  37. reg = <0x800>;
  38. mode-bootloader = <0x2>;
  39. mode-recovery = <0x1>;
  40. pm6150_pwrkey: pwrkey {
  41. compatible = "qcom,pm8941-pwrkey";
  42. interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
  43. debounce = <15625>;
  44. bias-pull-up;
  45. linux,code = <KEY_POWER>;
  46. };
  47. };
  48. pm6150_temp: temp-alarm@2400 {
  49. compatible = "qcom,spmi-temp-alarm";
  50. reg = <0x2400>;
  51. interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
  52. io-channels = <&pm6150_adc ADC5_DIE_TEMP>;
  53. io-channel-names = "thermal";
  54. #thermal-sensor-cells = <0>;
  55. };
  56. pm6150_adc: adc@3100 {
  57. compatible = "qcom,spmi-adc5";
  58. reg = <0x3100>;
  59. interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
  60. #address-cells = <1>;
  61. #size-cells = <0>;
  62. #io-channel-cells = <1>;
  63. adc-chan@6 {
  64. reg = <ADC5_DIE_TEMP>;
  65. label = "die_temp";
  66. };
  67. };
  68. pm6150_adc_tm: adc-tm@3500 {
  69. compatible = "qcom,spmi-adc-tm5";
  70. reg = <0x3500>;
  71. interrupts = <0x0 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
  72. #thermal-sensor-cells = <1>;
  73. #address-cells = <1>;
  74. #size-cells = <0>;
  75. status = "disabled";
  76. };
  77. pm6150_gpio: gpios@c000 {
  78. compatible = "qcom,pm6150-gpio", "qcom,spmi-gpio";
  79. reg = <0xc000>;
  80. gpio-controller;
  81. gpio-ranges = <&pm6150_gpio 0 0 10>;
  82. #gpio-cells = <2>;
  83. interrupt-controller;
  84. #interrupt-cells = <2>;
  85. };
  86. };
  87. pm6150_lsid1: pmic@1 {
  88. compatible = "qcom,pm6150", "qcom,spmi-pmic";
  89. reg = <0x1 SPMI_USID>;
  90. #address-cells = <1>;
  91. #size-cells = <0>;
  92. };
  93. };