[OpenWrt-Devel] [PATCH] ramips: add support to JS76x8 development board
Mathias Kresin
dev at kresin.me
Sat Dec 29 05:10:57 EST 2018
Hey Robinson,
find my comments inline.
Mathias
05/12/2018 06:25, robinson:
> This commit adds support for the ZhuoTK JS76x8 development board,
> The device has the following specifications:
>
> - SOC:MT7628AN/NN or MT7688AN (580MHz)
> - RAM:64/128/256 MB (DDR2)
> - FLASH:8/16/32 MB (SPI NOR)
> - 3x 10/100 Mbps ethernet ports (MT7628/MT7688 built-in switch)
> - 1x 2T2R 2.4 GHz Wi-Fi (MT7628), 1T1R 2.4 GHz Wi-Fi (MT7688)
> - 1x microSD slot
> - 4x USB 2.0 port
> - 4x red/green/blue/yellow color LEDs (GPIO-controlled)
> - 5x green LED (GPIO-controlled)
> - 4x button
> - 1x mini-usb debug UART
> - 1x DC jack for main power (DC 5V)
> - 1x TTL/RS232 UART
> - 1x TLL/RS485 UART
> - 13x GPIO header
> - 1x audio codec(wm8960)
> - 1x IR 1T1R
>
> Other notes:
>
> 1. The board is available with different amounts of RAM and flash. Chose
> the right configuration in make menuconfig to fit the board you have.
You only add support for one configuration, which option should be there
for chosing the right image?
>
> For more information vist www.zhuotk.com
>
> Signed-off-by: robinson <wurobinson at qq.com>
We need your full name in the Signed-off-by. Furthermore, the install
instructions are missing in the commit message. Have a look at
https://openwrt.org/submitting-patches for further details.
> ---
> target/linux/ramips/base-files/etc/board.d/01_leds | 4 ++
> .../linux/ramips/base-files/etc/board.d/02_network | 1 +
> target/linux/ramips/base-files/lib/ramips.sh | 3 ++
> .../ramips/base-files/lib/upgrade/platform.sh | 1 +
> target/linux/ramips/dts/JS76x8-16M-128M.dts | 57 +++++++++++++++++++++
> target/linux/ramips/dts/JS76x8.dtsi | 59 ++++++++++++++++++++++
> target/linux/ramips/image/mt76x8.mk | 9 ++++
> 7 files changed, 134 insertions(+)
> create mode 100644 target/linux/ramips/dts/JS76x8-16M-128M.dts
> create mode 100644 target/linux/ramips/dts/JS76x8.dtsi
>
> diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds b/target/linux/ramips/base-files/etc/board.d/01_leds
> index b2c69d4..ef404d3 100755
> --- a/target/linux/ramips/base-files/etc/board.d/01_leds
> +++ b/target/linux/ramips/base-files/etc/board.d/01_leds
> @@ -184,6 +184,10 @@ ht-tm02)
> ucidef_set_led_netdev "eth" "Ethernet" "$boardname:green:lan" "eth0"
> set_wifi_led "$boardname:blue:wlan"
> ;;
> +js76x8-16m-128m)
Use the first compatible from the dts file ("zhuotk,js76x8-16m-128m") as
userspace boardname, as all recently added board to the ramips target do.
> + ucidef_set_led_timer "system" "system" "zhuotk:green:system" "1000" "1000"
> + set_wifi_led "zhuotk:green:wifi"
> + ;;
> kimax,u35wf)
> set_wifi_led "$boardname:blue:wifi"
> ucidef_set_led_netdev "eth" "ETH" "$boardname:green:eth" "eth0"
> 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 3af836a..ba8c702 100755
> --- a/target/linux/ramips/base-files/etc/board.d/02_network
> +++ b/target/linux/ramips/base-files/etc/board.d/02_network
> @@ -94,6 +94,7 @@ ramips_setup_interfaces()
> hc5661a|\
> hc5962|\
> hlk-rm04|\
> + js76x8-16m-128m|\
> k2p|\
> kn|\
> kn_rc|\
> diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh
> index 307ab35..80fd0f6 100755
> --- a/target/linux/ramips/base-files/lib/ramips.sh
> +++ b/target/linux/ramips/base-files/lib/ramips.sh
> @@ -259,6 +259,9 @@ ramips_board_detect() {
> *"JHR-N926R")
> name="jhr-n926r"
> ;;
> + *"JS76x8 (16MB flash/128MB RAM)")
> + name="js76x8-16m-128m"
> + ;;
Can be dropped as soon as you use the compatible from the dts as
userspace boardname.
> *"K2P")
> name="k2p"
> ;;
> diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh
> index 120cf83..1c686ba 100755
> --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
> +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
> @@ -235,6 +235,7 @@ platform_check_image() {
> zbt-wg3526-16M|\
> zbt-wg3526-32M|\
> zbt-wr8305rt|\
> + js76x8-16m-128m|\
You can drop this one, it isn't required anymore.
> zorlik,zl5900v2|\
> zte-q7|\
> zyxel,keenetic-extra-ii|\
> diff --git a/target/linux/ramips/dts/JS76x8-16M-128M.dts b/target/linux/ramips/dts/JS76x8-16M-128M.dts
> new file mode 100644
> index 0000000..7a08490
> --- /dev/null
> +++ b/target/linux/ramips/dts/JS76x8-16M-128M.dts
> @@ -0,0 +1,57 @@
> +/dts-v1/;
> +
> +
> +#include "JS76x8.dtsi"
> +
> +
> +/ {
> + compatible = "zhuotk,js76x8", "zhuotk,js76x8-16m-128m", "mediatek,mt7628an-soc";
wrong order. From most to least specific.
> + model = "JS76x8 (16MB flash/128MB RAM)";
> +
> + memory at 0 {
> + device_type = "memory";
> + reg = <0x0 0x8000000>;
> +
> + };
> +};
> +
> +&spi0 {
> + status = "okay";
> +
> + m25p80 at 0 {
flash@
> + compatible = "jedec,spi-nor";
> + reg = <0>;
> + spi-max-frequency = <10000000>;
> + m25p,chunked-io = <32>;
> +
> + partitions {
> + compatible = "fixed-partitions";
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + partition at 0 {
> + label = "u-boot";
> + reg = <0x0 0x30000>;
> + read-only;
> + };
> +
> + partition at 30000 {
> + label = "u-boot-env";
> + reg = <0x30000 0x10000>;
> + read-only;
> + };
> +
> + factory: partition at 40000 {
> + label = "factory";
> + reg = <0x40000 0x10000>;
> + read-only;
> + };
> +
> + partition at 50000 {
> + compatible = "denx,uimage";
> + label = "firmware";
> + reg = <0x50000 0xfb0000>;
At least here you have a spaces vs. tabs issues. Please check all your
changes to make sure to use tabs only.
> + };
> + };
> + };
> +};
> diff --git a/target/linux/ramips/dts/JS76x8.dtsi b/target/linux/ramips/dts/JS76x8.dtsi
> new file mode 100644
> index 0000000..e060c98
> --- /dev/null
> +++ b/target/linux/ramips/dts/JS76x8.dtsi
> @@ -0,0 +1,59 @@
> +/dts-v1/;
> +
> +#include "mt7628an.dtsi"
Please include dt-bindings/gpio/gpio.h
(http://lxr.free-electrons.com/source/include/dt-bindings/gpio/gpio.h?v=4.4)
here as well and keep alphabetical order.
Use the GPIO_ACTIVE_LOW and GPIO_ACTIVE_HIGH macros afterwards in stead
of 1 and 0 in the gpio parameters.
Check the recent ramips board additions for examples.
> +
> +/ {
> + compatible = "mediatek,mt7628an-eval-board", "mediatek,mt7628an-soc";
This isn't for sure the mt7628an eval board. Use "zhuotk,js76x8" instead.
> +
> + aliases {
> + led-boot = &led_system;
> + led-failsafe = &led_system;
> + led-running = &led_system;
> + led-upgrade = &led_system;
> + };
> +
> + chosen {
> + bootargs = "console=ttyS0,115200";
> + };
> +
> + gpio-leds {
commit message mentions 9 leds but only two are added.
> + compatible = "gpio-leds";
> +
> + led_system: system {
> + label = "zhuotk:green:system";
The led namings follows the follow pattern: <board>:<colour>:<function>.
Should be "js76x8:<colour>:<function>" here.
> + gpios = <&gpio1 5 1>; > + default-state = "off";
Drop the default-state = off. It is the default.
> + };
I somehow miss the buttons mentioned in the commit message.
> +
> + wifi {
> + label = "zhuotk:green:wifi";
> + gpios = <&gpio1 7 1>;
> + default-state = "off";
> + };
> + };
> +};
> +
> +&pinctrl {
> + state_default: pinctrl0 {
> + refclk {
> + ralink,group = "refclk";
Her is for sure something missing. refclk covers only a single pin but
two (gpio) leds are defined. Please get the groups which need to be
switched to gpio mode from
> + ralink,function = "gpio";
> + };
> + };
> +};
> +
> +&wmac {
> + status = "okay";
> +};
> +
> +&spi0 {
> + status = "okay";
> +};
What is connected to the spi? I can't find anything in the commit message.
> +
> +&wmac {
> + status = "okay";
> +};
Added twice.
> +
> +ðernet {
> + mtd-mac-address = <&factory 0x28>;
> +};
> diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk
> index d2f402e..087f5ba 100644
> --- a/target/linux/ramips/image/mt76x8.mk
> +++ b/target/linux/ramips/image/mt76x8.mk
> @@ -76,6 +76,15 @@ define Device/hiwifi_hc5861b
> endef
> TARGET_DEVICES += hiwifi_hc5861b
>
> +define Device/js76x8-16m-128m
> + DTS := JS76x8-16M-128M
> + IMAGE_SIZE := $(ralink_default_fw_size_16M)
ralink_default_fw_size_16M=16121856 but your firmware partition is
0xfb0000 == 16449536.
> + SUPPORTED_DEVICES := js76x8-16m-128m
> + DEVICE_TITLE :=ZhuoTK JS76x8 (16M flash/128M RAM)
> + DEVICE_PACKAGES:= kmod-usb2 kmod-usb-ohci uboot-envtools
Adding the u-boot env tools without any configuration for this board
doesn't make much sense.
> +endef
> +TARGET_DEVICES += js76x8-16m-128m
> +
> define Device/LinkIt7688
> DTS := LINKIT7688
> IMAGE_SIZE := $(ralink_default_fw_size_32M)
>
_______________________________________________
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