[OpenWrt-Devel] [PATCH] ramips: mt7621: Add new device AsiaRF AP7621-001
Christian Lamparter
chunkeey at gmail.com
Mon Jun 24 16:17:37 EDT 2019
On Monday, June 24, 2019 6:13:20 PM CEST Daniel Danzberger wrote:
> SoC: Mediatek MT7621A
> CPU: 4x 880Mhz
> Cache: 32 KB I-Cache and 32 KB D-Cach
> 256 KB L2 Cache (shared by Dual-Core)
> RAM: DDR3 512MB 16bits BUS
> FLASH: 16MB
> Switch: Mediatek Gigabit Switch (1 x LAN, 1 x WAN)
> USB: 1x 3.0
> PCI: 3x Mini PCIe
> GPS: Quectel L70B
> BTN: Reset
> LED: - Power
> - Ethernet
> - Wifi
> - USB
> UART: UART is present as Pads with throughholes on the PCB.
> They are located on left side.
> 3.3V - RX - GND - TX / 57600-8N1
> 3.3V is the square pad
>
> Installation
> ------------
> The stock image is a modified openwrt and can be overflashed via sysupgrade -F
>
> Signed-off-by: Daniel Danzberger <daniel at dd-wrt.com>
> ---
> .../ramips/base-files/etc/board.d/02_network | 3 +
> target/linux/ramips/dts/AP7621-001.dts | 127 ++++++++++++++++++
> target/linux/ramips/image/mt7621.mk | 10 ++
> 3 files changed, 140 insertions(+)
> create mode 100644 target/linux/ramips/dts/AP7621-001.dts
>
> diff --git a/target/linux/ramips/base-files/etc/board.d/02_network b/target/linux/ramips/base-files/etc/board.d/02_network
> index 52204eacbf..ffd1689263 100755
> --- a/target/linux/ramips/base-files/etc/board.d/02_network
> +++ b/target/linux/ramips/base-files/etc/board.d/02_network
> @@ -39,6 +39,9 @@ ramips_setup_interfaces()
> ucidef_add_switch "switch0" \
> "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan:5" "6 at eth0"
> ;;
> + asiarf,ap7621-001)
> + ucidef_add_switch "switch0" "0:lan" "4:wan" "6 at eth0"
> + ;;
> 3g150b|\
> 3g300m|\
> a5-v11|\
> diff --git a/target/linux/ramips/dts/AP7621-001.dts b/target/linux/ramips/dts/AP7621-001.dts
> new file mode 100644
> index 0000000000..daab06ec90
> --- /dev/null
> +++ b/target/linux/ramips/dts/AP7621-001.dts
> @@ -0,0 +1,127 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> +
> +/dts-v1/;
> +#include "mt7621.dtsi"
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> + compatible = "asiarf,ap7621-001", "mediatek,mt7621-soc";
> + model = "AP7621-001";
Oh boy, this is tricky.
<https://github.com/devicetree-org/devicetree-specification/blob/4b1dac80eaca45b4babf5299452a951008a5d864/source/devicenodes.rst>
'The recommended format ' (for the root node!) ' is "manufacturer,model-number".'
BUT. Thing is, this string here gets printed on the LuCI system
page and from past experience "Manugacturer Model" works best.
> +
> + memory at 0 {
> + device_type = "memory";
> + reg = <0x0 0x1c000000>, <0x20000000 0x4000000>;
> + };
> +
> + chosen {
> + bootargs = "console=ttyS0,57600";
> + };
> +
> + keys {
> + compatible = "gpio-keys";
> +
> + reset {
> + label = "reset";
> + gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
> + linux,code = <KEY_RESTART>;
> + };
> + };
> +
> + leds {
> + compatible = "gpio-leds";
> +
> + wlan1 {
> + label = "ap7621-001:orange:wlan1";
> + gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
> + };
> +
> + wlan0 {
> + label = "ap7621-001:orange:wlan0";
> + gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
> + };
> + };
> +};
> +
> +&sdhci {
> + status = "okay";
> +};
> +
> +&spi0 {
> + status = "okay";
please use tabs here.
> +
> + flash at 0 {
> + compatible = "jedec,spi-nor";
> + reg = <0>;
> + spi-max-frequency = <40000000>;
> +
> + partitions {
this needs one more tab.
> + compatible = "fixed-partitions";
> + #address-cells = <1>;
please use tabs to ident most of the properies
for the rest of the node. (scripts/checkpatch.pl will
catch those lines)
> + #size-cells = <1>;
> +
> + partition at 0 {
> + label = "u-boot";
> + reg = <0x0 0x30000>;
> + read-only;
> + };
> +
> + partition at 30000 {
> + label = "u-boot-env";
> + reg = <0x30000 0x2000>;
needs read-only;
> + };
> +
> + partition at 32000 {
> + label = "2860";
> + reg = <0x32000 0x4000>;
needs read-only;
> + };
> +
> + partition at 36000 {
> + label = "rtdev";
> + reg = <0x36000 0x2000>;
needs read-only;
> + };
> +
> + partition at 38000 {
> + label = "Reserve";
> + reg = <0x38000 0x8000>;
needs read-only;
> + };
> +
> + factory: partition at 40000 {
> + label = "factory";
> + reg = <0x40000 0x10000>;
> + read-only;
> + };
> +
> + firmware: partition at 50000 {
> + label = "firmware";
> + reg = <0x50000 0xfa0000>;
> + compatible = "denx,uimage";
> + };
> +
> + partition at ff0000 {
> + label = "nvram";
> + reg = <0xff0000 0x10000>;
needs read-only;
> + };
> + };
> + };
> +};
> +
> +&pcie {
> + status = "okay";
> +};
> +
> +ðernet {
> + mtd-mac-address = <&factory 0xe000>;
> + mediatek,portmap = "llllw";
> +};
> +
> +&pinctrl {
> + state_default: pinctrl0 {
> + gpio {
> + ralink,group = "wdt", "jtag";
> + ralink,function = "gpio";
> + };
> + };
> +};
> +
> diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
> index 2eb7feb5bf..c1e445f84c 100644
> --- a/target/linux/ramips/image/mt7621.mk
> +++ b/target/linux/ramips/image/mt7621.mk
> @@ -640,3 +640,13 @@ define Device/zbt-wg3526-32M
> kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
> endef
> TARGET_DEVICES += zbt-wg3526-32M
> +
> +define Device/asiarf_ap7621-001
> + DTS := AP7621-001
> + IMAGE_SIZE := $(ralink_default_fw_size_16M)
> + DEVICE_TITLE := AsiaRF AP7621-001
> + DEVICE_PACKAGES := \
> + kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3
> +endef
> +TARGET_DEVICES += asiarf_ap7621-001
> +
>
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list