17cc40615SJasper Korten// SPDX-License-Identifier: GPL-2.0-only
27cc40615SJasper Korten
37cc40615SJasper Korten/dts-v1/;
47cc40615SJasper Korten
57cc40615SJasper Korten#include "msm8916-pm8916.dtsi"
67cc40615SJasper Korten#include <dt-bindings/gpio/gpio.h>
77cc40615SJasper Korten#include <dt-bindings/input/input.h>
87cc40615SJasper Korten#include <dt-bindings/interrupt-controller/irq.h>
97cc40615SJasper Korten
107cc40615SJasper Korten/ {
117cc40615SJasper Korten	aliases {
12154f23a8SStephan Gerhold		mmc0 = &sdhc_1; /* eMMC */
13154f23a8SStephan Gerhold		mmc1 = &sdhc_2; /* SD card */
14c310ca82SStephan Gerhold		serial0 = &blsp_uart2;
157cc40615SJasper Korten	};
167cc40615SJasper Korten
177cc40615SJasper Korten	chosen {
187cc40615SJasper Korten		stdout-path = "serial0";
197cc40615SJasper Korten	};
207cc40615SJasper Korten
217cc40615SJasper Korten	reserved-memory {
227cc40615SJasper Korten		/* Additional memory used by Samsung firmware modifications */
237cc40615SJasper Korten		tz-apps@85500000 {
247cc40615SJasper Korten			reg = <0x0 0x85500000 0x0 0xb00000>;
257cc40615SJasper Korten			no-map;
267cc40615SJasper Korten		};
277cc40615SJasper Korten	};
287cc40615SJasper Korten
297cc40615SJasper Korten	gpio-keys {
307cc40615SJasper Korten		compatible = "gpio-keys";
317cc40615SJasper Korten
327cc40615SJasper Korten		pinctrl-0 = <&gpio_keys_default>;
337cc40615SJasper Korten		pinctrl-names = "default";
347cc40615SJasper Korten
357cc40615SJasper Korten		label = "GPIO Buttons";
367cc40615SJasper Korten
377cc40615SJasper Korten		volume-up-button {
387cc40615SJasper Korten			label = "Volume Up";
3941e22c2fSStephan Gerhold			gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
407cc40615SJasper Korten			linux,code = <KEY_VOLUMEUP>;
417cc40615SJasper Korten		};
427cc40615SJasper Korten
437cc40615SJasper Korten		home-button {
447cc40615SJasper Korten			label = "Home";
4541e22c2fSStephan Gerhold			gpios = <&tlmm 109 GPIO_ACTIVE_LOW>;
467cc40615SJasper Korten			linux,code = <KEY_HOMEPAGE>;
477cc40615SJasper Korten		};
487cc40615SJasper Korten	};
497cc40615SJasper Korten
507cc40615SJasper Korten	gpio-hall-sensor {
517cc40615SJasper Korten		compatible = "gpio-keys";
527cc40615SJasper Korten
537cc40615SJasper Korten		pinctrl-0 = <&gpio_hall_sensor_default>;
547cc40615SJasper Korten		pinctrl-names = "default";
557cc40615SJasper Korten
567cc40615SJasper Korten		label = "GPIO Hall Effect Sensor";
577cc40615SJasper Korten
587cc40615SJasper Korten		hall-sensor-switch {
597cc40615SJasper Korten			label = "Hall Effect Sensor";
6041e22c2fSStephan Gerhold			gpios = <&tlmm 52 GPIO_ACTIVE_LOW>;
617cc40615SJasper Korten			linux,input-type = <EV_SW>;
627cc40615SJasper Korten			linux,code = <SW_LID>;
637cc40615SJasper Korten			linux,can-disable;
647cc40615SJasper Korten		};
657cc40615SJasper Korten	};
667cc40615SJasper Korten};
677cc40615SJasper Korten
687cc40615SJasper Korten&blsp_i2c4 {
697cc40615SJasper Korten	status = "okay";
707cc40615SJasper Korten
717cc40615SJasper Korten	fuelgauge@36 {
727cc40615SJasper Korten		compatible = "maxim,max77849-battery";
737cc40615SJasper Korten		reg = <0x36>;
747cc40615SJasper Korten
757cc40615SJasper Korten		maxim,rsns-microohm = <10000>;
767cc40615SJasper Korten		maxim,over-heat-temp = <600>;
777cc40615SJasper Korten		maxim,over-volt = <4400>;
787cc40615SJasper Korten
7941e22c2fSStephan Gerhold		interrupt-parent = <&tlmm>;
807cc40615SJasper Korten		interrupts = <121 IRQ_TYPE_EDGE_FALLING>;
817cc40615SJasper Korten
827cc40615SJasper Korten		pinctrl-0 = <&fuelgauge_int_default>;
837cc40615SJasper Korten		pinctrl-names = "default";
847cc40615SJasper Korten	};
857cc40615SJasper Korten};
867cc40615SJasper Korten
877cc40615SJasper Korten&blsp_i2c2 {
887cc40615SJasper Korten	status = "okay";
897cc40615SJasper Korten
907cc40615SJasper Korten	light-sensor@10 {
917cc40615SJasper Korten		compatible = "capella,cm3323";
927cc40615SJasper Korten		reg = <0x10>;
937cc40615SJasper Korten	};
947cc40615SJasper Korten
957cc40615SJasper Korten	accelerometer@1d {
967cc40615SJasper Korten		compatible = "st,lis2hh12";
977cc40615SJasper Korten		reg = <0x1d>;
987cc40615SJasper Korten
997cc40615SJasper Korten		vdd-supply = <&pm8916_l17>;
1007cc40615SJasper Korten		vddio-supply = <&pm8916_l5>;
1017cc40615SJasper Korten
10241e22c2fSStephan Gerhold		interrupt-parent = <&tlmm>;
1037cc40615SJasper Korten		interrupts = <115 IRQ_TYPE_LEVEL_HIGH>;
1047cc40615SJasper Korten		interrupt-names = "INT1";
1057cc40615SJasper Korten
1067cc40615SJasper Korten		st,drdy-int-pin = <1>;
1077cc40615SJasper Korten		mount-matrix = "0", "1", "0",
1087cc40615SJasper Korten			      "-1", "0", "0",
1097cc40615SJasper Korten			       "0", "0", "1";
1107cc40615SJasper Korten
1117cc40615SJasper Korten		pinctrl-0 = <&accel_int_default>;
1127cc40615SJasper Korten		pinctrl-names = "default";
1137cc40615SJasper Korten	};
1147cc40615SJasper Korten};
1157cc40615SJasper Korten
116c310ca82SStephan Gerhold&blsp_uart2 {
1177cc40615SJasper Korten	status = "okay";
1187cc40615SJasper Korten};
1197cc40615SJasper Korten
1207cc40615SJasper Korten&pm8916_resin {
1217cc40615SJasper Korten	linux,code = <KEY_VOLUMEDOWN>;
1227cc40615SJasper Korten	status = "okay";
1237cc40615SJasper Korten};
1247cc40615SJasper Korten
125b0a8f16aSStephan Gerhold&pm8916_rpm_regulators {
126b0a8f16aSStephan Gerhold	pm8916_l17: l17 {
127b0a8f16aSStephan Gerhold		regulator-min-microvolt = <2850000>;
128b0a8f16aSStephan Gerhold		regulator-max-microvolt = <2850000>;
129b0a8f16aSStephan Gerhold	};
130b0a8f16aSStephan Gerhold};
131b0a8f16aSStephan Gerhold
1327cc40615SJasper Korten/* FIXME: Replace with MAX77849 MUIC when driver is available */
1337cc40615SJasper Korten&pm8916_usbin {
1347cc40615SJasper Korten	status = "okay";
1357cc40615SJasper Korten};
1367cc40615SJasper Korten
1377cc40615SJasper Korten&sdhc_1 {
1387cc40615SJasper Korten	status = "okay";
1397cc40615SJasper Korten};
1407cc40615SJasper Korten
1417cc40615SJasper Korten&sdhc_2 {
142*c943e4c5SStephan Gerhold	pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
143*c943e4c5SStephan Gerhold	pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
1447cc40615SJasper Korten	pinctrl-names = "default", "sleep";
1457cc40615SJasper Korten
14641e22c2fSStephan Gerhold	cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
1477cc40615SJasper Korten
1487cc40615SJasper Korten	status = "okay";
1497cc40615SJasper Korten};
1507cc40615SJasper Korten
1517cc40615SJasper Korten&usb {
1527cc40615SJasper Korten	dr_mode = "peripheral";
1537cc40615SJasper Korten	extcon = <&pm8916_usbin>;
1547cc40615SJasper Korten
1557cc40615SJasper Korten	status = "okay";
1567cc40615SJasper Korten};
1577cc40615SJasper Korten
1587cc40615SJasper Korten&usb_hs_phy {
1597cc40615SJasper Korten	extcon = <&pm8916_usbin>;
1607cc40615SJasper Korten};
1617cc40615SJasper Korten
16232444424SStephan Gerhold&wcnss {
16332444424SStephan Gerhold	status = "okay";
16432444424SStephan Gerhold};
16532444424SStephan Gerhold
16632444424SStephan Gerhold&wcnss_iris {
16732444424SStephan Gerhold	compatible = "qcom,wcn3660b";
16832444424SStephan Gerhold};
16932444424SStephan Gerhold
17041e22c2fSStephan Gerhold&tlmm {
1717cc40615SJasper Korten	accel_int_default: accel-int-default-state {
1727cc40615SJasper Korten		pins = "gpio115";
1737cc40615SJasper Korten		function = "gpio";
1747cc40615SJasper Korten		drive-strength = <2>;
1757cc40615SJasper Korten		bias-disable;
1767cc40615SJasper Korten	};
1777cc40615SJasper Korten
1787cc40615SJasper Korten	fuelgauge_int_default: fuelgauge-int-default-state {
1797cc40615SJasper Korten		pins = "gpio121";
1807cc40615SJasper Korten		function = "gpio";
1817cc40615SJasper Korten		drive-strength = <2>;
1827cc40615SJasper Korten		bias-disable;
1837cc40615SJasper Korten	};
1847cc40615SJasper Korten
1857cc40615SJasper Korten	gpio_keys_default: gpio-keys-default-state {
1867cc40615SJasper Korten		pins = "gpio107", "gpio109";
1877cc40615SJasper Korten		function = "gpio";
1887cc40615SJasper Korten		drive-strength = <2>;
1897cc40615SJasper Korten		bias-pull-up;
1907cc40615SJasper Korten	};
1917cc40615SJasper Korten
1927cc40615SJasper Korten	gpio_hall_sensor_default: gpio-hall-sensor-default-state {
1937cc40615SJasper Korten		pins = "gpio52";
1947cc40615SJasper Korten		function = "gpio";
1957cc40615SJasper Korten		drive-strength = <2>;
1967cc40615SJasper Korten		bias-disable;
1977cc40615SJasper Korten	};
198dfbda20dSStephan Gerhold
199dfbda20dSStephan Gerhold	sdc2_cd_default: sdc2-cd-default-state {
200dfbda20dSStephan Gerhold		pins = "gpio38";
201dfbda20dSStephan Gerhold		function = "gpio";
202dfbda20dSStephan Gerhold		drive-strength = <2>;
203dfbda20dSStephan Gerhold		bias-disable;
204dfbda20dSStephan Gerhold	};
2057cc40615SJasper Korten};
206