mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-31 22:23:05 +00:00

Enable video nodes on the qcs8300-ride board. Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: Vikash Garodia <quic_vgarodia@quicinc.com> Link: https://lore.kernel.org/r/20250501-qcs8300_iris-v7-5-b229d5347990@quicinc.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
410 lines
8.9 KiB
Plaintext
410 lines
8.9 KiB
Plaintext
// SPDX-License-Identifier: BSD-3-Clause
|
|
/*
|
|
* Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
|
|
|
|
#include "qcs8300.dtsi"
|
|
#include "qcs8300-pmics.dtsi"
|
|
/ {
|
|
model = "Qualcomm Technologies, Inc. QCS8300 Ride";
|
|
compatible = "qcom,qcs8300-ride", "qcom,qcs8300";
|
|
chassis-type = "embedded";
|
|
|
|
aliases {
|
|
serial0 = &uart7;
|
|
};
|
|
|
|
chosen {
|
|
stdout-path = "serial0:115200n8";
|
|
};
|
|
|
|
regulator-usb2-vbus {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "USB2_VBUS";
|
|
gpio = <&pmm8650au_1_gpios 7 GPIO_ACTIVE_HIGH>;
|
|
pinctrl-0 = <&usb2_en>;
|
|
pinctrl-names = "default";
|
|
enable-active-high;
|
|
regulator-always-on;
|
|
};
|
|
};
|
|
|
|
&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 = <1800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_s9a: smps9 {
|
|
regulator-name = "vreg_s9a";
|
|
regulator-min-microvolt = <1352000>;
|
|
regulator-max-microvolt = <1352000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l3a: ldo3 {
|
|
regulator-name = "vreg_l3a";
|
|
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_l4a: ldo4 {
|
|
regulator-name = "vreg_l4a";
|
|
regulator-min-microvolt = <880000>;
|
|
regulator-max-microvolt = <912000>;
|
|
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 = <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_l6a: ldo6 {
|
|
regulator-name = "vreg_l6a";
|
|
regulator-min-microvolt = <880000>;
|
|
regulator-max-microvolt = <912000>;
|
|
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 = <880000>;
|
|
regulator-max-microvolt = <912000>;
|
|
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 = <2960000>;
|
|
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 = <3072000>;
|
|
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_s5c: smps5 {
|
|
regulator-name = "vreg_s5c";
|
|
regulator-min-microvolt = <1104000>;
|
|
regulator-max-microvolt = <1104000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
|
|
vreg_l1c: ldo1 {
|
|
regulator-name = "vreg_l1c";
|
|
regulator-min-microvolt = <300000>;
|
|
regulator-max-microvolt = <500000>;
|
|
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 = <904000>;
|
|
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_l6c: ldo6 {
|
|
regulator-name = "vreg_l6c";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
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 = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
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 = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
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 = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
regulator-allow-set-load;
|
|
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
RPMH_REGULATOR_MODE_HPM>;
|
|
};
|
|
};
|
|
};
|
|
|
|
ðernet0 {
|
|
phy-mode = "2500base-x";
|
|
phy-handle = <&phy0>;
|
|
|
|
pinctrl-0 = <ðernet0_default>;
|
|
pinctrl-names = "default";
|
|
|
|
snps,mtl-rx-config = <&mtl_rx_setup>;
|
|
snps,mtl-tx-config = <&mtl_tx_setup>;
|
|
snps,ps-speed = <1000>;
|
|
|
|
status = "okay";
|
|
|
|
mdio {
|
|
compatible = "snps,dwmac-mdio";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
phy0: phy@8 {
|
|
compatible = "ethernet-phy-id31c3.1c33";
|
|
reg = <0x8>;
|
|
device_type = "ethernet-phy";
|
|
interrupts-extended = <&tlmm 4 IRQ_TYPE_EDGE_FALLING>;
|
|
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>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&pmm8650au_1_gpios {
|
|
usb2_en: usb2-en-state {
|
|
pins = "gpio7";
|
|
function = "normal";
|
|
output-enable;
|
|
power-source = <0>;
|
|
};
|
|
};
|
|
|
|
&iris {
|
|
status = "okay";
|
|
};
|
|
|
|
&qupv3_id_0 {
|
|
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";
|
|
};
|
|
|
|
&serdes0 {
|
|
phy-supply = <&vreg_l5a>;
|
|
status = "okay";
|
|
};
|
|
|
|
&tlmm {
|
|
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;
|
|
};
|
|
};
|
|
};
|
|
|
|
&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_hsphy {
|
|
vdda-pll-supply = <&vreg_l7a>;
|
|
vdda18-supply = <&vreg_l7c>;
|
|
vdda33-supply = <&vreg_l9a>;
|
|
|
|
status = "okay";
|
|
};
|
|
|
|
&usb_2_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_1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb_1_dwc3 {
|
|
dr_mode = "peripheral";
|
|
};
|
|
|
|
&usb_2 {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb_2_dwc3 {
|
|
dr_mode = "host";
|
|
};
|