mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 10:09:10 +02:00
ARM: dts: zte: zx297520v3 device tree for 7.2
This pull request adds board bindings and DTS files for ZTE zx297520v3 boards as well as one initial device (D-Link DWR 932M) based on this board. -----BEGIN PGP SIGNATURE----- iQJPBAABCAA5FiEEQxb0tqoFWyeVMl1sPRO8yFRPGiIFAmoE5xIbFIAAAAAABAAO bWFudTIsMi41KzEuMTIsMiwyAAoJED0TvMhUTxoidE4P/1mFb3l21g0lYAGxCZPC 27k4XgZ+j+wH/x210XI/5ghgU0YLcNuXd/ydDk3GhRFdPZR7HDGiGpGjwF/RVgAQ 5zubGhQDOr7qZyBIzgDUXvYYXyF7NymEFgPCbRxCspeTF0+GNS6eKxYo8vhHgque 74m+F+BcBFmxs8hRu+pkC/jrmihD/PfmyLa/w9PK5kysNhByt5CLnvwhEqAQ/sHV JY5M1mwvvQuvRMZsrYVojx9dGbaE7NnoXkIJr1gr8OngnVSHN8eTtlbXMuYVXX6a U3eUbUJnpB2R4hJy+rZNmReAyYO/HQLh9BMYr0maXjZAAYCzBmL7xDLgFeua8zse qWfrGFK1eraVSyfhsHbUSbBkYrEkwadRMzFV+QheRaNucU5/DK0G+RoiOeE4f/uB xUMYY+FCqEyjf5wLatmQ4i/ogqX13etSHUZwzPz24Ny/bPuKwiNFj2+qlHiDYGwJ tOuei/Ib4DJXKpRYVmTVv/xH4oIGLQLNeYV9d49cqVu5GqqCHU/4uXCS0El/WIfV ihxoy+gSyLdLY7QghlicZM3R+5mLLh0FsBI6lQJU/I0lzJJOEFe+KLCk3hFl5F71 GzL8tkxB9VBkqJRJ2MRmjOTejpGaI6agHH0gVUkB+7B2CnA/e0nTyDLnDTcvtWS6 lfrEleo+RT9YS9gGOLOOxSo7 =leHo -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmoOCWEACgkQmmx57+YA GNkkzw/7B+GQBxkkwp8Y9AXLMRsHw0XbHTNuzGsqrbG98mNqXV7V/PqajNwV1QGp 7uzV+rYjI5bP0hMRKUaLuQ4y1iKkxaJUaiRmWmDGVOxBYwvqLH/J++H2Al5Xd7Br HiAvZaLsGQcE7D0qUFnqs3HnhdkiD5o+tO43tnxx9MDkupY0IKtEvOuWZhBcNNVC i+qkDploaGMkWrGiRopFdJlHlQil/Yn2TrDUMtHDP3zT4QAqpdS85ogd2b/YvP3D BLOnbwsKSTbd1iU7OUvvxKTgNH4S7N1TDvg8Ei40EU122dw3gDajM97r9e1uxmdC u/x0NnwAmDQ3bUAfaoTSzOPx8CJOVrPG2+ef7cHnfSIUBD1l+hpymr37USfi0ioL Jz5AKivDpaIHKQLzlqYJhjhs0TJSphtaDEpxbNzksVnqfxq7MX4d2lakjBF86846 oo1ITGpdkhV/IDtFi7Z5hklk7D4UY+UiDFdBJuoR/sIUVtysoktMkqxawoXGwNMz nEbnE8mISQZn5q1A+tX0RAcpdB3tQAMepl020SCz6BkFg/sW3lkw9V+Cov8WI7M9 sgRObKjqBmFCzivkbZhMXILXJErY0re68VA48LE241BD+YpcpOweOFiMabduRmvs AwyAwyJ1/UK64d1CH8v7T+HsmuUJA5mHGpuAuYPMks99QjhP0no= =A0MX -----END PGP SIGNATURE----- Merge tag 'zx29-dts-for-7.2' of https://gitlab.com/stefandoesinger/zx297520-kernel into soc/dt ARM: dts: zte: zx297520v3 device tree for 7.2 This pull request adds board bindings and DTS files for ZTE zx297520v3 boards as well as one initial device (D-Link DWR 932M) based on this board. * tag 'zx29-dts-for-7.2' of https://gitlab.com/stefandoesinger/zx297520-kernel: ARM: dts: zte: Add D-Link DWR-932M support dt-bindings: arm: zte: Add D-Link DWR932M board based on zx297520v3 SoC Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
commit
e8a53f2d9c
26
Documentation/devicetree/bindings/arm/zte.yaml
Normal file
26
Documentation/devicetree/bindings/arm/zte.yaml
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/arm/zte.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: ZTE zx platforms
|
||||
|
||||
maintainers:
|
||||
- Stefan Dösinger <stefandoesinger@gmail.com>
|
||||
|
||||
description: |
|
||||
ARM platforms using SoCs designed by ZTE. Currently this supports devices
|
||||
based on the zx297520v3 SoC which is found in LTE routers.
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
const: "/"
|
||||
compatible:
|
||||
oneOf:
|
||||
- items:
|
||||
- enum:
|
||||
- dlink,dwr932m
|
||||
- const: zte,zx297520v3
|
||||
|
||||
additionalProperties: true
|
||||
|
|
@ -39,3 +39,4 @@ subdir-y += unisoc
|
|||
subdir-y += vt8500
|
||||
subdir-y += xen
|
||||
subdir-y += xilinx
|
||||
subdir-y += zte
|
||||
|
|
|
|||
3
arch/arm/boot/dts/zte/Makefile
Normal file
3
arch/arm/boot/dts/zte/Makefile
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
dtb-$(CONFIG_SOC_ZX297520V3) += \
|
||||
zx297520v3-dlink-dwr932m.dtb
|
||||
22
arch/arm/boot/dts/zte/zx297520v3-dlink-dwr932m.dts
Normal file
22
arch/arm/boot/dts/zte/zx297520v3-dlink-dwr932m.dts
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2026 Stefan Dösinger <stefandoesinger@gmail.com>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "zx297520v3.dtsi"
|
||||
|
||||
/ {
|
||||
model = "D-Link DWR-932M";
|
||||
compatible = "dlink,dwr932m", "zte,zx297520v3";
|
||||
|
||||
memory@20000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x20000000 0x04000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
status = "okay";
|
||||
};
|
||||
103
arch/arm/boot/dts/zte/zx297520v3.dtsi
Normal file
103
arch/arm/boot/dts/zte/zx297520v3.dtsi
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2026 Stefan Dösinger <stefandoesinger@gmail.com>
|
||||
*/
|
||||
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
/ {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cpu@0 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53";
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Base bus clock and default for the UART. It will be replaced once a clock driver has
|
||||
* been added.
|
||||
*/
|
||||
uartclk: uartclk-26000000 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <26000000>;
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv7-timer";
|
||||
interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
|
||||
<GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
|
||||
<GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
|
||||
<GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
|
||||
clock-frequency = <26000000>;
|
||||
interrupt-parent = <&gic>;
|
||||
/* I don't think uboot sets CNTVOFF and the stock kernel doesn't use the
|
||||
* arm timer at all. Since this is a single CPU system I don't think it
|
||||
* really matters that the offset is random though.
|
||||
*/
|
||||
arm,cpu-registers-not-fw-configured;
|
||||
};
|
||||
|
||||
soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "simple-bus";
|
||||
interrupt-parent = <&gic>;
|
||||
ranges;
|
||||
|
||||
/* The GIC has a non-standard way of configuring ints between level-low/level
|
||||
* high or rising edge/falling edge at 0xf2202070 and onwards. See AP_INT_MODE_BASE
|
||||
* and AP_PPI_MODE_REG in the ZTE kernel, although the offsets in the kernel source
|
||||
* seem wrong.
|
||||
*
|
||||
* Everything defaults to active-high/rising edge, but the timer is active-low. We
|
||||
* currently rely on the boot loader to change timer IRQs to active-low for us for
|
||||
* now.
|
||||
*/
|
||||
gic: interrupt-controller@f2000000 {
|
||||
compatible = "arm,gic-v3";
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <3>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0xf2000000 0x10000>,
|
||||
<0xf2040000 0x20000>;
|
||||
};
|
||||
|
||||
uart0: serial@131000 {
|
||||
compatible = "arm,pl011", "arm,primecell";
|
||||
arm,primecell-periphid = <0x0018c011>;
|
||||
reg = <0x00131000 0x1000>;
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&uartclk>, <&uartclk>;
|
||||
clock-names = "uartclk", "apb_pclk";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart1: serial@1408000 {
|
||||
compatible = "arm,pl011", "arm,primecell";
|
||||
arm,primecell-periphid = <0x0018c011>;
|
||||
reg = <0x01408000 0x1000>;
|
||||
interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&uartclk>, <&uartclk>;
|
||||
clock-names = "uartclk", "apb_pclk";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart2: serial@140d000 {
|
||||
compatible = "arm,pl011", "arm,primecell";
|
||||
arm,primecell-periphid = <0x0018c011>;
|
||||
reg = <0x0140d000 0x1000>;
|
||||
interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&uartclk>, <&uartclk>;
|
||||
clock-names = "uartclk", "apb_pclk";
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
Loading…
Reference in New Issue
Block a user