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 {
127cc40615SJasper Korten		serial0 = &blsp1_uart2;
137cc40615SJasper Korten	};
147cc40615SJasper Korten
157cc40615SJasper Korten	chosen {
167cc40615SJasper Korten		stdout-path = "serial0";
177cc40615SJasper Korten	};
187cc40615SJasper Korten
197cc40615SJasper Korten	reserved-memory {
207cc40615SJasper Korten		/* Additional memory used by Samsung firmware modifications */
217cc40615SJasper Korten		tz-apps@85500000 {
227cc40615SJasper Korten			reg = <0x0 0x85500000 0x0 0xb00000>;
237cc40615SJasper Korten			no-map;
247cc40615SJasper Korten		};
257cc40615SJasper Korten	};
267cc40615SJasper Korten
277cc40615SJasper Korten	gpio-keys {
287cc40615SJasper Korten		compatible = "gpio-keys";
297cc40615SJasper Korten
307cc40615SJasper Korten		pinctrl-0 = <&gpio_keys_default>;
317cc40615SJasper Korten		pinctrl-names = "default";
327cc40615SJasper Korten
337cc40615SJasper Korten		label = "GPIO Buttons";
347cc40615SJasper Korten
357cc40615SJasper Korten		volume-up-button {
367cc40615SJasper Korten			label = "Volume Up";
377cc40615SJasper Korten			gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
387cc40615SJasper Korten			linux,code = <KEY_VOLUMEUP>;
397cc40615SJasper Korten		};
407cc40615SJasper Korten
417cc40615SJasper Korten		home-button {
427cc40615SJasper Korten			label = "Home";
437cc40615SJasper Korten			gpios = <&msmgpio 109 GPIO_ACTIVE_LOW>;
447cc40615SJasper Korten			linux,code = <KEY_HOMEPAGE>;
457cc40615SJasper Korten		};
467cc40615SJasper Korten	};
477cc40615SJasper Korten
487cc40615SJasper Korten	gpio-hall-sensor {
497cc40615SJasper Korten		compatible = "gpio-keys";
507cc40615SJasper Korten
517cc40615SJasper Korten		pinctrl-0 = <&gpio_hall_sensor_default>;
527cc40615SJasper Korten		pinctrl-names = "default";
537cc40615SJasper Korten
547cc40615SJasper Korten		label = "GPIO Hall Effect Sensor";
557cc40615SJasper Korten
567cc40615SJasper Korten		hall-sensor-switch {
577cc40615SJasper Korten			label = "Hall Effect Sensor";
587cc40615SJasper Korten			gpios = <&msmgpio 52 GPIO_ACTIVE_LOW>;
597cc40615SJasper Korten			linux,input-type = <EV_SW>;
607cc40615SJasper Korten			linux,code = <SW_LID>;
617cc40615SJasper Korten			linux,can-disable;
627cc40615SJasper Korten		};
637cc40615SJasper Korten	};
647cc40615SJasper Korten};
657cc40615SJasper Korten
667cc40615SJasper Korten&blsp_i2c4 {
677cc40615SJasper Korten	status = "okay";
687cc40615SJasper Korten
697cc40615SJasper Korten	fuelgauge@36 {
707cc40615SJasper Korten		compatible = "maxim,max77849-battery";
717cc40615SJasper Korten		reg = <0x36>;
727cc40615SJasper Korten
737cc40615SJasper Korten		maxim,rsns-microohm = <10000>;
747cc40615SJasper Korten		maxim,over-heat-temp = <600>;
757cc40615SJasper Korten		maxim,over-volt = <4400>;
767cc40615SJasper Korten
777cc40615SJasper Korten		interrupt-parent = <&msmgpio>;
787cc40615SJasper Korten		interrupts = <121 IRQ_TYPE_EDGE_FALLING>;
797cc40615SJasper Korten
807cc40615SJasper Korten		pinctrl-0 = <&fuelgauge_int_default>;
817cc40615SJasper Korten		pinctrl-names = "default";
827cc40615SJasper Korten	};
837cc40615SJasper Korten};
847cc40615SJasper Korten
857cc40615SJasper Korten&blsp_i2c2 {
867cc40615SJasper Korten	status = "okay";
877cc40615SJasper Korten
887cc40615SJasper Korten	light-sensor@10 {
897cc40615SJasper Korten		compatible = "capella,cm3323";
907cc40615SJasper Korten		reg = <0x10>;
917cc40615SJasper Korten	};
927cc40615SJasper Korten
937cc40615SJasper Korten	accelerometer@1d {
947cc40615SJasper Korten		compatible = "st,lis2hh12";
957cc40615SJasper Korten		reg = <0x1d>;
967cc40615SJasper Korten
977cc40615SJasper Korten		vdd-supply = <&pm8916_l17>;
987cc40615SJasper Korten		vddio-supply = <&pm8916_l5>;
997cc40615SJasper Korten
1007cc40615SJasper Korten		interrupt-parent = <&msmgpio>;
1017cc40615SJasper Korten		interrupts = <115 IRQ_TYPE_LEVEL_HIGH>;
1027cc40615SJasper Korten		interrupt-names = "INT1";
1037cc40615SJasper Korten
1047cc40615SJasper Korten		st,drdy-int-pin = <1>;
1057cc40615SJasper Korten		mount-matrix = "0", "1", "0",
1067cc40615SJasper Korten			      "-1", "0", "0",
1077cc40615SJasper Korten			       "0", "0", "1";
1087cc40615SJasper Korten
1097cc40615SJasper Korten		pinctrl-0 = <&accel_int_default>;
1107cc40615SJasper Korten		pinctrl-names = "default";
1117cc40615SJasper Korten	};
1127cc40615SJasper Korten};
1137cc40615SJasper Korten
1147cc40615SJasper Korten&blsp1_uart2 {
1157cc40615SJasper Korten	status = "okay";
1167cc40615SJasper Korten};
1177cc40615SJasper Korten
1187cc40615SJasper Korten&pm8916_resin {
1197cc40615SJasper Korten	linux,code = <KEY_VOLUMEDOWN>;
1207cc40615SJasper Korten	status = "okay";
1217cc40615SJasper Korten};
1227cc40615SJasper Korten
123*b0a8f16aSStephan Gerhold&pm8916_rpm_regulators {
124*b0a8f16aSStephan Gerhold	pm8916_l17: l17 {
125*b0a8f16aSStephan Gerhold		regulator-min-microvolt = <2850000>;
126*b0a8f16aSStephan Gerhold		regulator-max-microvolt = <2850000>;
127*b0a8f16aSStephan Gerhold	};
128*b0a8f16aSStephan Gerhold};
129*b0a8f16aSStephan Gerhold
1307cc40615SJasper Korten/* FIXME: Replace with MAX77849 MUIC when driver is available */
1317cc40615SJasper Korten&pm8916_usbin {
1327cc40615SJasper Korten	status = "okay";
1337cc40615SJasper Korten};
1347cc40615SJasper Korten
1357cc40615SJasper Korten&sdhc_1 {
1367cc40615SJasper Korten	pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
1377cc40615SJasper Korten	pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
1387cc40615SJasper Korten	pinctrl-names = "default", "sleep";
1397cc40615SJasper Korten
1407cc40615SJasper Korten	status = "okay";
1417cc40615SJasper Korten};
1427cc40615SJasper Korten
1437cc40615SJasper Korten&sdhc_2 {
1447cc40615SJasper Korten	pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
1457cc40615SJasper Korten	pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
1467cc40615SJasper Korten	pinctrl-names = "default", "sleep";
1477cc40615SJasper Korten
1487cc40615SJasper Korten	cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
1497cc40615SJasper Korten
1507cc40615SJasper Korten	status = "okay";
1517cc40615SJasper Korten};
1527cc40615SJasper Korten
1537cc40615SJasper Korten&usb {
1547cc40615SJasper Korten	dr_mode = "peripheral";
1557cc40615SJasper Korten	extcon = <&pm8916_usbin>;
1567cc40615SJasper Korten
1577cc40615SJasper Korten	status = "okay";
1587cc40615SJasper Korten};
1597cc40615SJasper Korten
1607cc40615SJasper Korten&usb_hs_phy {
1617cc40615SJasper Korten	extcon = <&pm8916_usbin>;
1627cc40615SJasper Korten};
1637cc40615SJasper Korten
16432444424SStephan Gerhold&wcnss {
16532444424SStephan Gerhold	status = "okay";
16632444424SStephan Gerhold};
16732444424SStephan Gerhold
16832444424SStephan Gerhold&wcnss_iris {
16932444424SStephan Gerhold	compatible = "qcom,wcn3660b";
17032444424SStephan Gerhold};
17132444424SStephan Gerhold
1727cc40615SJasper Korten&msmgpio {
1737cc40615SJasper Korten	accel_int_default: accel-int-default-state {
1747cc40615SJasper Korten		pins = "gpio115";
1757cc40615SJasper Korten		function = "gpio";
1767cc40615SJasper Korten		drive-strength = <2>;
1777cc40615SJasper Korten		bias-disable;
1787cc40615SJasper Korten	};
1797cc40615SJasper Korten
1807cc40615SJasper Korten	fuelgauge_int_default: fuelgauge-int-default-state {
1817cc40615SJasper Korten		pins = "gpio121";
1827cc40615SJasper Korten		function = "gpio";
1837cc40615SJasper Korten		drive-strength = <2>;
1847cc40615SJasper Korten		bias-disable;
1857cc40615SJasper Korten	};
1867cc40615SJasper Korten
1877cc40615SJasper Korten	gpio_keys_default: gpio-keys-default-state {
1887cc40615SJasper Korten		pins = "gpio107", "gpio109";
1897cc40615SJasper Korten		function = "gpio";
1907cc40615SJasper Korten		drive-strength = <2>;
1917cc40615SJasper Korten		bias-pull-up;
1927cc40615SJasper Korten	};
1937cc40615SJasper Korten
1947cc40615SJasper Korten	gpio_hall_sensor_default: gpio-hall-sensor-default-state {
1957cc40615SJasper Korten		pins = "gpio52";
1967cc40615SJasper Korten		function = "gpio";
1977cc40615SJasper Korten		drive-strength = <2>;
1987cc40615SJasper Korten		bias-disable;
1997cc40615SJasper Korten	};
2007cc40615SJasper Korten};
201