blob: ca14f0ea4dae60e5247cec796d76737db0654afd [file] [edit]
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
*/
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
#include "monaco.dtsi"
#include "monaco-pmics.dtsi"
#include "monaco-monza-som.dtsi"
/ {
model = "Arduino VENTUNO Q";
compatible = "arduino,monza", "qcom,qcs8300";
aliases {
ethernet0 = &ethernet0;
i2c1 = &i2c1;
serial0 = &uart7;
};
chosen {
stdout-path = "serial0:115200n8";
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-0 = <&gpio_keys_default>;
pinctrl-names = "default";
button-home {
label = "Home Key";
linux,code = <KEY_HOMEPAGE>;
gpios = <&tlmm 79 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
hdmi-connector {
compatible = "hdmi-connector";
label = "hdmi";
type = "a";
port {
hdmi_connector_in: endpoint {
remote-endpoint = <&adv7535_out>;
};
};
};
sound {
compatible = "qcom,qcs8275-sndcard";
model = "arduino-monza";
audio-routing = "IN12", "Headset Mic12",
"Headset Mic12", "MICBIAS",
"IN56", "Headset Mic56",
"Headset Mic56", "MICBIAS",
"MIC1", "MICBIAS",
"Headphone", "HPL",
"Headphone", "HPR",
"Receiver", "RCVL",
"Receiver", "RCVR",
"Speaker", "SPKL",
"Speaker", "SPKR";
pinctrl-0 = <&quad_mi2s_active>, <&quad_mclk_active>, <&lpi_i2s4_active>;
pinctrl-names = "default";
pri-i2s-playback-dai-link {
link-name = "Analog Playback";
codec {
sound-dai = <&max98091>;
};
cpu {
sound-dai = <&q6apmbedai 137>;
};
platform {
sound-dai = <&q6apm>;
};
};
pri-i2s-capture-dai-link {
link-name = "Analog Capture";
codec {
sound-dai = <&max98091>;
};
cpu {
sound-dai = <&q6apmbedai 138>;
};
platform {
sound-dai = <&q6apm>;
};
};
hdmi-mi2s-playback-dai-link {
link-name = "HDMI Playback";
codec {
sound-dai = <&adv7535>;
};
cpu {
sound-dai = <&q6apmbedai 145>;
};
platform {
sound-dai = <&q6apm>;
};
};
};
vdc_3v3: regulator-3v3 {
compatible = "regulator-fixed";
regulator-name = "vdc_3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
vdc_1v8: regulator-1v8 {
compatible = "regulator-fixed";
regulator-name = "vdc_1v8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
vdc_5v: regulator-5v0 {
compatible = "regulator-fixed";
regulator-name = "vdc_5v";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&tlmm 49 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-always-on;
startup-delay-us = <20000>;
};
vreg_nvme: regulator-3p3-m2 {
compatible = "regulator-fixed";
regulator-name = "vreg_m2_3p3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&tlmm 51 GPIO_ACTIVE_HIGH>;
enable-active-high;
startup-delay-us = <20000>;
};
};
&ethernet0 {
phy-mode = "2500base-x";
phy-handle = <&hsgmii_phy0>;
pinctrl-0 = <&ethernet0_default>;
pinctrl-names = "default";
snps,mtl-rx-config = <&mtl_rx_setup>;
snps,mtl-tx-config = <&mtl_tx_setup>;
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 50 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>;
};
};
};
&i2c12 {
clock-frequency = <400000>;
status = "okay";
max98091: audio-codec@10 {
compatible = "maxim,max98091";
reg = <0x10>;
pinctrl-0 = <&max98091_default>;
pinctrl-names = "default";
interrupts-extended = <&tlmm 16 IRQ_TYPE_LEVEL_HIGH>; /* GPIO_16 */
clocks = <&q6prmcc LPASS_CLK_ID_MCLK_3 LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
clock-names = "mclk";
#sound-dai-cells = <0>;
};
adv7535: bridge@3d {
compatible = "adi,adv7535";
reg = <0x3d>;
pinctrl-0 = <&adv7535_default>;
pinctrl-names = "default";
interrupts-extended = <&tlmm 93 IRQ_TYPE_EDGE_FALLING>;
avdd-supply = <&vdc_1v8>;
dvdd-supply = <&vdc_1v8>;
pvdd-supply = <&vdc_1v8>;
a2vdd-supply = <&vdc_1v8>;
v3p3-supply = <&vdc_3v3>;
v1p2-supply = <&vdc_1v8>;
adi,dsi-lanes = <4>;
#sound-dai-cells = <0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
adv7535_in: endpoint {
remote-endpoint = <&mdss_dsi0_out>;
};
};
port@1 {
reg = <1>;
adv7535_out: endpoint {
remote-endpoint = <&hdmi_connector_in>;
};
};
};
};
};
&mdss {
status = "okay";
};
&mdss_dp0 {
status = "okay";
};
&mdss_dp0_out {
data-lanes = <0 1 2 3>;
link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
};
&mdss_dp0_phy {
status = "okay";
};
&mdss_dsi0 {
status = "okay";
};
&mdss_dsi0_out {
remote-endpoint = <&adv7535_in>;
data-lanes = <0 1 2 3>;
};
&mdss_dsi0_phy {
status = "okay";
};
&pcie0 {
pinctrl-0 = <&pcie0_default_state>;
pinctrl-names = "default";
vddpe-3v3-supply = <&vdc_3v3>;
};
&pcie1 {
pinctrl-0 = <&pcie1_default_state>;
pinctrl-names = "default";
vddpe-3v3-supply = <&vreg_nvme>;
};
&pcieport0 {
reset-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
pci@0,0 {
#address-cells = <3>;
#size-cells = <2>;
device_type = "pci";
bus-range = <0x01 0xff>;
ranges;
reg = <0x010000 0x00 0x00 0x00 0x00>;
pci@2,0 {
#address-cells = <3>;
#size-cells = <2>;
device_type = "pci";
bus-range = <0x00 0xff>;
ranges;
reg = <0x021000 0x00 0x00 0x00 0x00>;
usb@0 {
compatible = "pci104c,8241";
reg = <0 0 0 0 0>;
ti,pwron-active-high;
};
};
};
};
&pcieport1 {
reset-gpios = <&tlmm 23 GPIO_ACTIVE_LOW>;
};
&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;
};
};
max98091_default: max98091-default-state {
pins = "gpio16";
function = "gpio";
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;
};
};
gpio_keys_default: gpio-keys-default-state {
pins = "gpio79";
function = "gpio";
bias-disable;
};
adv7535_default: adv7535-default-state {
pins = "gpio93";
function = "gpio";
bias-pull-up;
};
};
&uart7 {
status = "okay";
};
&usb_1 {
status = "okay";
};
/* Internally connected to the MCU (e.g. for DFU). */
&usb_2 {
dr_mode = "host";
status = "okay";
};