162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * SDM845 SoC device tree source
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (c) 2018, The Linux Foundation. All rights reserved.
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci&slim {
962306a36Sopenharmony_ci	status = "okay";
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci	slim@1 {
1262306a36Sopenharmony_ci		reg = <1>;
1362306a36Sopenharmony_ci		#address-cells = <2>;
1462306a36Sopenharmony_ci		#size-cells = <0>;
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci		wcd9340_ifd: ifd@0,0 {
1762306a36Sopenharmony_ci			compatible = "slim217,250";
1862306a36Sopenharmony_ci			reg = <0 0>;
1962306a36Sopenharmony_ci		};
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci		wcd9340: codec@1,0 {
2262306a36Sopenharmony_ci			compatible = "slim217,250";
2362306a36Sopenharmony_ci			reg = <1 0>;
2462306a36Sopenharmony_ci			slim-ifc-dev = <&wcd9340_ifd>;
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci			#sound-dai-cells = <1>;
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci			interrupts-extended = <&tlmm 54 IRQ_TYPE_LEVEL_HIGH>;
2962306a36Sopenharmony_ci			interrupt-controller;
3062306a36Sopenharmony_ci			#interrupt-cells = <1>;
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci			clock-names = "extclk";
3362306a36Sopenharmony_ci			clocks = <&rpmhcc RPMH_LN_BB_CLK2>;
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci			#clock-cells = <0>;
3662306a36Sopenharmony_ci			clock-frequency = <9600000>;
3762306a36Sopenharmony_ci			clock-output-names = "mclk";
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci			pinctrl-0 = <&wcd_intr_default>;
4062306a36Sopenharmony_ci			pinctrl-names = "default";
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci			qcom,micbias1-microvolt = <1800000>;
4362306a36Sopenharmony_ci			qcom,micbias2-microvolt = <1800000>;
4462306a36Sopenharmony_ci			qcom,micbias3-microvolt = <1800000>;
4562306a36Sopenharmony_ci			qcom,micbias4-microvolt = <1800000>;
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci			#address-cells = <1>;
4862306a36Sopenharmony_ci			#size-cells = <1>;
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci			wcdgpio: gpio-controller@42 {
5162306a36Sopenharmony_ci				compatible = "qcom,wcd9340-gpio";
5262306a36Sopenharmony_ci				gpio-controller;
5362306a36Sopenharmony_ci				#gpio-cells = <2>;
5462306a36Sopenharmony_ci				reg = <0x42 0x2>;
5562306a36Sopenharmony_ci			};
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci			swm: swm@c85 {
5862306a36Sopenharmony_ci				compatible = "qcom,soundwire-v1.3.0";
5962306a36Sopenharmony_ci				reg = <0xc85 0x40>;
6062306a36Sopenharmony_ci				interrupts-extended = <&wcd9340 20>;
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci				qcom,dout-ports = <6>;
6362306a36Sopenharmony_ci				qcom,din-ports = <2>;
6462306a36Sopenharmony_ci				qcom,ports-sinterval-low = /bits/ 8  <0x07 0x1f 0x3f 0x7 0x1f 0x3f 0x0f 0x0f>;
6562306a36Sopenharmony_ci				qcom,ports-offset1 = /bits/ 8 <0x01 0x02 0x0c 0x6 0x12 0x0d 0x07 0x0a>;
6662306a36Sopenharmony_ci				qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x1f 0x00 0x00 0x1f 0x00 0x00>;
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci				#sound-dai-cells = <1>;
6962306a36Sopenharmony_ci				clocks = <&wcd9340>;
7062306a36Sopenharmony_ci				clock-names = "iface";
7162306a36Sopenharmony_ci				#address-cells = <2>;
7262306a36Sopenharmony_ci				#size-cells = <0>;
7362306a36Sopenharmony_ci			};
7462306a36Sopenharmony_ci		};
7562306a36Sopenharmony_ci	};
7662306a36Sopenharmony_ci};
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci&tlmm {
7962306a36Sopenharmony_ci	wcd_intr_default: wcd-intr-default-state {
8062306a36Sopenharmony_ci		pins = "gpio54";
8162306a36Sopenharmony_ci		function = "gpio";
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ci		bias-pull-down;
8462306a36Sopenharmony_ci		drive-strength = <2>;
8562306a36Sopenharmony_ci	};
8662306a36Sopenharmony_ci};
87