230 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			230 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| // SPDX-License-Identifier: BSD-3-Clause
 | |
| /*
 | |
|  * Copyright (c) 2020, Konrad Dybcio
 | |
|  */
 | |
| 
 | |
| #include <dt-bindings/iio/qcom,spmi-vadc.h>
 | |
| #include <dt-bindings/input/linux-event-codes.h>
 | |
| #include <dt-bindings/interrupt-controller/irq.h>
 | |
| #include <dt-bindings/spmi/spmi.h>
 | |
| #include <dt-bindings/thermal/thermal.h>
 | |
| 
 | |
| / {
 | |
| 	thermal-zones {
 | |
| 		pm660-thermal {
 | |
| 			polling-delay-passive = <250>;
 | |
| 
 | |
| 			thermal-sensors = <&pm660_temp>;
 | |
| 
 | |
| 			trips {
 | |
| 				pm660_alert0: pm660-alert0 {
 | |
| 					temperature = <95000>;
 | |
| 					hysteresis = <2000>;
 | |
| 					type = "passive";
 | |
| 				};
 | |
| 				pm660_crit: pm660-crit {
 | |
| 					temperature = <125000>;
 | |
| 					hysteresis = <2000>;
 | |
| 					type = "critical";
 | |
| 				};
 | |
| 			};
 | |
| 		};
 | |
| 	};
 | |
| };
 | |
| 
 | |
