mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-25 04:23:46 +00:00
0ddabb6830
Currently for all Qcom SoCs/boards there are separate compatibles for GPIO and pinctrl. But this is inconsistent with official (upstream) Linux bindings which requires only a single compatible "qcom,<SoC name>-pinctrl" and there is no such compatible property as "qcom,tlmm-<SoC name>". So fix this inconsistency for Qcom SoCs in order to comply with upstream DT bindings. This is done via removing compatibles from "msm_gpio" driver and via binding to "msm_gpio" driver from pinctrl driver in case "gpio-controller" property is specified for pinctrl node. Suggested-by: Stephan Gerhold <stephan@gerhold.net> Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
199 lines
4.7 KiB
Text
199 lines
4.7 KiB
Text
// SPDX-License-Identifier: GPL-2.0+
|
|
/*
|
|
* Qualcomm QCS404 based evaluation board device tree source
|
|
*
|
|
* (C) Copyright 2022 Sumit Garg <sumit.garg@linaro.org>
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include "skeleton64.dtsi"
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/pinctrl/pinctrl-snapdragon.h>
|
|
#include <dt-bindings/clock/qcom,gcc-qcs404.h>
|
|
|
|
/ {
|
|
model = "Qualcomm Technologies, Inc. QCS404 EVB";
|
|
compatible = "qcom,qcs404-evb", "qcom,qcs404";
|
|
#address-cells = <0x2>;
|
|
#size-cells = <0x2>;
|
|
|
|
chosen {
|
|
stdout-path = "serial0:115200n8";
|
|
};
|
|
|
|
aliases {
|
|
serial0 = &debug_uart;
|
|
};
|
|
|
|
memory {
|
|
device_type = "memory";
|
|
reg = <0 0x80000000 0 0x40000000>;
|
|
};
|
|
|
|
soc {
|
|
#address-cells = <0x1>;
|
|
#size-cells = <0x1>;
|
|
ranges = <0x0 0x0 0x0 0xffffffff>;
|
|
compatible = "simple-bus";
|
|
|
|
pinctrl_north@1300000 {
|
|
compatible = "qcom,qcs404-pinctrl";
|
|
reg = <0x1300000 0x200000>;
|
|
|
|
blsp1_uart2: uart {
|
|
pins = "GPIO_17", "GPIO_18";
|
|
function = "blsp_uart2";
|
|
};
|
|
};
|
|
|
|
gcc: clock-controller@1800000 {
|
|
compatible = "qcom,gcc-qcs404";
|
|
reg = <0x1800000 0x80000>;
|
|
#address-cells = <0x1>;
|
|
#size-cells = <0x0>;
|
|
#clock-cells = <1>;
|
|
};
|
|
|
|
reset: gcc-reset@1800000 {
|
|
compatible = "qcom,gcc-reset-qcs404";
|
|
reg = <0x1800000 0x80000>;
|
|
#reset-cells = <1>;
|
|
};
|
|
|
|
debug_uart: serial@78b1000 {
|
|
compatible = "qcom,msm-uartdm-v1.4";
|
|
reg = <0x78b1000 0x200>;
|
|
clock = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
|
|
<&gcc GCC_BLSP1_AHB_CLK>;
|
|
bit-rate = <0xFF>;
|
|
pinctrl-names = "uart";
|
|
pinctrl-0 = <&blsp1_uart2>;
|
|
};
|
|
|
|
sdhci@7804000 {
|
|
compatible = "qcom,sdhci-msm-v5";
|
|
reg = <0x7804000 0x1000 0x7805000 0x1000>;
|
|
clock = <&gcc GCC_SDCC1_APPS_CLK>,
|
|
<&gcc GCC_SDCC1_AHB_CLK>;
|
|
bus-width = <0x8>;
|
|
index = <0x0>;
|
|
non-removable;
|
|
mmc-ddr-1_8v;
|
|
mmc-hs400-1_8v;
|
|
};
|
|
|
|
usb3_phy: phy@78000 {
|
|
compatible = "qcom,usb-ss-28nm-phy";
|
|
#phy-cells = <0>;
|
|
reg = <0x78000 0x400>;
|
|
clocks = <&gcc GCC_USB_HS_PHY_CFG_AHB_CLK>,
|
|
<&gcc GCC_USB3_PHY_PIPE_CLK>;
|
|
clock-names = "ahb", "pipe";
|
|
resets = <&reset GCC_USB3_PHY_BCR>,
|
|
<&reset GCC_USB3PHY_PHY_BCR>;
|
|
reset-names = "com", "phy";
|
|
};
|
|
|
|
usb2_phy_prim: phy@7a000 {
|
|
compatible = "qcom,usb-hs-28nm-femtophy";
|
|
#phy-cells = <0>;
|
|
reg = <0x7a000 0x200>;
|
|
clocks = <&gcc GCC_USB_HS_PHY_CFG_AHB_CLK>,
|
|
<&gcc GCC_USB2A_PHY_SLEEP_CLK>;
|
|
clock-names = "ahb", "sleep";
|
|
resets = <&reset GCC_USB_HS_PHY_CFG_AHB_BCR>,
|
|
<&reset GCC_USB2A_PHY_BCR>;
|
|
reset-names = "phy", "por";
|
|
};
|
|
|
|
usb2_phy_sec: phy@7c000 {
|
|
compatible = "qcom,usb-hs-28nm-femtophy";
|
|
#phy-cells = <0>;
|
|
reg = <0x7c000 0x200>;
|
|
clocks = <&gcc GCC_USB_HS_PHY_CFG_AHB_CLK>,
|
|
<&gcc GCC_USB2A_PHY_SLEEP_CLK>;
|
|
clock-names = "ahb", "sleep";
|
|
resets = <&reset GCC_QUSB2_PHY_BCR>,
|
|
<&reset GCC_USB2_HS_PHY_ONLY_BCR>;
|
|
reset-names = "phy", "por";
|
|
};
|
|
|
|
usb3: usb@7678800 {
|
|
compatible = "qcom,dwc3";
|
|
reg = <0x7678800 0x400>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
clocks = <&gcc GCC_USB30_MASTER_CLK>,
|
|
<&gcc GCC_SYS_NOC_USB3_CLK>,
|
|
<&gcc GCC_USB30_SLEEP_CLK>,
|
|
<&gcc GCC_USB30_MOCK_UTMI_CLK>;
|
|
clock-names = "core", "iface", "sleep", "mock_utmi";
|
|
|
|
dwc3@7580000 {
|
|
compatible = "snps,dwc3";
|
|
reg = <0x7580000 0xcd00>;
|
|
phys = <&usb2_phy_prim>, <&usb3_phy>;
|
|
phy-names = "usb2-phy", "usb3-phy";
|
|
dr_mode = "host";
|
|
snps,has-lpm-erratum;
|
|
snps,hird-threshold = /bits/ 8 <0x10>;
|
|
snps,usb3_lpm_capable;
|
|
maximum-speed = "super-speed";
|
|
};
|
|
};
|
|
|
|
usb2: usb@79b8800 {
|
|
compatible = "qcom,dwc3";
|
|
reg = <0x79b8800 0x400>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>,
|
|
<&gcc GCC_PCNOC_USB2_CLK>,
|
|
<&gcc GCC_USB_HS_INACTIVITY_TIMERS_CLK>,
|
|
<&gcc GCC_USB20_MOCK_UTMI_CLK>;
|
|
clock-names = "core", "iface", "sleep", "mock_utmi";
|
|
|
|
dwc3@78c0000 {
|
|
compatible = "snps,dwc3";
|
|
reg = <0x78c0000 0xcc00>;
|
|
phys = <&usb2_phy_sec>;
|
|
phy-names = "usb2-phy";
|
|
dr_mode = "peripheral";
|
|
snps,has-lpm-erratum;
|
|
snps,hird-threshold = /bits/ 8 <0x10>;
|
|
snps,usb3_lpm_capable;
|
|
maximum-speed = "high-speed";
|
|
};
|
|
};
|
|
|
|
spmi@200f000 {
|
|
compatible = "qcom,spmi-pmic-arb";
|
|
reg = <0x200f000 0x1000
|
|
0x2400000 0x400000
|
|
0x2c00000 0x400000>;
|
|
#address-cells = <0x1>;
|
|
#size-cells = <0x1>;
|
|
|
|
pms405_0: pms405@0 {
|
|
compatible = "qcom,spmi-pmic";
|
|
reg = <0x0 0x1>;
|
|
#address-cells = <0x1>;
|
|
#size-cells = <0x1>;
|
|
|
|
pms405_gpios: pms405_gpios@c000 {
|
|
compatible = "qcom,pms405-gpio";
|
|
reg = <0xc000 0x400>;
|
|
gpio-controller;
|
|
gpio-count = <12>;
|
|
#gpio-cells = <2>;
|
|
gpio-bank-name="pmic";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
#include "qcs404-evb-uboot.dtsi"
|