Path: blob/master/arch/arm64/boot/dts/qcom/lemans-evk.dts
29274 views
// SPDX-License-Identifier: BSD-3-Clause /* * Copyright (c) 2024-2025, Qualcomm Innovation Center, Inc. All rights reserved. */ /dts-v1/; #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/sound/qcom,q6afe.h> #include <dt-bindings/regulator/qcom,rpmh-regulator.h> #include "lemans.dtsi" #include "lemans-pmics.dtsi" / { model = "Qualcomm Technologies, Inc. Lemans EVK"; compatible = "qcom,lemans-evk", "qcom,qcs9100", "qcom,sa8775p"; aliases { ethernet0 = ðernet0; mmc1 = &sdhc; serial0 = &uart10; }; dmic: audio-codec-0 { compatible = "dmic-codec"; #sound-dai-cells = <0>; num-channels = <1>; }; max98357a: audio-codec-1 { compatible = "maxim,max98357a"; #sound-dai-cells = <0>; }; chosen { stdout-path = "serial0:115200n8"; }; edp0-connector { compatible = "dp-connector"; label = "EDP0"; type = "mini"; port { edp0_connector_in: endpoint { remote-endpoint = <&mdss0_dp0_out>; }; }; }; edp1-connector { compatible = "dp-connector"; label = "EDP1"; type = "mini"; port { edp1_connector_in: endpoint { remote-endpoint = <&mdss0_dp1_out>; }; }; }; sound { compatible = "qcom,qcs9100-sndcard"; model = "LEMANS-EVK"; pinctrl-0 = <&hs0_mi2s_active>, <&hs2_mi2s_active>; pinctrl-names = "default"; hs0-mi2s-playback-dai-link { link-name = "HS0 MI2S Playback"; codec { sound-dai = <&max98357a>; }; cpu { sound-dai = <&q6apmbedai PRIMARY_MI2S_RX>; }; platform { sound-dai = <&q6apm>; }; }; hs2-mi2s-capture-dai-link { link-name = "HS2 MI2S Capture"; codec { sound-dai = <&dmic>; }; cpu { sound-dai = <&q6apmbedai TERTIARY_MI2S_TX>; }; platform { sound-dai = <&q6apm>; }; }; }; vmmc_sdc: regulator-vmmc-sdc { compatible = "regulator-fixed"; regulator-name = "vmmc_sdc"; regulator-min-microvolt = <2950000>; regulator-max-microvolt = <2950000>; }; vreg_sdc: regulator-vreg-sdc { compatible = "regulator-gpio"; regulator-name = "vreg_sdc"; regulator-type = "voltage"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <2950000>; gpios = <&expander1 7 GPIO_ACTIVE_HIGH>; states = <1800000 1>, <2950000 0>; startup-delay-us = <100>; }; }; &apps_rsc { regulators-0 { compatible = "qcom,pmm8654au-rpmh-regulators"; qcom,pmic-id = "a"; vreg_s4a: smps4 { regulator-name = "vreg_s4a"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1816000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; }; vreg_s5a: smps5 { regulator-name = "vreg_s5a"; regulator-min-microvolt = <1850000>; regulator-max-microvolt = <1996000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; }; vreg_s9a: smps9 { regulator-name = "vreg_s9a"; regulator-min-microvolt = <535000>; regulator-max-microvolt = <1120000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; }; vreg_l4a: ldo4 { regulator-name = "vreg_l4a"; regulator-min-microvolt = <788000>; regulator-max-microvolt = <1050000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-allow-set-load; regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>; }; vreg_l5a: ldo5 { regulator-name = "vreg_l5a"; regulator-min-microvolt = <870000>; regulator-max-microvolt = <950000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-allow-set-load; regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>; }; vreg_l6a: ldo6 { regulator-name = "vreg_l6a"; regulator-min-microvolt = <870000>; regulator-max-microvolt = <970000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-allow-set-load; regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>; }; vreg_l7a: ldo7 { regulator-name = "vreg_l7a"; regulator-min-microvolt = <720000>; regulator-max-microvolt = <950000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-allow-set-load; regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>; }; vreg_l8a: ldo8 { regulator-name = "vreg_l8a"; regulator-min-microvolt = <2504000>; regulator-max-microvolt = <3300000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-allow-set-load; regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>; }; vreg_l9a: ldo9 { regulator-name = "vreg_l9a"; regulator-min-microvolt = <2970000>; regulator-max-microvolt = <3544000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-allow-set-load; regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>; }; }; regulators-1 { compatible = "qcom,pmm8654au-rpmh-regulators"; qcom,pmic-id = "c"; vreg_l1c: ldo1 { regulator-name = "vreg_l1c"; regulator-min-microvolt = <1140000>; regulator-max-microvolt = <1260000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-allow-set-load; regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>; }; vreg_l2c: ldo2 { regulator-name = "vreg_l2c"; regulator-min-microvolt = <900000>; regulator-max-microvolt = <1100000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-allow-set-load; regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>; }; vreg_l3c: ldo3 { regulator-name = "vreg_l3c"; regulator-min-microvolt = <1100000>; regulator-max-microvolt = <1300000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-allow-set-load; regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>; }; vreg_l4c: ldo4 { regulator-name = "vreg_l4c"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-allow-set-load; regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>; }; vreg_l5c: ldo5 { regulator-name = "vreg_l5c"; regulator-min-microvolt = <1100000>; regulator-max-microvolt = <1300000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-allow-set-load; regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>; }; vreg_l6c: ldo6 { regulator-name = "vreg_l6c"; regulator-min-microvolt = <1620000>; regulator-max-microvolt = <1980000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-allow-set-load; regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>; }; vreg_l7c: ldo7 { regulator-name = "vreg_l7c"; regulator-min-microvolt = <1620000>; regulator-max-microvolt = <2000000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-allow-set-load; regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>; }; vreg_l8c: ldo8 { regulator-name = "vreg_l8c"; regulator-min-microvolt = <2400000>; regulator-max-microvolt = <3300000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-allow-set-load; regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>; }; vreg_l9c: ldo9 { regulator-name = "vreg_l9c"; regulator-min-microvolt = <1650000>; regulator-max-microvolt = <2700000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-allow-set-load; regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>; }; }; regulators-2 { compatible = "qcom,pmm8654au-rpmh-regulators"; qcom,pmic-id = "e"; vreg_s4e: smps4 { regulator-name = "vreg_s4e"; regulator-min-microvolt = <970000>; regulator-max-microvolt = <1520000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; }; vreg_s7e: smps7 { regulator-name = "vreg_s7e"; regulator-min-microvolt = <1010000>; regulator-max-microvolt = <1170000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; }; vreg_s9e: smps9 { regulator-name = "vreg_s9e"; regulator-min-microvolt = <300000>; regulator-max-microvolt = <570000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; }; vreg_l6e: ldo6 { regulator-name = "vreg_l6e"; regulator-min-microvolt = <1280000>; regulator-max-microvolt = <1450000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-allow-set-load; regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>; }; vreg_l8e: ldo8 { regulator-name = "vreg_l8e"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1950000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-allow-set-load; regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>; }; }; }; ðernet0 { phy-handle = <&hsgmii_phy0>; phy-mode = "2500base-x"; pinctrl-0 = <ðernet0_default>; pinctrl-names = "default"; snps,mtl-rx-config = <&mtl_rx_setup>; snps,mtl-tx-config = <&mtl_tx_setup>; nvmem-cells = <&mac_addr0>; nvmem-cell-names = "mac-address"; status = "okay"; mdio { compatible = "snps,dwmac-mdio"; #address-cells = <1>; #size-cells = <0>; hsgmii_phy0: ethernet-phy@1c { compatible = "ethernet-phy-id004d.d101"; reg = <0x1c>; reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>; reset-assert-us = <11000>; reset-deassert-us = <70000>; }; }; mtl_rx_setup: rx-queues-config { snps,rx-queues-to-use = <4>; snps,rx-sched-sp; queue0 { snps,dcb-algorithm; snps,map-to-dma-channel = <0x0>; snps,route-up; snps,priority = <0x1>; }; queue1 { snps,dcb-algorithm; snps,map-to-dma-channel = <0x1>; snps,route-ptp; }; queue2 { snps,avb-algorithm; snps,map-to-dma-channel = <0x2>; snps,route-avcp; }; queue3 { snps,avb-algorithm; snps,map-to-dma-channel = <0x3>; snps,priority = <0xc>; }; }; mtl_tx_setup: tx-queues-config { snps,tx-queues-to-use = <4>; queue0 { snps,dcb-algorithm; }; queue1 { snps,dcb-algorithm; }; queue2 { snps,avb-algorithm; snps,send_slope = <0x1000>; snps,idle_slope = <0x1000>; snps,high_credit = <0x3e800>; snps,low_credit = <0xffc18000>; }; queue3 { snps,avb-algorithm; snps,send_slope = <0x1000>; snps,idle_slope = <0x1000>; snps,high_credit = <0x3e800>; snps,low_credit = <0xffc18000>; }; }; }; &gpi_dma0 { status = "okay"; }; &gpi_dma1 { status = "okay"; }; &gpi_dma2 { status = "okay"; }; &i2c18 { status = "okay"; expander0: gpio@38 { compatible = "ti,tca9538"; reg = <0x38>; #gpio-cells = <2>; gpio-controller; }; expander1: gpio@39 { compatible = "ti,tca9538"; reg = <0x39>; #gpio-cells = <2>; gpio-controller; }; expander2: gpio@3a { compatible = "ti,tca9538"; reg = <0x3a>; #gpio-cells = <2>; gpio-controller; }; expander3: gpio@3b { compatible = "ti,tca9538"; reg = <0x3b>; #gpio-cells = <2>; gpio-controller; }; eeprom@50 { compatible = "giantec,gt24c256c", "atmel,24c256"; reg = <0x50>; pagesize = <64>; nvmem-layout { compatible = "fixed-layout"; #address-cells = <1>; #size-cells = <1>; mac_addr0: mac-addr@0 { reg = <0x0 0x6>; }; }; }; }; &iris { firmware-name = "qcom/vpu/vpu30_p4_s6_16mb.mbn"; status = "okay"; }; &mdss0 { status = "okay"; }; &mdss0_dp0 { pinctrl-0 = <&dp0_hot_plug_det>; pinctrl-names = "default"; status = "okay"; }; &mdss0_dp0_out { data-lanes = <0 1 2 3>; link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>; remote-endpoint = <&edp0_connector_in>; }; &mdss0_dp0_phy { vdda-phy-supply = <&vreg_l1c>; vdda-pll-supply = <&vreg_l4a>; status = "okay"; }; &mdss0_dp1 { pinctrl-0 = <&dp1_hot_plug_det>; pinctrl-names = "default"; status = "okay"; }; &mdss0_dp1_out { data-lanes = <0 1 2 3>; link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>; remote-endpoint = <&edp1_connector_in>; }; &mdss0_dp1_phy { vdda-phy-supply = <&vreg_l1c>; vdda-pll-supply = <&vreg_l4a>; status = "okay"; }; &pcie0 { perst-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>; wake-gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; pinctrl-0 = <&pcie0_default_state>; pinctrl-names = "default"; status = "okay"; }; &pcie0_phy { vdda-phy-supply = <&vreg_l5a>; vdda-pll-supply = <&vreg_l1c>; status = "okay"; }; &pcie1 { perst-gpios = <&tlmm 4 GPIO_ACTIVE_LOW>; wake-gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>; pinctrl-0 = <&pcie1_default_state>; pinctrl-names = "default"; status = "okay"; }; &pcie1_phy { vdda-phy-supply = <&vreg_l5a>; vdda-pll-supply = <&vreg_l1c>; status = "okay"; }; &qupv3_id_0 { status = "okay"; }; &qupv3_id_1 { status = "okay"; }; &qupv3_id_2 { status = "okay"; }; &remoteproc_adsp { firmware-name = "qcom/sa8775p/adsp.mbn"; status = "okay"; }; &remoteproc_cdsp0 { firmware-name = "qcom/sa8775p/cdsp0.mbn"; status = "okay"; }; &remoteproc_cdsp1 { firmware-name = "qcom/sa8775p/cdsp1.mbn"; status = "okay"; }; &remoteproc_gpdsp0 { firmware-name = "qcom/sa8775p/gpdsp0.mbn"; status = "okay"; }; &remoteproc_gpdsp1 { firmware-name = "qcom/sa8775p/gpdsp1.mbn"; status = "okay"; }; &sdhc { vmmc-supply = <&vmmc_sdc>; vqmmc-supply = <&vreg_sdc>; pinctrl-0 = <&sdc_default>, <&sd_cd>; pinctrl-1 = <&sdc_sleep>, <&sd_cd>; pinctrl-names = "default", "sleep"; bus-width = <4>; cd-gpios = <&tlmm 36 GPIO_ACTIVE_LOW>; no-mmc; no-sdio; status = "okay"; }; &serdes0 { phy-supply = <&vreg_l5a>; status = "okay"; }; &sleep_clk { clock-frequency = <32768>; }; &tlmm { ethernet0_default: ethernet0-default-state { ethernet0_mdc: ethernet0-mdc-pins { pins = "gpio8"; function = "emac0_mdc"; drive-strength = <16>; bias-pull-up; }; ethernet0_mdio: ethernet0-mdio-pins { pins = "gpio9"; function = "emac0_mdio"; drive-strength = <16>; bias-pull-up; }; }; pcie0_default_state: pcie0-default-state { clkreq-pins { pins = "gpio1"; function = "pcie0_clkreq"; drive-strength = <2>; bias-pull-up; }; perst-pins { pins = "gpio2"; function = "gpio"; drive-strength = <2>; bias-pull-up; }; wake-pins { pins = "gpio0"; function = "gpio"; drive-strength = <2>; bias-pull-up; }; }; pcie1_default_state: pcie1-default-state { clkreq-pins { pins = "gpio3"; function = "pcie1_clkreq"; drive-strength = <2>; bias-pull-up; }; perst-pins { pins = "gpio4"; function = "gpio"; drive-strength = <2>; bias-pull-up; }; wake-pins { pins = "gpio5"; function = "gpio"; drive-strength = <2>; bias-pull-up; }; }; sd_cd: sd-cd-state { pins = "gpio36"; function = "gpio"; bias-pull-up; }; }; &uart10 { compatible = "qcom,geni-debug-uart"; pinctrl-0 = <&qup_uart10_default>; pinctrl-names = "default"; status = "okay"; }; &ufs_mem_hc { reset-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>; vcc-supply = <&vreg_l8a>; vcc-max-microamp = <1100000>; vccq-supply = <&vreg_l4c>; vccq-max-microamp = <1200000>; status = "okay"; }; &ufs_mem_phy { vdda-phy-supply = <&vreg_l4a>; vdda-pll-supply = <&vreg_l1c>; status = "okay"; }; &usb_0 { dr_mode = "peripheral"; status = "okay"; }; &usb_0_hsphy { vdda-pll-supply = <&vreg_l7a>; vdda18-supply = <&vreg_l6c>; vdda33-supply = <&vreg_l9a>; status = "okay"; }; &usb_0_qmpphy { vdda-phy-supply = <&vreg_l1c>; vdda-pll-supply = <&vreg_l7a>; status = "okay"; }; &xo_board_clk { clock-frequency = <38400000>; };