| &spmi_bus {
 | |
| 
 | |
| 	pmic@0 {
 | |
| 		compatible = "qcom,pm660", "qcom,spmi-pmic";
 | |
| 		reg = <0x0 SPMI_USID>;
 | |
| 		#address-cells = <1>;
 | |
| 		#size-cells = <0>;
 | |
| 
 | |
| 		rtc@6000 {
 | |
| 			compatible = "qcom,pm8941-rtc";
 | |
| 			reg = <0x6000>, <0x6100>;
 | |
| 			reg-names = "rtc", "alarm";
 | |
| 			interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
 | |
| 		};
 | |
| 
 | |
| 		pon: pon@800 {
 | |
| 			compatible = "qcom,pm8998-pon";
 | |
| 			reg = <0x800>;
 | |
| 			mode-bootloader = <0x2>;
 | |
| 			mode-recovery = <0x1>;
 | |
| 
 | |
| 			pon_pwrkey: pwrkey {
 | |
| 				compatible = "qcom,pm8941-pwrkey";
 | |
| 				interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
 | |
| 				debounce = <15625>;
 | |
| 				bias-pull-up;
 | |
| 				linux,code = <KEY_POWER>;
 | |
| 
 | |
| 				status = "disabled";
 | |
| 			};
 | |
| 
 | |
| 			pon_resin: resin {
 | |
| 				compatible = "qcom,pm8941-resin";
 | |
| 				interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
 | |
| 				debounce = <15625>;
 | |
| 				bias-pull-up;
 | |
| 
 | |
| 				status = "disabled";
 | |
| 			};
 | |
| 		};
 | |
| 
 | |
| 		pm660_charger: charger@1000 {
 | |
| 			compatible = "qcom,pm660-charger";
 | |
| 			reg = <0x1000>;
 | |
| 
 | |
| 			interrupts = <0x0 0x13 0x4 IRQ_TYPE_EDGE_BOTH>,
 | |
| 				     <0x0 0x12 0x2 IRQ_TYPE_EDGE_BOTH>,
 | |
| 				     <0x0 0x16 0x1 IRQ_TYPE_EDGE_RISING>,
 | |
| 				     <0x0 0x13 0x6 IRQ_TYPE_EDGE_RISING>;
 | |
| 			interrupt-names = "usb-plugin", "bat-ov", "wdog-bark", "usbin-icl-change";
 | |
| 
 | |
| 			io-channels = <&pm660_rradc 3>,
 | |
| 				      <&pm660_rradc 4>;
 | |
| 			io-channel-names = "usbin_i", "usbin_v";
 | |
| 
 | |
| 			status = "disabled";
 | |
| 		};
 | |
| 
 | |
| 		pm660_temp: temp-alarm@2400 {
 | |
| 			compatible = "qcom,spmi-temp-alarm";
 | |
| 			reg = <0x2400>;
 | |
| 			interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
 | |
| 			io-channels = <&pm660_adc ADC5_DIE_TEMP>;
 | |
| 			io-channel-names = "thermal";
 | |
| 			#thermal-sensor-cells = <0>;
 | |
| 		};
 | |
| 
 | |
| 		pm660_adc: adc@3100 {
 | |
| 			compatible = "qcom,spmi-adc-rev2";
 | |
| 			reg = <0x3100>;
 | |
| 			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
 | |
| 			#address-cells = <1>;
 | |
| 			#size-cells = <0>;
 | |
| 			#io-channel-cells = <1>;
 | |
| 
 | |
| 			channel@0 {
 | |
| 				reg = <ADC5_REF_GND>;
 | |
| 				qcom,decimation = <1024>;
 | |
| 				qcom,pre-scaling = <1 1>;
 | |
| 				label = "ref_gnd";
 | |
| 			};
 | |
| 
 | |
| 			channel@1 {
 | |
| 				reg = <ADC5_1P25VREF>;
 | |
| 				qcom,decimation = <1024>;
 | |
| 				qcom,pre-scaling = <1 1>;
 | |
| 				label = "vref_1p25";
 | |
| 			};
 | |
| 
 | |
| 			channel@6 {
 | |
| 				reg = <ADC5_DIE_TEMP>;
 | |
| 				qcom,decimation = <1024>;
 | |
| 				qcom,pre-scaling = <1 1>;
 | |
| 				label = "die_temp";
 | |
| 			};
 | |
| 
 | |
| 			channel@4c {
 | |
| 				reg = <ADC5_XO_THERM_100K_PU>;
 | |
| 				qcom,pre-scaling = <1 1>;
 | |
| 				qcom,decimation = <1024>;
 | |
| 				qcom,hw-settle-time = <200>;
 | |
| 				qcom,ratiometric;
 | |
| 				label = "xo_therm";
 | |
| 			};
 | |
| 
 | |
| 			channel@4d {
 | |
| 				reg = <ADC5_AMUX_THM1_100K_PU>;
 | |
| 				qcom,pre-scaling = <1 1>;
 | |
| 				qcom,decimation = <1024>;
 | |
| 				qcom,hw-settle-time = <200>;
 | |
| 				qcom,ratiometric;
 | |
| 				label = "msm_therm";
 | |
| 			};
 | |
| 
 | |
| 			channel@4e {
 | |
| 				reg = <ADC5_AMUX_THM2_100K_PU>;
 | |
| 				qcom,pre-scaling = <1 1>;
 | |
| 				qcom,decimation = <1024>;
 | |
| 				qcom,hw-settle-time = <200>;
 | |
| 				qcom,ratiometric;
 | |
| 				label = "emmc_therm";
 | |
| 			};
 | |
| 
 | |
| 			channel@4f {
 | |
| 				reg = <ADC5_AMUX_THM3_100K_PU>;
 | |
| 				qcom,pre-scaling = <1 1>;
 | |
| 				qcom,decimation = <1024>;
 | |
| 				qcom,hw-settle-time = <200>;
 | |
| 				qcom,ratiometric;
 | |
| 				label = "pa_therm0";
 | |
| 			};
 | |
| 
 | |
| 			channel@50 {
 | |
| 				reg = <ADC5_AMUX_THM4_100K_PU>;
 | |
| 				qcom,pre-scaling = <1 1>;
 | |
| 				qcom,decimation = <1024>;
 | |
| 				qcom,hw-settle-time = <200>;
 | |
| 				qcom,ratiometric;
 | |
| 				label = "pa_therm1";
 | |
| 			};
 | |
| 
 | |
| 			channel@51 {
 | |
| 				reg = <ADC5_AMUX_THM5_100K_PU>;
 | |
| 				qcom,pre-scaling = <1 1>;
 | |
| 				qcom,decimation = <1024>;
 | |
| 				qcom,hw-settle-time = <200>;
 | |
| 				qcom,ratiometric;
 | |
| 				label = "quiet_therm";
 | |
| 			};
 | |
| 
 | |
| 			channel@83 {
 | |
| 				reg = <ADC5_VPH_PWR>;
 | |
| 				qcom,decimation = <1024>;
 | |
| 				qcom,pre-scaling = <1 3>;
 | |
| 				label = "vph_pwr";
 | |
| 			};
 | |
| 
 | |
| 			channel@85 {
 | |
| 				reg = <ADC5_VCOIN>;
 | |
| 				qcom,decimation = <1024>;
 | |
| 				qcom,pre-scaling = <1 3>;
 | |
| 				label = "vcoin";
 | |
| 			};
 | |
| 		};
 | |
| 
 | |
| 		pm660_rradc: adc@4500 {
 | |
| 			compatible = "qcom,pm660-rradc";
 | |
| 			reg = <0x4500>;
 | |
| 			#io-channel-cells = <1>;
 | |
| 
 | |
| 			status = "disabled";
 | |
| 		};
 | |
| 
 | |
| 		pm660_gpios: gpio@c000 {
 | |
| 			compatible = "qcom,pm660-gpio", "qcom,spmi-gpio";
 | |
| 			reg = <0xc000>;
 | |
| 			gpio-controller;
 | |
| 			gpio-ranges = <&pm660_gpios 0 0 13>;
 | |
| 			#gpio-cells = <2>;
 | |
| 			interrupt-controller;
 | |
| 			#interrupt-cells = <2>;
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	pmic@1 {
 | |
| 		compatible = "qcom,pm660", "qcom,spmi-pmic";
 | |
| 		reg = <0x1 SPMI_USID>;
 | |
| 		#address-cells = <1>;
 | |
| 		#size-cells = <0>;
 | |
| 
 | |
| 		pm660_spmi_regulators: regulators {
 | |
| 			compatible = "qcom,pm660-regulators";
 | |
| 		};
 | |
| 	};
 | |
| };
 |