mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-11-04 20:38:17 +00:00
ipq807x: Add support for Plasma Cloud PAX1800 v1
Device specifications:
======================
* Qualcomm IPQ6000
* 256 MB of RAM
* 64 MB of SPI NOR flash
- 2x 28 MB available; but one of the 28 MB regions is the recovery image
* 2T2R 2.4 GHz Wi-Fi (11ax)
* 2T2R 5 GHz Wi-Fi (11ax)
* multi-color LED (controlled via red/green/blue GPIOs)
* 1x GPIO-button (reset)
* external h/w watchdog (enabled by default))
* TTL pins are on board
* 2x ethernet
- eth0
+ 1000 Mbps Ethernet
+ used as LAN interface
- eth1
+ 1000 Mbps Ethernet
+ 802.3at POE
+ used as WAN interface
* 12 2A DC
* internal antennas
This device is not exported via a profile in TIP because there were
concerns about the 256MB limitations. But the actual OpenWrt support is
still added for interested parties.
Flashing instructions:
======================
Various methods can be used to install the actual image on the flash.
Two easy ones are:
ap51-flash
----------
The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.
initramfs from TFTP
-------------------
The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):
setenv serverip 192.168.1.21
setenv ipaddr 192.168.1.1
setenv bootargs 'console=ttyMSM0,115200n8 rootfstype=squashfs,jffs2 board=PAX1800 root=31:10 mtdparts=spi32766.0:768k(0:SBL1),64k(0:MIBIB),1664k(0:QSEE),64k(0:DEVCFG),128k(0:RPM),64k(0:CDT),64k(0:APPSBLENV),640k(0:APPSBL),256k(0:ART),28672k(inactive),28672k(inactive2),64k(custom),64k(0:KEYS),2304k(0:WIFIFW)'
tftpboot <filename-of-initramfs-kernel>.bin && bootm
The actual sysupgrade image can then be transferred (on the LAN port) to the
device via
scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/
On the device, the sysupgrade must then be started using
sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin
Signed-off-by: Sven Eckelmann <sven@narfation.org>
This commit is contained in:
committed by
John Crispin
parent
128bd3a17e
commit
3e692ed95a
@@ -35,6 +35,7 @@ qcom_setup_interfaces()
|
|||||||
yuncore,ax840|\
|
yuncore,ax840|\
|
||||||
motorola,q14|\
|
motorola,q14|\
|
||||||
sercomm,wallaby|\
|
sercomm,wallaby|\
|
||||||
|
plasmacloud,pax1800-v1|\
|
||||||
plasmacloud,pax1800-v2)
|
plasmacloud,pax1800-v2)
|
||||||
ucidef_set_interface_lan "eth0"
|
ucidef_set_interface_lan "eth0"
|
||||||
ucidef_set_interface_wan "eth1"
|
ucidef_set_interface_wan "eth1"
|
||||||
|
|||||||
@@ -108,6 +108,7 @@ case "$FIRMWARE" in
|
|||||||
qcom,ipq6018-cp01|\
|
qcom,ipq6018-cp01|\
|
||||||
xiaomi,ax1800|\
|
xiaomi,ax1800|\
|
||||||
glinet,ax1800|\
|
glinet,ax1800|\
|
||||||
|
plasmacloud,pax1800-v1|\
|
||||||
plasmacloud,pax1800-v2)
|
plasmacloud,pax1800-v2)
|
||||||
caldata_extract "0:ART" 0x1000 0x20000
|
caldata_extract "0:ART" 0x1000 0x20000
|
||||||
;;
|
;;
|
||||||
@@ -175,6 +176,7 @@ ath11k-macs)
|
|||||||
cig,wf194c)
|
cig,wf194c)
|
||||||
ath11k_generate_macs_wf194
|
ath11k_generate_macs_wf194
|
||||||
;;
|
;;
|
||||||
|
plasmacloud,pax1800-v1|\
|
||||||
plasmacloud,pax1800-v2)
|
plasmacloud,pax1800-v2)
|
||||||
ath11k_generate_macs_pax1800
|
ath11k_generate_macs_pax1800
|
||||||
;;
|
;;
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ platform_do_upgrade_dualboot_datachk() {
|
|||||||
# boot anymore to Linux until it was reflashed with ap51-flash.
|
# boot anymore to Linux until it was reflashed with ap51-flash.
|
||||||
local next_boot_part="1"
|
local next_boot_part="1"
|
||||||
case "$(board_name)" in
|
case "$(board_name)" in
|
||||||
|
plasmacloud,pax1800-v1|\
|
||||||
plasmacloud,pax1800-v2)
|
plasmacloud,pax1800-v2)
|
||||||
primary_kernel_mtd=9
|
primary_kernel_mtd=9
|
||||||
;;
|
;;
|
||||||
|
|||||||
@@ -84,6 +84,7 @@ platform_check_image() {
|
|||||||
edgecore,eap106|\
|
edgecore,eap106|\
|
||||||
hfcl,ion4xi|\
|
hfcl,ion4xi|\
|
||||||
hfcl,ion4xe|\
|
hfcl,ion4xe|\
|
||||||
|
plasmacloud,pax1800-v1|\
|
||||||
plasmacloud,pax1800-v2|\
|
plasmacloud,pax1800-v2|\
|
||||||
tplink,ex227|\
|
tplink,ex227|\
|
||||||
tplink,ex447|\
|
tplink,ex447|\
|
||||||
@@ -162,6 +163,7 @@ platform_do_upgrade() {
|
|||||||
fi
|
fi
|
||||||
nand_upgrade_tar "$1"
|
nand_upgrade_tar "$1"
|
||||||
;;
|
;;
|
||||||
|
plasmacloud,pax1800-v1|\
|
||||||
plasmacloud,pax1800-v2)
|
plasmacloud,pax1800-v2)
|
||||||
PART_NAME="inactive"
|
PART_NAME="inactive"
|
||||||
platform_do_upgrade_dualboot_datachk "$1"
|
platform_do_upgrade_dualboot_datachk "$1"
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2019, The Linux Foundation. All rights reserved.
|
||||||
|
*
|
||||||
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
* copyright notice and this permission notice appear in all copies.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
|
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "../../../arm64/boot/dts/qcom/qcom-ipq6018-pax1800-v1.dts"
|
||||||
|
#include "qcom-ipq6018.dtsi"
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
/dts-v1/;
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2019, The Linux Foundation. All rights reserved.
|
||||||
|
*
|
||||||
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
* copyright notice and this permission notice appear in all copies.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
|
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "qcom-ipq6018-pax1800.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Plasma Cloud PAX1800 v1";
|
||||||
|
compatible = "plasmacloud,pax1800-v1", "qcom,ipq6018-cp03", "qcom,ipq6018";
|
||||||
|
};
|
||||||
@@ -15,304 +15,9 @@
|
|||||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "qcom-ipq6018.dtsi"
|
#include "qcom-ipq6018-pax1800.dtsi"
|
||||||
#include "qcom-ipq6018-rpm-regulator.dtsi"
|
|
||||||
#include "qcom-ipq6018-cpr-regulator.dtsi"
|
|
||||||
#include "qcom-ipq6018-cp-cpu.dtsi"
|
|
||||||
#include <dt-bindings/input/input.h>
|
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
#address-cells = <0x2>;
|
|
||||||
#size-cells = <0x2>;
|
|
||||||
model = "Plasma Cloud PAX1800 v2";
|
model = "Plasma Cloud PAX1800 v2";
|
||||||
compatible = "plasmacloud,pax1800-v2", "qcom,ipq6018-cp03", "qcom,ipq6018";
|
compatible = "plasmacloud,pax1800-v2", "qcom,ipq6018-cp03", "qcom,ipq6018";
|
||||||
|
|
||||||
interrupt-parent = <&intc>;
|
|
||||||
qcom,msm-id = <0x1A5 0x0>;
|
|
||||||
|
|
||||||
chosen {
|
|
||||||
bootargs = "console=ttyMSM0,115200,n8 rw init=/init";
|
|
||||||
bootargs-append = " swiotlb=1 coherent_pool=2M";
|
|
||||||
};
|
|
||||||
|
|
||||||
aliases {
|
|
||||||
serial0 = &blsp1_uart3;
|
|
||||||
/*
|
|
||||||
* Aliases as required by u-boot
|
|
||||||
* to patch MAC addresses
|
|
||||||
*/
|
|
||||||
ethernet0 = "/soc/dp1";
|
|
||||||
ethernet1 = "/soc/dp2";
|
|
||||||
|
|
||||||
led-boot = &led_status_green;
|
|
||||||
led-failsafe = &led_status_green;
|
|
||||||
led-running = &led_status_green;
|
|
||||||
led-upgrade = &led_status_green;
|
|
||||||
led-uplink = &led_status_blue;
|
|
||||||
};
|
|
||||||
|
|
||||||
gpio_keys {
|
|
||||||
compatible = "gpio-keys";
|
|
||||||
pinctrl-0 = <&button_pins>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
|
|
||||||
reset {
|
|
||||||
label = "reset";
|
|
||||||
linux,code = <KEY_RESTART>;
|
|
||||||
gpios = <&tlmm 24 GPIO_ACTIVE_LOW>;
|
|
||||||
linux,input-type = <1>;
|
|
||||||
debounce-interval = <60>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
leds {
|
|
||||||
compatible = "gpio-leds";
|
|
||||||
pinctrl-0 = <&leds_pins>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
|
|
||||||
status_red {
|
|
||||||
label = "red:status";
|
|
||||||
gpios = <&tlmm 25 GPIO_ACTIVE_HIGH>;
|
|
||||||
linux,default-trigger = "default-off";
|
|
||||||
};
|
|
||||||
|
|
||||||
led_status_green: status_green {
|
|
||||||
label = "green:status";
|
|
||||||
gpios = <&tlmm 35 GPIO_ACTIVE_HIGH>;
|
|
||||||
};
|
|
||||||
|
|
||||||
led_status_blue: status_blue {
|
|
||||||
label = "blue:status";
|
|
||||||
gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
|
|
||||||
linux,default-trigger = "default-off";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
watchdog {
|
|
||||||
compatible = "linux,wdt-gpio";
|
|
||||||
pinctrl-0 = <&watchdog_pins>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
gpios = <&tlmm 67 GPIO_ACTIVE_LOW>;
|
|
||||||
hw_algo = "toggle";
|
|
||||||
hw_margin_ms = <2000>;
|
|
||||||
always-running;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* +=========+==============+========================+
|
|
||||||
* | | | |
|
|
||||||
* | Region | Start Offset | Size |
|
|
||||||
* | | | |
|
|
||||||
* +--------+--------------+-------------------------+
|
|
||||||
* | | | |
|
|
||||||
* | | | |
|
|
||||||
* | | | |
|
|
||||||
* | | | |
|
|
||||||
* | Linux | 0x41000000 | 139MB |
|
|
||||||
* | | | |
|
|
||||||
* | | | |
|
|
||||||
* | | | |
|
|
||||||
* +--------+--------------+-------------------------+
|
|
||||||
* | TZ App | 0x49B00000 | 6MB |
|
|
||||||
* +--------+--------------+-------------------------+
|
|
||||||
*
|
|
||||||
* From the available 145 MB for Linux in the first 256 MB,
|
|
||||||
* we are reserving 6 MB for TZAPP.
|
|
||||||
*
|
|
||||||
* Refer arch/arm64/boot/dts/qcom/qcom-ipq6018-memory.dtsi
|
|
||||||
* for memory layout.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* TZAPP is enabled only in default memory profile */
|
|
||||||
#if !defined(__IPQ_MEM_PROFILE_256_MB__) && !defined(__IPQ_MEM_PROFILE_512_MB__)
|
|
||||||
reserved-memory {
|
|
||||||
tzapp:tzapp@49B00000 { /* TZAPPS */
|
|
||||||
no-map;
|
|
||||||
reg = <0x0 0x49B00000 0x0 0x00600000>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
|
|
||||||
&tlmm {
|
|
||||||
uart_pins: uart_pins {
|
|
||||||
mux {
|
|
||||||
pins = "gpio44", "gpio45";
|
|
||||||
function = "blsp2_uart";
|
|
||||||
drive-strength = <8>;
|
|
||||||
bias-pull-down;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
spi_0_pins: spi_0_pins {
|
|
||||||
mux {
|
|
||||||
pins = "gpio38", "gpio39", "gpio40", "gpio41";
|
|
||||||
function = "blsp0_spi";
|
|
||||||
drive-strength = <8>;
|
|
||||||
bias-pull-down;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
button_pins: button_pins {
|
|
||||||
reset_button {
|
|
||||||
pins = "gpio24";
|
|
||||||
function = "gpio";
|
|
||||||
drive-strength = <8>;
|
|
||||||
bias-pull-up;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
mdio_pins: mdio_pinmux {
|
|
||||||
mux_0 {
|
|
||||||
pins = "gpio64";
|
|
||||||
function = "mdc";
|
|
||||||
drive-strength = <8>;
|
|
||||||
bias-pull-up;
|
|
||||||
};
|
|
||||||
mux_1 {
|
|
||||||
pins = "gpio65";
|
|
||||||
function = "mdio";
|
|
||||||
drive-strength = <8>;
|
|
||||||
bias-pull-up;
|
|
||||||
};
|
|
||||||
mux_2 {
|
|
||||||
pins = "gpio75";
|
|
||||||
function = "gpio";
|
|
||||||
bias-pull-up;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
leds_pins: led_pinmux {
|
|
||||||
led_power_green {
|
|
||||||
pins = "gpio25";
|
|
||||||
function = "gpio";
|
|
||||||
drive-strength = <8>;
|
|
||||||
bias-pull-down;
|
|
||||||
};
|
|
||||||
led_power_blue {
|
|
||||||
pins = "gpio35";
|
|
||||||
function = "gpio";
|
|
||||||
drive-strength = <8>;
|
|
||||||
bias-pull-down;
|
|
||||||
};
|
|
||||||
led_power_red {
|
|
||||||
pins = "gpio37";
|
|
||||||
function = "gpio";
|
|
||||||
drive-strength = <8>;
|
|
||||||
bias-pull-down;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
watchdog_pins: watchdog_pinmux {
|
|
||||||
mux {
|
|
||||||
pins = "gpio67";
|
|
||||||
function = "gpio";
|
|
||||||
bias-none;
|
|
||||||
output-low;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
&soc {
|
|
||||||
mdio@90000 {
|
|
||||||
pinctrl-0 = <&mdio_pins>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
phy-reset-gpio = <&tlmm 75 0>;
|
|
||||||
status = "ok";
|
|
||||||
phy0: ethernet-phy@0 {
|
|
||||||
reg = <3>;
|
|
||||||
};
|
|
||||||
phy1: ethernet-phy@1 {
|
|
||||||
reg = <4>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
ess-switch@3a000000 {
|
|
||||||
switch_cpu_bmp = <0x1>; /* cpu port bitmap */
|
|
||||||
switch_lan_bmp = <0x08>; /* lan port bitmap */
|
|
||||||
switch_wan_bmp = <0x10>; /* wan port bitmap */
|
|
||||||
switch_inner_bmp = <0xc0>; /*inner port bitmap*/
|
|
||||||
switch_mac_mode = <0x0>; /* mac mode for uniphy instance0*/
|
|
||||||
switch_mac_mode1 = <0xff>; /* mac mode for uniphy instance1*/
|
|
||||||
switch_mac_mode2 = <0xff>; /* mac mode for uniphy instance2*/
|
|
||||||
qcom,port_phyinfo {
|
|
||||||
port@3 {
|
|
||||||
port_id = <3>;
|
|
||||||
phy_address = <4>;
|
|
||||||
};
|
|
||||||
port@4 {
|
|
||||||
port_id = <4>;
|
|
||||||
phy_address = <3>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
dp1 {
|
|
||||||
device_type = "network";
|
|
||||||
compatible = "qcom,nss-dp";
|
|
||||||
qcom,id = <3>;
|
|
||||||
reg = <0x3a001400 0x200>;
|
|
||||||
qcom,mactype = <0>;
|
|
||||||
local-mac-address = [000000000000];
|
|
||||||
qcom,link-poll = <1>;
|
|
||||||
qcom,phy-mdio-addr = <4>;
|
|
||||||
phy-mode = "sgmii";
|
|
||||||
};
|
|
||||||
|
|
||||||
dp2 {
|
|
||||||
device_type = "network";
|
|
||||||
compatible = "qcom,nss-dp";
|
|
||||||
qcom,id = <4>;
|
|
||||||
reg = <0x3a001600 0x200>;
|
|
||||||
qcom,mactype = <0>;
|
|
||||||
local-mac-address = [000000000000];
|
|
||||||
qcom,link-poll = <1>;
|
|
||||||
qcom,phy-mdio-addr = <3>;
|
|
||||||
phy-mode = "sgmii";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
&blsp1_uart3 {
|
|
||||||
pinctrl-0 = <&uart_pins>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
status = "ok";
|
|
||||||
};
|
|
||||||
|
|
||||||
&spi_0 {
|
|
||||||
pinctrl-0 = <&spi_0_pins>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
cs-select = <0>;
|
|
||||||
status = "ok";
|
|
||||||
|
|
||||||
m25p80@0 {
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <1>;
|
|
||||||
reg = <0>;
|
|
||||||
compatible = "n25q128a11";
|
|
||||||
linux,modalias = "m25p80", "n25q128a11";
|
|
||||||
spi-max-frequency = <50000000>;
|
|
||||||
use-default-sizes;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
&qpic_bam {
|
|
||||||
status = "ok";
|
|
||||||
};
|
|
||||||
|
|
||||||
&nss_crypto {
|
|
||||||
status = "ok";
|
|
||||||
};
|
|
||||||
|
|
||||||
/* TZAPP is enabled in default memory profile only */
|
|
||||||
#if !defined(__IPQ_MEM_PROFILE_256_MB__) && !defined(__IPQ_MEM_PROFILE_512_MB__)
|
|
||||||
&qseecom {
|
|
||||||
mem-start = <0x49B00000>;
|
|
||||||
mem-size = <0x600000>;
|
|
||||||
status = "ok";
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
&wifi0 {
|
|
||||||
status = "okay";
|
|
||||||
qcom,ath11k-calibration-variant = "PlasmaCloud-PAX1800";
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -0,0 +1,315 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2019, The Linux Foundation. All rights reserved.
|
||||||
|
*
|
||||||
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
* copyright notice and this permission notice appear in all copies.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
|
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "qcom-ipq6018.dtsi"
|
||||||
|
#include "qcom-ipq6018-rpm-regulator.dtsi"
|
||||||
|
#include "qcom-ipq6018-cpr-regulator.dtsi"
|
||||||
|
#include "qcom-ipq6018-cp-cpu.dtsi"
|
||||||
|
#include <dt-bindings/input/input.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
#address-cells = <0x2>;
|
||||||
|
#size-cells = <0x2>;
|
||||||
|
|
||||||
|
interrupt-parent = <&intc>;
|
||||||
|
qcom,msm-id = <0x1A5 0x0>;
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
bootargs = "console=ttyMSM0,115200,n8 rw init=/init";
|
||||||
|
bootargs-append = " swiotlb=1 coherent_pool=2M";
|
||||||
|
};
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
serial0 = &blsp1_uart3;
|
||||||
|
/*
|
||||||
|
* Aliases as required by u-boot
|
||||||
|
* to patch MAC addresses
|
||||||
|
*/
|
||||||
|
ethernet0 = "/soc/dp1";
|
||||||
|
ethernet1 = "/soc/dp2";
|
||||||
|
|
||||||
|
led-boot = &led_status_green;
|
||||||
|
led-failsafe = &led_status_green;
|
||||||
|
led-running = &led_status_green;
|
||||||
|
led-upgrade = &led_status_green;
|
||||||
|
led-uplink = &led_status_blue;
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio_keys {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
pinctrl-0 = <&button_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
|
||||||
|
reset {
|
||||||
|
label = "reset";
|
||||||
|
linux,code = <KEY_RESTART>;
|
||||||
|
gpios = <&tlmm 24 GPIO_ACTIVE_LOW>;
|
||||||
|
linux,input-type = <1>;
|
||||||
|
debounce-interval = <60>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
pinctrl-0 = <&leds_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
|
||||||
|
status_red {
|
||||||
|
label = "red:status";
|
||||||
|
gpios = <&tlmm 25 GPIO_ACTIVE_HIGH>;
|
||||||
|
linux,default-trigger = "default-off";
|
||||||
|
};
|
||||||
|
|
||||||
|
led_status_green: status_green {
|
||||||
|
label = "green:status";
|
||||||
|
gpios = <&tlmm 35 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
|
||||||
|
led_status_blue: status_blue {
|
||||||
|
label = "blue:status";
|
||||||
|
gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
|
||||||
|
linux,default-trigger = "default-off";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
watchdog {
|
||||||
|
compatible = "linux,wdt-gpio";
|
||||||
|
pinctrl-0 = <&watchdog_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
gpios = <&tlmm 67 GPIO_ACTIVE_LOW>;
|
||||||
|
hw_algo = "toggle";
|
||||||
|
hw_margin_ms = <2000>;
|
||||||
|
always-running;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* +=========+==============+========================+
|
||||||
|
* | | | |
|
||||||
|
* | Region | Start Offset | Size |
|
||||||
|
* | | | |
|
||||||
|
* +--------+--------------+-------------------------+
|
||||||
|
* | | | |
|
||||||
|
* | | | |
|
||||||
|
* | | | |
|
||||||
|
* | | | |
|
||||||
|
* | Linux | 0x41000000 | 139MB |
|
||||||
|
* | | | |
|
||||||
|
* | | | |
|
||||||
|
* | | | |
|
||||||
|
* +--------+--------------+-------------------------+
|
||||||
|
* | TZ App | 0x49B00000 | 6MB |
|
||||||
|
* +--------+--------------+-------------------------+
|
||||||
|
*
|
||||||
|
* From the available 145 MB for Linux in the first 256 MB,
|
||||||
|
* we are reserving 6 MB for TZAPP.
|
||||||
|
*
|
||||||
|
* Refer arch/arm64/boot/dts/qcom/qcom-ipq6018-memory.dtsi
|
||||||
|
* for memory layout.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* TZAPP is enabled only in default memory profile */
|
||||||
|
#if !defined(__IPQ_MEM_PROFILE_256_MB__) && !defined(__IPQ_MEM_PROFILE_512_MB__)
|
||||||
|
reserved-memory {
|
||||||
|
tzapp:tzapp@49B00000 { /* TZAPPS */
|
||||||
|
no-map;
|
||||||
|
reg = <0x0 0x49B00000 0x0 0x00600000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
&tlmm {
|
||||||
|
uart_pins: uart_pins {
|
||||||
|
mux {
|
||||||
|
pins = "gpio44", "gpio45";
|
||||||
|
function = "blsp2_uart";
|
||||||
|
drive-strength = <8>;
|
||||||
|
bias-pull-down;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
spi_0_pins: spi_0_pins {
|
||||||
|
mux {
|
||||||
|
pins = "gpio38", "gpio39", "gpio40", "gpio41";
|
||||||
|
function = "blsp0_spi";
|
||||||
|
drive-strength = <8>;
|
||||||
|
bias-pull-down;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
button_pins: button_pins {
|
||||||
|
reset_button {
|
||||||
|
pins = "gpio24";
|
||||||
|
function = "gpio";
|
||||||
|
drive-strength = <8>;
|
||||||
|
bias-pull-up;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
mdio_pins: mdio_pinmux {
|
||||||
|
mux_0 {
|
||||||
|
pins = "gpio64";
|
||||||
|
function = "mdc";
|
||||||
|
drive-strength = <8>;
|
||||||
|
bias-pull-up;
|
||||||
|
};
|
||||||
|
mux_1 {
|
||||||
|
pins = "gpio65";
|
||||||
|
function = "mdio";
|
||||||
|
drive-strength = <8>;
|
||||||
|
bias-pull-up;
|
||||||
|
};
|
||||||
|
mux_2 {
|
||||||
|
pins = "gpio75";
|
||||||
|
function = "gpio";
|
||||||
|
bias-pull-up;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
leds_pins: led_pinmux {
|
||||||
|
led_power_green {
|
||||||
|
pins = "gpio25";
|
||||||
|
function = "gpio";
|
||||||
|
drive-strength = <8>;
|
||||||
|
bias-pull-down;
|
||||||
|
};
|
||||||
|
led_power_blue {
|
||||||
|
pins = "gpio35";
|
||||||
|
function = "gpio";
|
||||||
|
drive-strength = <8>;
|
||||||
|
bias-pull-down;
|
||||||
|
};
|
||||||
|
led_power_red {
|
||||||
|
pins = "gpio37";
|
||||||
|
function = "gpio";
|
||||||
|
drive-strength = <8>;
|
||||||
|
bias-pull-down;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
watchdog_pins: watchdog_pinmux {
|
||||||
|
mux {
|
||||||
|
pins = "gpio67";
|
||||||
|
function = "gpio";
|
||||||
|
bias-none;
|
||||||
|
output-low;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&soc {
|
||||||
|
mdio@90000 {
|
||||||
|
pinctrl-0 = <&mdio_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
phy-reset-gpio = <&tlmm 75 0>;
|
||||||
|
status = "ok";
|
||||||
|
phy0: ethernet-phy@0 {
|
||||||
|
reg = <3>;
|
||||||
|
};
|
||||||
|
phy1: ethernet-phy@1 {
|
||||||
|
reg = <4>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ess-switch@3a000000 {
|
||||||
|
switch_cpu_bmp = <0x1>; /* cpu port bitmap */
|
||||||
|
switch_lan_bmp = <0x08>; /* lan port bitmap */
|
||||||
|
switch_wan_bmp = <0x10>; /* wan port bitmap */
|
||||||
|
switch_inner_bmp = <0xc0>; /*inner port bitmap*/
|
||||||
|
switch_mac_mode = <0x0>; /* mac mode for uniphy instance0*/
|
||||||
|
switch_mac_mode1 = <0xff>; /* mac mode for uniphy instance1*/
|
||||||
|
switch_mac_mode2 = <0xff>; /* mac mode for uniphy instance2*/
|
||||||
|
qcom,port_phyinfo {
|
||||||
|
port@3 {
|
||||||
|
port_id = <3>;
|
||||||
|
phy_address = <4>;
|
||||||
|
};
|
||||||
|
port@4 {
|
||||||
|
port_id = <4>;
|
||||||
|
phy_address = <3>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
dp1 {
|
||||||
|
device_type = "network";
|
||||||
|
compatible = "qcom,nss-dp";
|
||||||
|
qcom,id = <3>;
|
||||||
|
reg = <0x3a001400 0x200>;
|
||||||
|
qcom,mactype = <0>;
|
||||||
|
local-mac-address = [000000000000];
|
||||||
|
qcom,link-poll = <1>;
|
||||||
|
qcom,phy-mdio-addr = <4>;
|
||||||
|
phy-mode = "sgmii";
|
||||||
|
};
|
||||||
|
|
||||||
|
dp2 {
|
||||||
|
device_type = "network";
|
||||||
|
compatible = "qcom,nss-dp";
|
||||||
|
qcom,id = <4>;
|
||||||
|
reg = <0x3a001600 0x200>;
|
||||||
|
qcom,mactype = <0>;
|
||||||
|
local-mac-address = [000000000000];
|
||||||
|
qcom,link-poll = <1>;
|
||||||
|
qcom,phy-mdio-addr = <3>;
|
||||||
|
phy-mode = "sgmii";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&blsp1_uart3 {
|
||||||
|
pinctrl-0 = <&uart_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "ok";
|
||||||
|
};
|
||||||
|
|
||||||
|
&spi_0 {
|
||||||
|
pinctrl-0 = <&spi_0_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
cs-select = <0>;
|
||||||
|
status = "ok";
|
||||||
|
|
||||||
|
m25p80@0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
reg = <0>;
|
||||||
|
compatible = "n25q128a11";
|
||||||
|
linux,modalias = "m25p80", "n25q128a11";
|
||||||
|
spi-max-frequency = <50000000>;
|
||||||
|
use-default-sizes;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&qpic_bam {
|
||||||
|
status = "ok";
|
||||||
|
};
|
||||||
|
|
||||||
|
&nss_crypto {
|
||||||
|
status = "ok";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* TZAPP is enabled in default memory profile only */
|
||||||
|
#if !defined(__IPQ_MEM_PROFILE_256_MB__) && !defined(__IPQ_MEM_PROFILE_512_MB__)
|
||||||
|
&qseecom {
|
||||||
|
mem-start = <0x49B00000>;
|
||||||
|
mem-size = <0x600000>;
|
||||||
|
status = "ok";
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
&wifi0 {
|
||||||
|
status = "okay";
|
||||||
|
qcom,ath11k-calibration-variant = "PlasmaCloud-PAX1800";
|
||||||
|
};
|
||||||
@@ -101,6 +101,17 @@ define Device/plasmacloud_common_64k
|
|||||||
KERNEL += | pad-to $$(BLOCKSIZE)
|
KERNEL += | pad-to $$(BLOCKSIZE)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Device/plasmacloud_pax1800-v1
|
||||||
|
$(Device/plasmacloud_common_64k)
|
||||||
|
DEVICE_TITLE := Plasma Cloud PAX1800 v1
|
||||||
|
DEVICE_DTS := qcom-ipq6018-pax1800-v1
|
||||||
|
SUPPORTED_DEVICES := plasmacloud,pax1800-v1
|
||||||
|
DEVICE_DTS_CONFIG := config@cp03-c1
|
||||||
|
CE_TYPE := PAX1800
|
||||||
|
DEVICE_PACKAGES += ath11k-wifi-plasmacloud-pax1800
|
||||||
|
endef
|
||||||
|
TARGET_DEVICES += plasmacloud_pax1800-v1
|
||||||
|
|
||||||
define Device/plasmacloud_pax1800-v2
|
define Device/plasmacloud_pax1800-v2
|
||||||
$(Device/plasmacloud_common_64k)
|
$(Device/plasmacloud_common_64k)
|
||||||
DEVICE_TITLE := Plasma Cloud PAX1800 v2
|
DEVICE_TITLE := Plasma Cloud PAX1800 v2
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
From: Sven Eckelmann <sven@narfation.org>
|
From: Sven Eckelmann <sven@narfation.org>
|
||||||
Date: Mon, 14 Mar 2022 15:23:40 +0100
|
Date: Mon, 14 Mar 2022 15:23:40 +0100
|
||||||
Subject: om-fwupgradecfg-gen: Add support for Plasma Cloud PAX1800 v2
|
Subject: om-fwupgradecfg-gen: Add support for Plasma Cloud PAX1800 v1/v2
|
||||||
|
|
||||||
Signed-off-by: Sven Eckelmann <sven@narfation.org>
|
Signed-off-by: Sven Eckelmann <sven@narfation.org>
|
||||||
|
|
||||||
@@ -8,10 +8,11 @@ diff --git a/scripts/om-fwupgradecfg-gen.sh b/scripts/om-fwupgradecfg-gen.sh
|
|||||||
index bf7c047c5ba8e78ad4e43fa7edff2bb4bb3f4388..61617a0b772e1661a46f559380ffaf0b021c524d 100755
|
index bf7c047c5ba8e78ad4e43fa7edff2bb4bb3f4388..61617a0b772e1661a46f559380ffaf0b021c524d 100755
|
||||||
--- a/scripts/om-fwupgradecfg-gen.sh
|
--- a/scripts/om-fwupgradecfg-gen.sh
|
||||||
+++ b/scripts/om-fwupgradecfg-gen.sh
|
+++ b/scripts/om-fwupgradecfg-gen.sh
|
||||||
@@ -45,6 +45,12 @@ case $CE_TYPE in
|
@@ -45,6 +45,13 @@ case $CE_TYPE in
|
||||||
SIZE_FACTOR=1024
|
SIZE_FACTOR=1024
|
||||||
SIZE_FORMAT="0x%08x"
|
SIZE_FORMAT="0x%08x"
|
||||||
;;
|
;;
|
||||||
|
+ PAX1800|\
|
||||||
+ PAX1800v2)
|
+ PAX1800v2)
|
||||||
+ MAX_PART_SIZE=28672
|
+ MAX_PART_SIZE=28672
|
||||||
+ KERNEL_FLASH_ADDR=0x3a0000
|
+ KERNEL_FLASH_ADDR=0x3a0000
|
||||||
|
|||||||
Reference in New Issue
Block a user