The calibration data and mac addresses on this device are stored in the 0:ART partition. It is therefore possible to move the code to handle them directly to the devicetree instead of the various scripts. But the actual relevant information about the partition layout is provided by the bootloader via bootargs (mtdparts) and not via the devicetree itself. Instead of using a fixed-partition template, the mtd dynamic partitions support from the upstream kernel is used. Reported-by: Robert Marko <robert.marko@sartura.hr> Signed-off-by: Sven Eckelmann <sven@narfation.org>
201 lines
3.5 KiB
Plaintext
201 lines
3.5 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
|
/* Copyright (c) 2017-2020, Sven Eckelmann <sven@narfation.org>
|
|
* Copyright (c) 2018, Marek Lindner <marek.lindner@kaiwoo.ai>
|
|
*/
|
|
|
|
#include "qcom-ipq4019.dtsi"
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/input/input.h>
|
|
#include <dt-bindings/soc/qcom,tcsr.h>
|
|
|
|
/ {
|
|
model = "Plasma Cloud PA1200";
|
|
compatible = "plasmacloud,pa1200";
|
|
|
|
soc {
|
|
rng@22000 {
|
|
status = "okay";
|
|
};
|
|
|
|
mdio@90000 {
|
|
status = "okay";
|
|
};
|
|
|
|
tcsr@194b000 {
|
|
/* select hostmode */
|
|
compatible = "qcom,tcsr";
|
|
reg = <0x194b000 0x100>;
|
|
qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>;
|
|
status = "okay";
|
|
};
|
|
|
|
tcsr@1949000 {
|
|
compatible = "qcom,tcsr";
|
|
reg = <0x1949000 0x100>;
|
|
qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
|
|
};
|
|
|
|
ess_tcsr@1953000 {
|
|
compatible = "qcom,tcsr";
|
|
reg = <0x1953000 0x1000>;
|
|
qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
|
|
};
|
|
|
|
tcsr@1957000 {
|
|
compatible = "qcom,tcsr";
|
|
reg = <0x1957000 0x100>;
|
|
qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
|
|
};
|
|
|
|
usb2: usb2@60f8800 {
|
|
status = "okay";
|
|
};
|
|
|
|
crypto@8e3a000 {
|
|
status = "okay";
|
|
};
|
|
|
|
watchdog@b017000 {
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
keys {
|
|
compatible = "gpio-keys";
|
|
|
|
reset {
|
|
label = "reset";
|
|
gpios = <&tlmm 59 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_RESTART>;
|
|
};
|
|
};
|
|
|
|
aliases {
|
|
led-boot = &led_status_purple;
|
|
led-failsafe = &led_status_yellow;
|
|
led-running = &led_status_cyan;
|
|
led-upgrade = &led_status_yellow;
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
|
|
led_status_cyan: status_cyan {
|
|
label = "cyan:status";
|
|
gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
led_status_purple: status_purple {
|
|
label = "purple:status";
|
|
gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
led_status_yellow: status_yellow {
|
|
label = "yellow:status";
|
|
gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
};
|
|
|
|
};
|
|
|
|
&tlmm {
|
|
serial_pins: serial_pinmux {
|
|
mux {
|
|
pins = "gpio60", "gpio61";
|
|
function = "blsp_uart0";
|
|
bias-disable;
|
|
};
|
|
};
|
|
|
|
spi_0_pins: spi_0_pinmux {
|
|
pin {
|
|
function = "blsp_spi0";
|
|
pins = "gpio55", "gpio56", "gpio57";
|
|
drive-strength = <12>;
|
|
bias-disable;
|
|
};
|
|
pin_cs {
|
|
function = "gpio";
|
|
pins = "gpio54";
|
|
drive-strength = <2>;
|
|
bias-disable;
|
|
output-high;
|
|
};
|
|
};
|
|
};
|
|
|
|
&blsp_dma {
|
|
status = "okay";
|
|
};
|
|
|
|
&blsp1_spi1 {
|
|
pinctrl-0 = <&spi_0_pins>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>;
|
|
|
|
flash@0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "jedec,spi-nor";
|
|
reg = <0>;
|
|
spi-max-frequency = <24000000>;
|
|
|
|
/* partitions are passed via bootloader */
|
|
partitions {
|
|
partition-art {
|
|
compatible = "nvmem-cells";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
label = "0:ART";
|
|
|
|
precal_art_1000: precal@1000 {
|
|
reg = <0x1000 0x2f20>;
|
|
};
|
|
|
|
precal_art_5000: precal@5000 {
|
|
reg = <0x5000 0x2f20>;
|
|
};
|
|
|
|
macaddr_gmac0: macaddr@0 {
|
|
reg = <0x0 0x6>;
|
|
};
|
|
|
|
macaddr_gmac1: macaddr@6 {
|
|
reg = <0x6 0x6>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&blsp1_uart1 {
|
|
pinctrl-0 = <&serial_pins>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
};
|
|
|
|
&cryptobam {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb2_hs_phy {
|
|
status = "okay";
|
|
};
|
|
|
|
&wifi0 {
|
|
status = "okay";
|
|
qcom,ath10k-calibration-variant = "PlasmaCloud-PA1200";
|
|
|
|
nvmem-cell-names = "pre-calibration";
|
|
nvmem-cells = <&precal_art_1000>;
|
|
};
|
|
|
|
&wifi1 {
|
|
status = "okay";
|
|
qcom,ath10k-calibration-variant = "PlasmaCloud-PA1200";
|
|
|
|
nvmem-cell-names = "pre-calibration";
|
|
nvmem-cells = <&precal_art_5000>;
|
|
};
|