From c78e123d5a5e7c3baa74f326613a14f7e99a29a3 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Mon, 19 Oct 2020 14:47:45 +0200 Subject: [PATCH] rtl838x: various fixes * add d-link_dgs-1210-10p support * make sure mips16 is disabled * add a generic sub target * add proper cflags Signed-off-by: John Crispin --- include/target.mk | 1 + target/linux/rtl838x/Makefile | 3 + .../dts/rtl8382_d-link_dgs-1210-10p.dts | 231 ++++++++++++++++++ target/linux/rtl838x/generic/target.mk | 1 + target/linux/rtl838x/image/Makefile | 9 + 5 files changed, 245 insertions(+) create mode 100644 target/linux/rtl838x/dts/rtl8382_d-link_dgs-1210-10p.dts create mode 100644 target/linux/rtl838x/generic/target.mk diff --git a/include/target.mk b/include/target.mk index d593a5f0df64..31ce592c8bb7 100644 --- a/include/target.mk +++ b/include/target.mk @@ -199,6 +199,7 @@ ifeq ($(DUMP),1) CPU_CFLAGS_mips32 = -mips32 -mtune=mips32 CPU_CFLAGS_mips64 = -mips64 -mtune=mips64 -mabi=64 CPU_CFLAGS_mips64r2 = -mips64r2 -mtune=mips64r2 -mabi=64 + CPU_CFLAGS_4kec = -mips32r2 -mtune=4kec CPU_CFLAGS_24kc = -mips32r2 -mtune=24kc CPU_CFLAGS_74kc = -mips32r2 -mtune=74kc CPU_CFLAGS_octeonplus = -march=octeon+ -mabi=64 diff --git a/target/linux/rtl838x/Makefile b/target/linux/rtl838x/Makefile index c4138c7a9ae1..83cb074b89b6 100644 --- a/target/linux/rtl838x/Makefile +++ b/target/linux/rtl838x/Makefile @@ -9,6 +9,7 @@ BOARD:=rtl838x BOARDNAME:=Realtek MIPS DEVICE_TYPE:=basic FEATURES:=ramdisk squashfs +SUBTARGETS:=generic KERNEL_PATCHVER:=5.4 @@ -18,6 +19,8 @@ endef include $(INCLUDE_DIR)/target.mk +FEATURES := $(filter-out mips16,$(FEATURES)) + DEFAULT_PACKAGES += swconfig uboot-envtools ethtool kmod-gpio-button-hotplug $(eval $(call BuildTarget)) diff --git a/target/linux/rtl838x/dts/rtl8382_d-link_dgs-1210-10p.dts b/target/linux/rtl838x/dts/rtl8382_d-link_dgs-1210-10p.dts new file mode 100644 index 000000000000..d7c6cbfc7c41 --- /dev/null +++ b/target/linux/rtl838x/dts/rtl8382_d-link_dgs-1210-10p.dts @@ -0,0 +1,231 @@ +#include "rtl838x.dtsi" + +#include +#include + +/ { + compatible = "d-link,dgs-1210-10p", "realtek,rtl838x-soc"; + model = "D-Link DGS-1210-10P"; + + aliases { + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; + }; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + leds { + compatible = "gpio-leds"; + + led_power: power { + // GPIO 24 seems to provide power to the leds + label = "green:power"; + gpios = <&gpio0 47 GPIO_ACTIVE_LOW>; + }; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <20>; + + mode { + label = "reset"; + gpios = <&gpio0 94 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; +}; + + +&gpio0 { + indirect-access-bus-id = <0>; +}; + +&spi0 { + status = "okay"; + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <10000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x00000000 0x80000>; + read-only; + }; + partition@80000 { + label = "u-boot-env"; + reg = <0x00080000 0x40000>; + read-only; + }; + partition@c0000 { + label = "u-boot-env2"; + reg = <0x000c0000 0x40000>; + read-only; + }; + partition@280000 { + label = "firmware"; + compatible = "denx,uimage"; + reg = <0x00100000 0xd80000>; + }; + partition@be80000 { + label = "kernel2"; + reg = <0x00e80000 0x180000>; + }; + partition@1000000 { + label = "sysinfo"; + reg = <0x01000000 0x40000>; + }; + partition@1040000 { + label = "rootfs2"; + reg = <0x01040000 0xc00000>; + }; + partition@1c40000 { + label = "jffs2"; + reg = <0x01c40000 0x3c0000>; + }; + }; + }; +}; + + + +ðernet0 { + mdio: mdio-bus { + compatible = "realtek,rtl838x-mdio"; + regmap = <ðernet0>; + #address-cells = <1>; + #size-cells = <0>; + + /* Internal phy */ + phy8: ethernet-phy@8 { + reg = <8>; + compatible = "ethernet-phy-ieee802.3-c22"; + }; + phy9: ethernet-phy@9 { + reg = <9>; + compatible = "ethernet-phy-ieee802.3-c22"; + }; + phy10: ethernet-phy@10 { + reg = <10>; + compatible = "ethernet-phy-ieee802.3-c22"; + }; + phy11: ethernet-phy@11 { + reg = <11>; + compatible = "ethernet-phy-ieee802.3-c22"; + }; + phy12: ethernet-phy@12 { + reg = <12>; + compatible = "ethernet-phy-ieee802.3-c22"; + }; + phy13: ethernet-phy@13 { + reg = <13>; + compatible = "ethernet-phy-ieee802.3-c22"; + }; + phy14: ethernet-phy@14 { + reg = <14>; + compatible = "ethernet-phy-ieee802.3-c22"; + }; + phy15: ethernet-phy@15 { + reg = <15>; + compatible = "ethernet-phy-ieee802.3-c22"; + }; + phy24: ethernet-phy@24 { + compatible = "ethernet-phy-ieee802.3-c22"; + phy-is-integrated; + reg = <24>; + }; + phy26: ethernet-phy@26 { + compatible = "ethernet-phy-ieee802.3-c22"; + phy-is-integrated; + reg = <26>; + }; + }; +}; + +&switch0 { + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <8>; + label = "lan1"; + phy-handle = <&phy8>; + phy-mode = "internal"; + }; + port@1 { + reg = <9>; + label = "lan2"; + phy-handle = <&phy9>; + phy-mode = "internal"; + }; + port@2 { + reg = <10>; + label = "lan3"; + phy-handle = <&phy10>; + phy-mode = "internal"; + }; + port@3 { + reg = <11>; + label = "lan4"; + phy-handle = <&phy11>; + phy-mode = "internal"; + }; + port@4 { + reg = <12>; + label = "lan5"; + phy-handle = <&phy12>; + phy-mode = "internal"; + }; + port@5 { + reg = <13>; + label = "lan6"; + phy-handle = <&phy13>; + phy-mode = "internal"; + }; + port@6 { + reg = <14>; + label = "lan7"; + phy-handle = <&phy14>; + phy-mode = "internal"; + }; + port@7 { + reg = <15>; + label = "lan8"; + phy-handle = <&phy15>; + phy-mode = "internal"; + }; + + port@24 { + reg = <24>; + label = "lan9"; + phy-mode = "internal"; + phy-handle = <&phy24>; + }; + port@26 { + reg = <26>; + label = "lan10"; + phy-mode = "internal"; + phy-handle = <&phy26>; + }; + port@28 { + ethernet = <ðernet0>; + reg = <28>; + phy-mode = "internal"; + fixed-link { + speed = <1000>; + full-duplex; + }; + }; + }; +}; diff --git a/target/linux/rtl838x/generic/target.mk b/target/linux/rtl838x/generic/target.mk new file mode 100644 index 000000000000..f5cb1fb19b94 --- /dev/null +++ b/target/linux/rtl838x/generic/target.mk @@ -0,0 +1 @@ +BOARDNAME:=Generic diff --git a/target/linux/rtl838x/image/Makefile b/target/linux/rtl838x/image/Makefile index 291888ab2def..f490fa7ffe92 100644 --- a/target/linux/rtl838x/image/Makefile +++ b/target/linux/rtl838x/image/Makefile @@ -50,4 +50,13 @@ define Device/d-link_dgs-1210-16 endef TARGET_DEVICES += d-link_dgs-1210-16 +define Device/d-link_dgs-1210-10p + SOC := rtl8382 + IMAGE_SIZE := 13824k + DEVICE_VENDOR := D-Link + DEVICE_MODEL := DGS-1210-10P + DEVICE_PACKAGES := ip-full ip-bridge ethtool tc lua-rs232 +endef +TARGET_DEVICES += d-link_dgs-1210-10p + $(eval $(call BuildImage)) -- 2.30.2