xref: /freebsd-src/sys/contrib/device-tree/src/arm64/qcom/ipq9574-rdp-common.dtsi (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1*8d13bc63SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2*8d13bc63SEmmanuel Vadot/*
3*8d13bc63SEmmanuel Vadot * IPQ9574 RDP board common device tree source
4*8d13bc63SEmmanuel Vadot *
5*8d13bc63SEmmanuel Vadot * Copyright (c) 2020-2021 The Linux Foundation. All rights reserved.
6*8d13bc63SEmmanuel Vadot * Copyright (c) 2023, Qualcomm Innovation Center, Inc. All rights reserved.
7*8d13bc63SEmmanuel Vadot */
8*8d13bc63SEmmanuel Vadot
9*8d13bc63SEmmanuel Vadot/dts-v1/;
10*8d13bc63SEmmanuel Vadot
11*8d13bc63SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
12*8d13bc63SEmmanuel Vadot#include <dt-bindings/input/input.h>
13*8d13bc63SEmmanuel Vadot#include <dt-bindings/leds/common.h>
14*8d13bc63SEmmanuel Vadot#include "ipq9574.dtsi"
15*8d13bc63SEmmanuel Vadot
16*8d13bc63SEmmanuel Vadot/ {
17*8d13bc63SEmmanuel Vadot	aliases {
18*8d13bc63SEmmanuel Vadot		serial0 = &blsp1_uart2;
19*8d13bc63SEmmanuel Vadot	};
20*8d13bc63SEmmanuel Vadot
21*8d13bc63SEmmanuel Vadot	chosen {
22*8d13bc63SEmmanuel Vadot		stdout-path = "serial0:115200n8";
23*8d13bc63SEmmanuel Vadot	};
24*8d13bc63SEmmanuel Vadot
25*8d13bc63SEmmanuel Vadot	regulator_fixed_3p3: s3300 {
26*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
27*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
28*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
29*8d13bc63SEmmanuel Vadot		regulator-boot-on;
30*8d13bc63SEmmanuel Vadot		regulator-always-on;
31*8d13bc63SEmmanuel Vadot		regulator-name = "fixed_3p3";
32*8d13bc63SEmmanuel Vadot	};
33*8d13bc63SEmmanuel Vadot
34*8d13bc63SEmmanuel Vadot	regulator_fixed_0p925: s0925 {
35*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
36*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <925000>;
37*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <925000>;
38*8d13bc63SEmmanuel Vadot		regulator-boot-on;
39*8d13bc63SEmmanuel Vadot		regulator-always-on;
40*8d13bc63SEmmanuel Vadot		regulator-name = "fixed_0p925";
41*8d13bc63SEmmanuel Vadot	};
42*8d13bc63SEmmanuel Vadot
43*8d13bc63SEmmanuel Vadot	gpio-keys {
44*8d13bc63SEmmanuel Vadot		compatible = "gpio-keys";
45*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&gpio_keys_default>;
46*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
47*8d13bc63SEmmanuel Vadot
48*8d13bc63SEmmanuel Vadot		button-wps {
49*8d13bc63SEmmanuel Vadot			label = "wps";
50*8d13bc63SEmmanuel Vadot			linux,code = <KEY_WPS_BUTTON>;
51*8d13bc63SEmmanuel Vadot			gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
52*8d13bc63SEmmanuel Vadot			debounce-interval = <60>;
53*8d13bc63SEmmanuel Vadot		};
54*8d13bc63SEmmanuel Vadot	};
55*8d13bc63SEmmanuel Vadot
56*8d13bc63SEmmanuel Vadot	leds {
57*8d13bc63SEmmanuel Vadot		compatible = "gpio-leds";
58*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&gpio_leds_default>;
59*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
60*8d13bc63SEmmanuel Vadot
61*8d13bc63SEmmanuel Vadot		led-0 {
62*8d13bc63SEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
63*8d13bc63SEmmanuel Vadot			function = LED_FUNCTION_WLAN;
64*8d13bc63SEmmanuel Vadot			gpios = <&tlmm 64 GPIO_ACTIVE_LOW>;
65*8d13bc63SEmmanuel Vadot			linux,default-trigger = "phy0tx";
66*8d13bc63SEmmanuel Vadot			default-state = "off";
67*8d13bc63SEmmanuel Vadot		};
68*8d13bc63SEmmanuel Vadot	};
69*8d13bc63SEmmanuel Vadot};
70*8d13bc63SEmmanuel Vadot
71*8d13bc63SEmmanuel Vadot&blsp1_spi0 {
72*8d13bc63SEmmanuel Vadot	pinctrl-0 = <&spi_0_pins>;
73*8d13bc63SEmmanuel Vadot	pinctrl-names = "default";
74*8d13bc63SEmmanuel Vadot	status = "okay";
75*8d13bc63SEmmanuel Vadot
76*8d13bc63SEmmanuel Vadot	flash@0 {
77*8d13bc63SEmmanuel Vadot		compatible = "micron,n25q128a11", "jedec,spi-nor";
78*8d13bc63SEmmanuel Vadot		reg = <0>;
79*8d13bc63SEmmanuel Vadot		#address-cells = <1>;
80*8d13bc63SEmmanuel Vadot		#size-cells = <1>;
81*8d13bc63SEmmanuel Vadot		spi-max-frequency = <50000000>;
82*8d13bc63SEmmanuel Vadot	};
83*8d13bc63SEmmanuel Vadot};
84*8d13bc63SEmmanuel Vadot
85*8d13bc63SEmmanuel Vadot&blsp1_uart2 {
86*8d13bc63SEmmanuel Vadot	pinctrl-0 = <&uart2_pins>;
87*8d13bc63SEmmanuel Vadot	pinctrl-names = "default";
88*8d13bc63SEmmanuel Vadot	status = "okay";
89*8d13bc63SEmmanuel Vadot};
90*8d13bc63SEmmanuel Vadot
91*8d13bc63SEmmanuel Vadot&rpm_requests {
92*8d13bc63SEmmanuel Vadot	regulators {
93*8d13bc63SEmmanuel Vadot		compatible = "qcom,rpm-mp5496-regulators";
94*8d13bc63SEmmanuel Vadot
95*8d13bc63SEmmanuel Vadot		ipq9574_s1: s1 {
96*8d13bc63SEmmanuel Vadot		/*
97*8d13bc63SEmmanuel Vadot		 * During kernel bootup, the SoC runs at 800MHz with 875mV set by the bootloaders.
98*8d13bc63SEmmanuel Vadot		 * During regulator registration, kernel not knowing the initial voltage,
99*8d13bc63SEmmanuel Vadot		 * considers it as zero and brings up the regulators with minimum supported voltage.
100*8d13bc63SEmmanuel Vadot		 * Update the regulator-min-microvolt with SVS voltage of 725mV so that
101*8d13bc63SEmmanuel Vadot		 * the regulators are brought up with 725mV which is sufficient for all the
102*8d13bc63SEmmanuel Vadot		 * corner parts to operate at 800MHz
103*8d13bc63SEmmanuel Vadot		 */
104*8d13bc63SEmmanuel Vadot			regulator-min-microvolt = <725000>;
105*8d13bc63SEmmanuel Vadot			regulator-max-microvolt = <1075000>;
106*8d13bc63SEmmanuel Vadot		};
107*8d13bc63SEmmanuel Vadot
108*8d13bc63SEmmanuel Vadot		mp5496_l2: l2 {
109*8d13bc63SEmmanuel Vadot			regulator-min-microvolt = <1800000>;
110*8d13bc63SEmmanuel Vadot			regulator-max-microvolt = <1800000>;
111*8d13bc63SEmmanuel Vadot			regulator-always-on;
112*8d13bc63SEmmanuel Vadot			regulator-boot-on;
113*8d13bc63SEmmanuel Vadot		};
114*8d13bc63SEmmanuel Vadot	};
115*8d13bc63SEmmanuel Vadot};
116*8d13bc63SEmmanuel Vadot
117*8d13bc63SEmmanuel Vadot&sleep_clk {
118*8d13bc63SEmmanuel Vadot	clock-frequency = <32000>;
119*8d13bc63SEmmanuel Vadot};
120*8d13bc63SEmmanuel Vadot
121*8d13bc63SEmmanuel Vadot&tlmm {
122*8d13bc63SEmmanuel Vadot	spi_0_pins: spi-0-state {
123*8d13bc63SEmmanuel Vadot		pins = "gpio11", "gpio12", "gpio13", "gpio14";
124*8d13bc63SEmmanuel Vadot		function = "blsp0_spi";
125*8d13bc63SEmmanuel Vadot		drive-strength = <8>;
126*8d13bc63SEmmanuel Vadot		bias-disable;
127*8d13bc63SEmmanuel Vadot	};
128*8d13bc63SEmmanuel Vadot
129*8d13bc63SEmmanuel Vadot	gpio_keys_default: gpio-keys-default-state {
130*8d13bc63SEmmanuel Vadot		pins = "gpio37";
131*8d13bc63SEmmanuel Vadot		function = "gpio";
132*8d13bc63SEmmanuel Vadot		drive-strength = <8>;
133*8d13bc63SEmmanuel Vadot		bias-pull-up;
134*8d13bc63SEmmanuel Vadot	};
135*8d13bc63SEmmanuel Vadot
136*8d13bc63SEmmanuel Vadot	gpio_leds_default: gpio-leds-default-state {
137*8d13bc63SEmmanuel Vadot		pins = "gpio64";
138*8d13bc63SEmmanuel Vadot		function = "gpio";
139*8d13bc63SEmmanuel Vadot		drive-strength = <8>;
140*8d13bc63SEmmanuel Vadot		bias-pull-up;
141*8d13bc63SEmmanuel Vadot	};
142*8d13bc63SEmmanuel Vadot};
143*8d13bc63SEmmanuel Vadot
144*8d13bc63SEmmanuel Vadot&usb_0_dwc3 {
145*8d13bc63SEmmanuel Vadot	dr_mode = "host";
146*8d13bc63SEmmanuel Vadot};
147*8d13bc63SEmmanuel Vadot
148*8d13bc63SEmmanuel Vadot&usb_0_qmpphy {
149*8d13bc63SEmmanuel Vadot	vdda-pll-supply = <&mp5496_l2>;
150*8d13bc63SEmmanuel Vadot	vdda-phy-supply = <&regulator_fixed_0p925>;
151*8d13bc63SEmmanuel Vadot
152*8d13bc63SEmmanuel Vadot	status = "okay";
153*8d13bc63SEmmanuel Vadot};
154*8d13bc63SEmmanuel Vadot
155*8d13bc63SEmmanuel Vadot&usb_0_qusbphy {
156*8d13bc63SEmmanuel Vadot	vdd-supply = <&regulator_fixed_0p925>;
157*8d13bc63SEmmanuel Vadot	vdda-pll-supply = <&mp5496_l2>;
158*8d13bc63SEmmanuel Vadot	vdda-phy-dpdm-supply = <&regulator_fixed_3p3>;
159*8d13bc63SEmmanuel Vadot
160*8d13bc63SEmmanuel Vadot	status = "okay";
161*8d13bc63SEmmanuel Vadot};
162*8d13bc63SEmmanuel Vadot
163*8d13bc63SEmmanuel Vadot&usb3 {
164*8d13bc63SEmmanuel Vadot	status = "okay";
165*8d13bc63SEmmanuel Vadot};
166*8d13bc63SEmmanuel Vadot
167*8d13bc63SEmmanuel Vadot&xo_board_clk {
168*8d13bc63SEmmanuel Vadot	clock-frequency = <24000000>;
169*8d13bc63SEmmanuel Vadot};
170