arm64: dts: qcom: Add initial QTI RB1 device tree

Add an initial device tree for the QTI RB1 development board, based on
the QRB2210 (QCM2290 derivative) SoC. This device tree targets the SoM
revision 4, a.k.a. the Mass Production SKU.

To get a successful boot, run:

cat arch/arm64/boot/Image.gz arch/arm64/boot/dts/qcom/qrb2210-rb1.dtb >\
.Image.gz-dtb

mkbootimg \
--kernel .Image.gz-dtb \
--ramdisk some_initrd \
--output rb1-boot.img \
--pagesize 4096 \
--base 0x8000 \
--cmdline 'some cmdline'

fastboot boot rb1-boot.img

There's no dtbo or other craziness to worry about.
For the best dev experience, you can erase boot and use fastboot boot
everytime, so that the bootloader doesn't mess with you.

If you have a SoM revision 3 or older (there should be a sticker on it
with text like -r00, where r is the revision), you will need to apply
this additional diff:

aliases {
-   serial0 = &uart0;
+   serial0 = &uart4;

/* UART connected to the Micro-USB port via a FTDI chip */
-   &uart0 {
+   &uart4 {

That should however only concern preproduction boards.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230403-topic-rb1_qcm-v2-5-dae06f8830dc@linaro.org
This commit is contained in:
Konrad Dybcio 2023-04-05 17:50:34 +02:00 committed by Bjorn Andersson
parent c309b9a540
commit e187719613
2 changed files with 113 additions and 0 deletions

View File

@ -72,6 +72,7 @@ dtb-$(CONFIG_ARCH_QCOM) += msm8998-xiaomi-sagit.dtb
dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb
dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb
dtb-$(CONFIG_ARCH_QCOM) += qdu1000-idp.dtb
dtb-$(CONFIG_ARCH_QCOM) += qrb2210-rb1.dtb
dtb-$(CONFIG_ARCH_QCOM) += qrb5165-rb5.dtb
dtb-$(CONFIG_ARCH_QCOM) += qrb5165-rb5-vision-mezzanine.dtb
dtb-$(CONFIG_ARCH_QCOM) += qru1000-idp.dtb

View File

@ -0,0 +1,112 @@
// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
/*
* Copyright (c) 2023, Linaro Ltd
*/
/dts-v1/;
#include "qcm2290.dtsi"
#include "pm2250.dtsi"
/ {
model = "Qualcomm Technologies, Inc. Robotics RB1";
compatible = "qcom,qrb2210-rb1", "qcom,qrb2210", "qcom,qcm2290";
aliases {
serial0 = &uart0;
sdhc1 = &sdhc_1;
sdhc2 = &sdhc_2;
};
chosen {
stdout-path = "serial0:115200n8";
};
gpio-keys {
compatible = "gpio-keys";
label = "gpio-keys";
pinctrl-0 = <&key_volp_n>;
pinctrl-names = "default";
key-volume-up {
label = "Volume Up";
linux,code = <KEY_VOLUMEUP>;
gpios = <&tlmm 96 GPIO_ACTIVE_LOW>;
debounce-interval = <15>;
linux,can-disable;
wakeup-source;
};
};
};
&pm2250_resin {
linux,code = <KEY_VOLUMEDOWN>;
status = "okay";
};
&qupv3_id_0 {
status = "okay";
};
&sdhc_1 {
pinctrl-0 = <&sdc1_state_on>;
pinctrl-1 = <&sdc1_state_off>;
pinctrl-names = "default", "sleep";
non-removable;
supports-cqe;
no-sdio;
no-sd;
status = "okay";
};
&sdhc_2 {
cd-gpios = <&tlmm 88 GPIO_ACTIVE_LOW>;
pinctrl-0 = <&sdc2_state_on &sd_det_in_on>;
pinctrl-1 = <&sdc2_state_off &sd_det_in_off>;
pinctrl-names = "default", "sleep";
no-sdio;
no-mmc;
status = "okay";
};
&tlmm {
sd_det_in_on: sd-det-in-on-state {
pins = "gpio88";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
sd_det_in_off: sd-det-in-off-state {
pins = "gpio88";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
key_volp_n: key-volp-n-state {
pins = "gpio96";
function = "gpio";
bias-pull-up;
output-disable;
};
};
/* UART connected to the Micro-USB port via a FTDI chip */
&uart0 {
compatible = "qcom,geni-debug-uart";
status = "okay";
};
&usb {
status = "okay";
};
&usb_hsphy {
status = "okay";
};
&xo_board {
clock-frequency = <38400000>;
};