// SPDX-License-Identifier: BSD-3-Clause /* * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. */ /dts-v1/; #include #include #include #include #include "monaco.dtsi" #include "monaco-pmics.dtsi" / { model = "Qualcomm Technologies, Inc. Monaco EVK"; compatible = "qcom,monaco-evk", "qcom,qcs8300"; aliases { ethernet0 = ðernet0; i2c1 = &i2c1; serial0 = &uart7; serial2 = &uart6; }; chosen { stdout-path = "serial0:115200n8"; }; connector-2 { compatible = "gpio-usb-b-connector", "usb-b-connector"; label = "micro-USB"; type = "micro"; id-gpios = <&pmm8620au_0_gpios 9 GPIO_ACTIVE_HIGH>; vbus-gpios = <&expander6 7 GPIO_ACTIVE_HIGH>; vbus-supply = <&usb2_vbus>; pinctrl-0 = <&usb2_id>; pinctrl-names = "default"; port { usb2_con_hs_ep: endpoint { remote-endpoint = <&usb_2_dwc3_hs>; }; }; }; 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>; }; dp-connector-0 { compatible = "dp-connector"; label = "DP0"; type = "mini"; port { dp0_connector_in: endpoint { remote-endpoint = <<8713sx_dp0_out>; }; }; }; dp-connector-1 { compatible = "dp-connector"; label = "DP1"; type = "mini"; port { dp1_connector_in: endpoint { remote-endpoint = <<8713sx_dp1_out>; }; }; }; usb2_vbus: regulator-usb2-vbus { compatible = "regulator-fixed"; regulator-name = "usb2_vbus"; gpio = <&pmm8650au_1_gpios 7 GPIO_ACTIVE_HIGH>; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; enable-active-high; }; sound { compatible = "qcom,qcs8275-sndcard"; model = "MONACO-EVK"; pinctrl-0 = <&hs0_mi2s_active>, <&mi2s1_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>; }; }; sec-mi2s-capture-dai-link { link-name = "Secondary MI2S Capture"; codec { sound-dai = <&dmic>; }; cpu { sound-dai = <&q6apmbedai SECONDARY_MI2S_TX>; }; platform { sound-dai = <&q6apm>; }; }; }; vreg_cam0_2p8: vreg-cam0-2p8 { compatible = "regulator-fixed"; regulator-name = "vreg_cam0_2p8"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; startup-delay-us = <10000>; gpio = <&tlmm 73 GPIO_ACTIVE_HIGH>; enable-active-high; pinctrl-0 = <&cam0_avdd_2v8_en_default>; pinctrl-names = "default"; }; vreg_cam1_2p8: vreg-cam1-2p8 { compatible = "regulator-fixed"; regulator-name = "vreg_cam1_2p8"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; startup-delay-us = <10000>; gpio = <&tlmm 74 GPIO_ACTIVE_HIGH>; enable-active-high; pinctrl-0 = <&cam1_avdd_2v8_en_default>; pinctrl-names = "default"; }; vreg_cam2_2p8: vreg-cam2-2p8 { compatible = "regulator-fixed"; regulator-name = "vreg_cam2_2p8"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; startup-delay-us = <10000>; gpio = <&tlmm 75 GPIO_ACTIVE_HIGH>; enable-active-high; pinctrl-0 = <&cam2_avdd_2v8_en_default>; pinctrl-names = "default"; }; /* This comes from a PMIC handled within the SAIL domain */ vreg_s2s: vreg-s2s { compatible = "regulator-fixed"; regulator-name = "vreg_s2s"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; }; &apps_rsc { regulators-0 { compatible = "qcom,pmm8654au-rpmh-regulators"; qcom,pmic-id = "a"; vreg_l3a: ldo3 { regulator-name = "vreg_l3a"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; vreg_l4a: ldo4 { regulator-name = "vreg_l4a"; regulator-min-microvolt = <880000>; regulator-max-microvolt = <912000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; vreg_l5a: ldo5 { regulator-name = "vreg_l5a"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; vreg_l6a: ldo6 { regulator-name = "vreg_l6a"; regulator-min-microvolt = <880000>; regulator-max-microvolt = <912000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; vreg_l7a: ldo7 { regulator-name = "vreg_l7a"; regulator-min-microvolt = <880000>; regulator-max-microvolt = <912000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; vreg_l8a: ldo8 { regulator-name = "vreg_l8a"; regulator-min-microvolt = <2504000>; regulator-max-microvolt = <2960000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; vreg_l9a: ldo9 { regulator-name = "vreg_l9a"; regulator-min-microvolt = <2970000>; regulator-max-microvolt = <3072000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; }; regulators-1 { compatible = "qcom,pmm8654au-rpmh-regulators"; qcom,pmic-id = "c"; vreg_s5c: smps5 { regulator-name = "vreg_s5c"; regulator-min-microvolt = <1104000>; regulator-max-microvolt = <1104000>; regulator-initial-mode = ; }; vreg_l1c: ldo1 { regulator-name = "vreg_l1c"; regulator-min-microvolt = <300000>; regulator-max-microvolt = <512000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; vreg_l2c: ldo2 { regulator-name = "vreg_l2c"; regulator-min-microvolt = <900000>; regulator-max-microvolt = <904000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; vreg_l4c: ldo4 { regulator-name = "vreg_l4c"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; vreg_l7c: ldo7 { regulator-name = "vreg_l7c"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; vreg_l8c: ldo8 { regulator-name = "vreg_l8c"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; vreg_l9c: ldo9 { regulator-name = "vreg_l9c"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; }; }; ðernet0 { phy-mode = "2500base-x"; phy-handle = <&hsgmii_phy0>; 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 = <&tlmm 31 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"; }; &gpu { status = "okay"; }; &gpu_zap_shader { firmware-name = "qcom/qcs8300/a623_zap.mbn"; }; &i2c0 { status = "okay"; bridge@4f { compatible = "lontium,lt8713sx"; reg = <0x4f>; reset-gpios = <&expander5 6 GPIO_ACTIVE_LOW>; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; lt8713sx_dp_in: endpoint { remote-endpoint = <&mdss_dp0_out>; }; }; port@1 { reg = <1>; lt8713sx_dp0_out: endpoint { remote-endpoint = <&dp0_connector_in>; }; }; port@2 { reg = <2>; lt8713sx_dp1_out: endpoint { remote-endpoint = <&dp1_connector_in>; }; }; }; }; }; &i2c1 { pinctrl-0 = <&qup_i2c1_default>; pinctrl-names = "default"; status = "okay"; fan_controller: fan@18 { compatible = "ti,amc6821"; reg = <0x18>; #pwm-cells = <2>; fan { pwms = <&fan_controller 40000 PWM_POLARITY_INVERTED>; }; }; eeprom0: eeprom@50 { compatible = "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>; }; }; }; }; &i2c15 { pinctrl-0 = <&qup_i2c15_default>; pinctrl-names = "default"; status = "okay"; expander0: gpio@38 { compatible = "ti,tca9538"; reg = <0x38>; #gpio-cells = <2>; gpio-controller; #interrupt-cells = <2>; interrupt-controller; interrupts-extended = <&tlmm 56 IRQ_TYPE_LEVEL_LOW>; pinctrl-0 = <&expander0_int>; pinctrl-names = "default"; }; expander1: gpio@39 { compatible = "ti,tca9538"; reg = <0x39>; #gpio-cells = <2>; gpio-controller; #interrupt-cells = <2>; interrupt-controller; interrupts-extended = <&tlmm 16 IRQ_TYPE_LEVEL_LOW>; pinctrl-0 = <&expander1_int>; pinctrl-names = "default"; }; expander2: gpio@3a { compatible = "ti,tca9538"; reg = <0x3a>; #gpio-cells = <2>; gpio-controller; #interrupt-cells = <2>; interrupt-controller; interrupts-extended = <&tlmm 95 IRQ_TYPE_LEVEL_LOW>; pinctrl-0 = <&expander2_int>; pinctrl-names = "default"; }; expander3: gpio@3b { compatible = "ti,tca9538"; reg = <0x3b>; #gpio-cells = <2>; gpio-controller; #interrupt-cells = <2>; interrupt-controller; interrupts-extended = <&tlmm 24 IRQ_TYPE_LEVEL_LOW>; pinctrl-0 = <&expander3_int>; pinctrl-names = "default"; }; expander4: gpio@3c { compatible = "ti,tca9538"; reg = <0x3c>; #gpio-cells = <2>; gpio-controller; #interrupt-cells = <2>; interrupt-controller; interrupts-extended = <&tlmm 96 IRQ_TYPE_LEVEL_LOW>; pinctrl-0 = <&expander4_int>; pinctrl-names = "default"; }; expander5: gpio@3d { compatible = "ti,tca9538"; reg = <0x3d>; #gpio-cells = <2>; gpio-controller; #interrupt-cells = <2>; interrupt-controller; interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>; pinctrl-0 = <&expander5_int>; pinctrl-names = "default"; }; expander6: gpio@3e { compatible = "ti,tca9538"; reg = <0x3e>; #gpio-cells = <2>; gpio-controller; #interrupt-cells = <2>; interrupt-controller; interrupts-extended = <&tlmm 52 IRQ_TYPE_LEVEL_LOW>; pinctrl-0 = <&expander6_int>; pinctrl-names = "default"; }; }; &iris { status = "okay"; }; &mdss { status = "okay"; }; &mdss_dp0 { pinctrl-0 = <&dp_hot_plug_det>; pinctrl-names = "default"; status = "okay"; }; &mdss_dp0_out { data-lanes = <0 1 2 3>; link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>; remote-endpoint = <<8713sx_dp_in>; }; &mdss_dp0_phy { vdda-phy-supply = <&vreg_l5a>; vdda-pll-supply = <&vreg_l4a>; status = "okay"; }; &pcie0 { pinctrl-0 = <&pcie0_default_state>; pinctrl-names = "default"; status = "okay"; }; &pcie0_phy { vdda-phy-supply = <&vreg_l6a>; vdda-pll-supply = <&vreg_l5a>; status = "okay"; }; &pcie1 { pinctrl-0 = <&pcie1_default_state>; pinctrl-names = "default"; status = "okay"; }; &pcie1_phy { vdda-phy-supply = <&vreg_l6a>; vdda-pll-supply = <&vreg_l5a>; status = "okay"; }; &pcieport0 { reset-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>; wake-gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; }; &pcieport1 { reset-gpios = <&tlmm 23 GPIO_ACTIVE_LOW>; wake-gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>; }; &pmm8620au_0_gpios { usb2_id: usb2-id-state { pins = "gpio9"; function = "normal"; input-enable; bias-pull-up; power-source = <0>; }; }; &qup_i2c0_data_clk { drive-strength = <2>; bias-pull-up; }; &qupv3_id_0 { firmware-name = "qcom/qcs8300/qupv3fw.elf"; status = "okay"; }; &qupv3_id_1 { firmware-name = "qcom/qcs8300/qupv3fw.elf"; status = "okay"; }; &remoteproc_adsp { firmware-name = "qcom/qcs8300/adsp.mbn"; status = "okay"; }; &remoteproc_cdsp { firmware-name = "qcom/qcs8300/cdsp0.mbn"; status = "okay"; }; &remoteproc_gpdsp { firmware-name = "qcom/qcs8300/gpdsp0.mbn"; status = "okay"; }; &sdhc_1 { vmmc-supply = <&vreg_l8a>; vqmmc-supply = <&vreg_s2s>; no-sd; no-sdio; non-removable; status = "okay"; }; &serdes0 { phy-supply = <&vreg_l4a>; status = "okay"; }; &spi10 { status = "okay"; tpm@0 { compatible = "st,st33htpm-spi", "tcg,tpm_tis-spi"; reg = <0>; spi-max-frequency = <20000000>; }; }; &tlmm { pcie0_default_state: pcie0-default-state { wake-pins { pins = "gpio0"; function = "gpio"; drive-strength = <2>; bias-pull-up; }; 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; }; }; ethernet0_default: ethernet0-default-state { ethernet0_mdc: ethernet0-mdc-pins { pins = "gpio5"; function = "emac0_mdc"; drive-strength = <16>; bias-pull-up; }; ethernet0_mdio: ethernet0-mdio-pins { pins = "gpio6"; function = "emac0_mdio"; drive-strength = <16>; bias-pull-up; }; }; expander5_int: expander5-int-state { pins = "gpio3"; function = "gpio"; bias-pull-up; }; expander1_int: expander1-int-state { pins = "gpio16"; function = "gpio"; bias-pull-up; }; qup_i2c1_default: qup-i2c1-state { pins = "gpio19", "gpio20"; function = "qup0_se1"; drive-strength = <2>; bias-pull-up; }; pcie1_default_state: pcie1-default-state { wake-pins { pins = "gpio21"; function = "gpio"; drive-strength = <2>; bias-pull-up; }; clkreq-pins { pins = "gpio22"; function = "pcie1_clkreq"; drive-strength = <2>; bias-pull-up; }; perst-pins { pins = "gpio23"; function = "gpio"; drive-strength = <2>; bias-pull-up; }; }; expander3_int: expander3-int-state { pins = "gpio24"; function = "gpio"; bias-pull-up; }; expander6_int: expander6-int-state { pins = "gpio52"; function = "gpio"; bias-pull-up; }; expander0_int: expander0-int-state { pins = "gpio56"; function = "gpio"; bias-pull-up; }; cam0_avdd_2v8_en_default: cam0-avdd-2v8-en-state { pins = "gpio73"; function = "gpio"; drive-strength = <2>; bias-disable; }; cam1_avdd_2v8_en_default: cam1-avdd-2v8-en-state { pins = "gpio74"; function = "gpio"; drive-strength = <2>; bias-disable; }; cam2_avdd_2v8_en_default: cam2-avdd-2v8-en-state { pins = "gpio75"; function = "gpio"; drive-strength = <2>; bias-disable; }; qup_i2c15_default: qup-i2c15-state { pins = "gpio91", "gpio92"; function = "qup1_se7"; drive-strength = <2>; bias-pull-up; }; expander2_int: expander2-int-state { pins = "gpio95"; function = "gpio"; bias-pull-up; }; expander4_int: expander4-int-state { pins = "gpio96"; function = "gpio"; bias-pull-up; }; }; &uart6 { status = "okay"; }; &uart7 { status = "okay"; }; &ufs_mem_hc { reset-gpios = <&tlmm 133 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_l5a>; status = "okay"; }; &usb_1 { dr_mode = "peripheral"; status = "okay"; }; &usb_1_hsphy { vdda-pll-supply = <&vreg_l7a>; vdda18-supply = <&vreg_l7c>; vdda33-supply = <&vreg_l9a>; status = "okay"; }; &usb_qmpphy { vdda-phy-supply = <&vreg_l7a>; vdda-pll-supply = <&vreg_l5a>; status = "okay"; }; &usb_2 { status = "okay"; }; &usb_2_dwc3_hs { remote-endpoint = <&usb2_con_hs_ep>; }; &usb_2_hsphy { vdda-pll-supply = <&vreg_l7a>; vdda18-supply = <&vreg_l7c>; vdda33-supply = <&vreg_l9a>; status = "okay"; };