xref: /linux/scripts/dtc/include-prefixes/arm64/qcom/pm4125.dtsi (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
139e62f41SDmitry Baryshkov// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
239e62f41SDmitry Baryshkov/*
339e62f41SDmitry Baryshkov * Copyright (c) 2023, Linaro Ltd
439e62f41SDmitry Baryshkov */
539e62f41SDmitry Baryshkov
639e62f41SDmitry Baryshkov#include <dt-bindings/iio/qcom,spmi-vadc.h>
739e62f41SDmitry Baryshkov#include <dt-bindings/input/input.h>
839e62f41SDmitry Baryshkov#include <dt-bindings/interrupt-controller/irq.h>
939e62f41SDmitry Baryshkov#include <dt-bindings/spmi/spmi.h>
1039e62f41SDmitry Baryshkov
1139e62f41SDmitry Baryshkov&spmi_bus {
1239e62f41SDmitry Baryshkov	pmic@0 {
1339e62f41SDmitry Baryshkov		compatible = "qcom,pm2250", "qcom,spmi-pmic";
1439e62f41SDmitry Baryshkov		reg = <0x0 SPMI_USID>;
1539e62f41SDmitry Baryshkov		#address-cells = <1>;
1639e62f41SDmitry Baryshkov		#size-cells = <0>;
1739e62f41SDmitry Baryshkov
1839e62f41SDmitry Baryshkov		pon@800 {
1939e62f41SDmitry Baryshkov			compatible = "qcom,pm8916-pon";
2039e62f41SDmitry Baryshkov			reg = <0x800>;
2139e62f41SDmitry Baryshkov
2239e62f41SDmitry Baryshkov			pm4125_pwrkey: pwrkey {
2339e62f41SDmitry Baryshkov				compatible = "qcom,pm8941-pwrkey";
2439e62f41SDmitry Baryshkov				interrupts-extended = <&spmi_bus 0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
2539e62f41SDmitry Baryshkov				linux,code = <KEY_POWER>;
2639e62f41SDmitry Baryshkov				debounce = <15625>;
2739e62f41SDmitry Baryshkov				bias-pull-up;
2839e62f41SDmitry Baryshkov			};
2939e62f41SDmitry Baryshkov
3039e62f41SDmitry Baryshkov			pm4125_resin: resin {
3139e62f41SDmitry Baryshkov				compatible = "qcom,pm8941-resin";
3239e62f41SDmitry Baryshkov				interrupts-extended = <&spmi_bus 0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
3339e62f41SDmitry Baryshkov				debounce = <15625>;
3439e62f41SDmitry Baryshkov				bias-pull-up;
3539e62f41SDmitry Baryshkov				status = "disabled";
3639e62f41SDmitry Baryshkov			};
3739e62f41SDmitry Baryshkov		};
3839e62f41SDmitry Baryshkov
39*46ea5923SDmitry Baryshkov		pm4125_vbus: usb-vbus-regulator@1100 {
40*46ea5923SDmitry Baryshkov			compatible = "qcom,pm4125-vbus-reg", "qcom,pm8150b-vbus-reg";
41*46ea5923SDmitry Baryshkov			reg = <0x1100>;
42*46ea5923SDmitry Baryshkov			status = "disabled";
43*46ea5923SDmitry Baryshkov		};
44*46ea5923SDmitry Baryshkov
45*46ea5923SDmitry Baryshkov		pm4125_typec: typec@1500 {
46*46ea5923SDmitry Baryshkov			compatible = "qcom,pm4125-typec", "qcom,pmi632-typec";
47*46ea5923SDmitry Baryshkov			reg = <0x1500>;
48*46ea5923SDmitry Baryshkov			interrupts = <0x0 0x15 0x00 IRQ_TYPE_EDGE_RISING>,
49*46ea5923SDmitry Baryshkov				     <0x0 0x15 0x01 IRQ_TYPE_EDGE_BOTH>,
50*46ea5923SDmitry Baryshkov				     <0x0 0x15 0x02 IRQ_TYPE_EDGE_RISING>,
51*46ea5923SDmitry Baryshkov				     <0x0 0x15 0x03 IRQ_TYPE_EDGE_BOTH>,
52*46ea5923SDmitry Baryshkov				     <0x0 0x15 0x04 IRQ_TYPE_EDGE_RISING>,
53*46ea5923SDmitry Baryshkov				     <0x0 0x15 0x05 IRQ_TYPE_EDGE_RISING>,
54*46ea5923SDmitry Baryshkov				     <0x0 0x15 0x06 IRQ_TYPE_EDGE_BOTH>,
55*46ea5923SDmitry Baryshkov				     <0x0 0x15 0x07 IRQ_TYPE_EDGE_RISING>;
56*46ea5923SDmitry Baryshkov			interrupt-names = "or-rid-detect-change",
57*46ea5923SDmitry Baryshkov					  "vpd-detect",
58*46ea5923SDmitry Baryshkov					  "cc-state-change",
59*46ea5923SDmitry Baryshkov					  "vconn-oc",
60*46ea5923SDmitry Baryshkov					  "vbus-change",
61*46ea5923SDmitry Baryshkov					  "attach-detach",
62*46ea5923SDmitry Baryshkov					  "legacy-cable-detect",
63*46ea5923SDmitry Baryshkov					  "try-snk-src-detect";
64*46ea5923SDmitry Baryshkov			vdd-vbus-supply = <&pm4125_vbus>;
65*46ea5923SDmitry Baryshkov
66*46ea5923SDmitry Baryshkov			status = "disabled";
67*46ea5923SDmitry Baryshkov		};
68*46ea5923SDmitry Baryshkov
6939e62f41SDmitry Baryshkov		rtc@6000 {
7039e62f41SDmitry Baryshkov			compatible = "qcom,pm8941-rtc";
7139e62f41SDmitry Baryshkov			reg = <0x6000>, <0x6100>;
7239e62f41SDmitry Baryshkov			reg-names = "rtc", "alarm";
7339e62f41SDmitry Baryshkov			interrupts-extended = <&spmi_bus 0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
7439e62f41SDmitry Baryshkov		};
7539e62f41SDmitry Baryshkov
7639e62f41SDmitry Baryshkov		pm4125_gpios: gpio@c000 {
7739e62f41SDmitry Baryshkov			compatible = "qcom,pm2250-gpio", "qcom,spmi-gpio";
7839e62f41SDmitry Baryshkov			reg = <0xc000>;
7939e62f41SDmitry Baryshkov			gpio-controller;
8039e62f41SDmitry Baryshkov			gpio-ranges = <&pm4125_gpios 0 0 10>;
8139e62f41SDmitry Baryshkov			#gpio-cells = <2>;
8239e62f41SDmitry Baryshkov			interrupt-controller;
8339e62f41SDmitry Baryshkov			#interrupt-cells = <2>;
8439e62f41SDmitry Baryshkov		};
8539e62f41SDmitry Baryshkov	};
8639e62f41SDmitry Baryshkov
8739e62f41SDmitry Baryshkov	pmic@1 {
8839e62f41SDmitry Baryshkov		compatible = "qcom,pm2250", "qcom,spmi-pmic";
8939e62f41SDmitry Baryshkov		reg = <0x1 SPMI_USID>;
9039e62f41SDmitry Baryshkov		#address-cells = <1>;
9139e62f41SDmitry Baryshkov		#size-cells = <0>;
9239e62f41SDmitry Baryshkov	};
9339e62f41SDmitry Baryshkov};
94