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 = <®ulator_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 = <®ulator_fixed_0p925>; 157*8d13bc63SEmmanuel Vadot vdda-pll-supply = <&mp5496_l2>; 158*8d13bc63SEmmanuel Vadot vdda-phy-dpdm-supply = <®ulator_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