浏览代码

ralink: DIR-300 B7 and DIR-320/NRU B1 on Ralink RT5350

https://dev.openwrt.org/ticket/14129

Signed-off-by: John Crispin <[email protected]>

SVN-Revision: 38040
John Crispin 12 年之前
父节点
当前提交
5722b32acf

+ 1 - 1
target/linux/ramips/base-files/etc/diag.sh

@@ -27,7 +27,7 @@ get_status_led() {
 	d105)
 		status_led="d105:red:power"
 		;;
-	dir-300-b1 | dir-600-b1 | dir-600-b2 | dir-610-a1 | dir-615-h1 | dir-615-d | dir-620-a1| dir-620-d1)
+	dir-300-b1 | dir-600-b1 | dir-600-b2 | dir-610-a1 | dir-615-h1 | dir-615-d | dir-620-a1| dir-620-d1| dir-300-b7| dir-320-b1)
 		status_led="d-link:green:status"
 		;;
 	dir-645)

+ 2 - 0
target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom

@@ -68,6 +68,8 @@ case "$FIRMWARE" in
 	br6524n | \
 	carambola | \
 	d105 | \
+	dir-300-b7 | \
+	dir-320-b1 | \
 	dir-610-a1 | \
 	dir-615-h1 | \
 	dir-620-a1 | \

+ 2 - 0
target/linux/ramips/base-files/etc/uci-defaults/01_leds

@@ -78,6 +78,8 @@ case $board in
 		ucidef_set_led_default "power" "POWER" "dlink:green:power" "1"
 		;;
 	dir-610-a1 |\
+	dir-300-b7 |\
+	dir-320-b1 |\
 	esr-9753)
 		set_wifi_led "rt2800pci-phy0::radio"
 		;;

+ 4 - 0
target/linux/ramips/base-files/etc/uci-defaults/02_network

@@ -78,6 +78,8 @@ ramips_setup_interfaces()
 		;;
 
 	dir-610-a1 | \
+	dir-300-b7 | \
+	dir-320-b1 | \
 	dir-615-h1 | \
 	mzk-w300nh2)
 		ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
@@ -177,6 +179,8 @@ ramips_setup_macs()
 	ip2202 | \
 	mpr-a1 | \
 	mpr-a2 | \
+	dir-300-b7 | \
+	dir-320-b1 | \
 	mzk-w300nh2 | \
 	nw718 | \
 	psr-680w | \

+ 3 - 1
target/linux/ramips/base-files/lib/preinit/06_set_iface_mac

@@ -13,6 +13,7 @@ preinit_set_mac_address() {
 	3g-6200nl |\
 	3g300m | \
 	dir-620-d1 |\
+	dir-300-b7 | \
 	w150m | \
 	mzk-w300nh2 |\
 	wl-330n |\
@@ -28,7 +29,8 @@ preinit_set_mac_address() {
 	freestation5 |\
 	mpr-a1 | \
 	mpr-a2 | \
-	nw718 |\
+	dir-300-b7 | \
+	dir-320-b1 | \
 	psr-680w |\
 	rt-n56u |\
 	sl-r7205)

+ 6 - 0
target/linux/ramips/base-files/lib/ramips.sh

@@ -67,6 +67,12 @@ ramips_board_detect() {
 	*"DIR-300 B1")
 		name="dir-300-b1"
 		;;
+	*"DIR-300 B7")
+		name="dir-300-b7"
+		;;
+	*"DIR-320/NRU B1")
+		name="dir-320-b1"
+		;;
 	*"DIR-600 B1")
 		name="dir-600-b1"
 		;;

+ 2 - 0
target/linux/ramips/base-files/lib/upgrade/platform.sh

@@ -30,6 +30,8 @@ platform_check_image() {
 	carambola | \
 	d105 | \
 	dir-300-b1 | \
+	dir-300-b7 | \
+	dir-320-b1 | \
 	dir-600-b1 | \
 	dir-600-b2 | \
 	dir-615-h1 | \

+ 96 - 0
target/linux/ramips/dts/DIR-300-B7.dts

@@ -0,0 +1,96 @@
+/dts-v1/;
+
+/include/ "rt5350.dtsi"
+
+/ {
+	compatible = "DIR-300-B7", "ralink,rt5350-soc";
+	model = "D-Link DIR-300 B7";
+
+	palmbus@10000000 {
+		spi@b00 {
+			status = "okay";
+			m25p80@0 {
+				#address-cells = <1>;
+				#size-cells = <1>;
+				compatible = "s25fl064k";
+				reg = <0 0>;
+				linux,modalias = "m25p80", "s25fl064k";
+				spi-max-frequency = <10000000>;
+
+				partition@0 {
+					label = "u-boot";
+					reg = <0x0 0x30000>;
+					read-only;
+				};
+
+				partition@30000 {
+					label = "u-boot-env";
+					reg = <0x30000 0x10000>;
+					read-only;
+				};
+
+				factory: partition@40000 {
+					label = "factory";
+					reg = <0x40000 0x10000>;
+					read-only;
+				};
+
+				partition@50000 {
+					label = "firmware";
+					reg = <0x50000 0x7b0000>;
+				};
+			};
+		};
+	};
+
+	pinctrl {
+		state_default: pinctrl0 {
+			gpio {
+				ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf";
+				ralink,function = "gpio";
+			};
+		};
+	};
+
+        esw@10110000 {
+                ralink,portmap = <0x2f>;
+                ralink,led_polarity = <0x17>;
+        };
+
+        gpio-leds {
+                compatible = "gpio-leds";
+                status {
+                        label = "d-link:green:status";
+                        gpios = <&gpio0 9 1>;
+                };
+                wps {
+                        label = "d-link:blue:wps";
+                        gpios = <&gpio0 13 1>;
+                };
+        };
+
+        gpio-keys-polled {
+                gpio-keys-polled {
+                compatible = "gpio-keys-polled";
+                #address-cells = <1>;
+                #size-cells = <0>;
+                poll-interval = <20>;
+                        reset {
+                                label = "reset";
+                                gpios = <&gpio0 10 1>;
+                                linux,code = <0x198>;
+                        };
+                        wps {
+                                label = "wps";
+                                gpios = <&gpio0 0 1>;
+                                linux,code = <0x211>;
+                        };
+                };
+        };
+
+        wmac@10180000 {
+                status = "okay";
+		ralink,led-polarity = <1>;
+        };
+};
+

+ 119 - 0
target/linux/ramips/dts/DIR-320-B1.dts

@@ -0,0 +1,119 @@
+/dts-v1/;
+
+/include/ "rt5350.dtsi"
+
+/ {
+	compatible = "DIR-320-B1", "ralink,rt5350-soc";
+	model = "D-Link DIR-320 B1";
+
+	palmbus@10000000 {
+		spi@b00 {
+			status = "okay";
+			m25p80@0 {
+				#address-cells = <1>;
+				#size-cells = <1>;
+				compatible = "s25fl064k";
+				reg = <0 0>;
+				linux,modalias = "m25p80", "s25fl064k";
+				spi-max-frequency = <10000000>;
+
+				partition@0 {
+					label = "u-boot";
+					reg = <0x0 0x30000>;
+					read-only;
+				};
+
+				partition@30000 {
+					label = "u-boot-env";
+					reg = <0x30000 0x10000>;
+					read-only;
+				};
+
+				factory: partition@40000 {
+					label = "factory";
+						reg = <0x40000 0x10000>;
+					read-only;
+				};
+
+				partition@50000 {
+					label = "firmware";
+					reg = <0x50000 0x7b0000>;
+				};
+			};
+		};
+	};
+
+	pinctrl {
+		state_default: pinctrl0 {
+			gpio {
+				ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf";
+				ralink,function = "gpio";
+			};
+		};
+	};
+
+	esw@10110000 {
+		ralink,portmap = <0x2f>;
+		ralink,led_polarity = <0x17>;
+	};
+
+	gpio-leds {
+		compatible = "gpio-leds";
+		status {
+			label = "d-link:green:status";
+			gpios = <&gpio0 9 1>;
+		};
+		usb {
+			label = "d-link:green:usb";
+			gpios = <&gpio0 14 1>;
+		};		
+		wps {
+			label = "d-link:green:wps";
+			gpios = <&gpio0 13 1>;
+		};
+	};
+
+	gpio-keys-polled {
+		gpio-keys-polled {
+		compatible = "gpio-keys-polled";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		poll-interval = <20>;
+			reset {
+				label = "reset";
+				gpios = <&gpio0 10 1>;
+				linux,code = <0x198>;
+			};
+			wps {
+				label = "wps";
+				gpios = <&gpio0 0 1>;
+				linux,code = <0x211>;
+			};
+		};
+	};
+
+	ehci@101c0000 {
+		status = "okay";
+	};
+
+	ohci@101c0000 {
+		status = "okay";
+	};
+
+	gpio_export {
+		compatible = "gpio-export";
+		#size-cells = <0>;
+
+		usb {
+			gpio-export,name = "usb";
+			gpio-export,output = <1>;
+			gpios = <&gpio0 7 0>;
+		};
+	
+		root_hub {
+			gpio-export,name = "root_hub";
+			gpio-export,output = <1>;
+			gpios = <&gpio0 12 0>;
+		};
+	};
+}; 

+ 5 - 0
target/linux/ramips/image/Makefile

@@ -388,6 +388,9 @@ Image/Build/Profile/MOFI3500-3GN=$(call BuildFirmware/Default8M/$(1),$(1),mofi35
 Image/Build/Profile/MPRA1=$(call BuildFirmware/Default4M/$(1),$(1),mpr-a1,MPRA1,Linux Kernel Image)
 Image/Build/Profile/MPRA2=$(call BuildFirmware/Default8M/$(1),$(1),mpr-a2,MPRA2,Linux Kernel Image)
 
+Image/Build/Profile/DIR-300-B7=$(call BuildFirmware/Default4M/$(1),$(1),dir-300-b7,DIR-300-B7)
+Image/Build/Profile/DIR-320-B1=$(call BuildFirmware/Default4M/$(1),$(1),dir-320-b1,DIR-320-B1)
+
 Image/Build/Profile/NBG-419N=$(call BuildFirmware/Default4M/$(1),$(1),nbg-419n,NBG-419N)
 
 Image/Build/Profile/MZKW300NH2=$(call BuildFirmware/Edimax/$(1),$(1),mzk-w300nh2,MZK-W300NH2,$(mzkw300nh2_mtd_size),CSYS,RN52,0x50000,0xc0000)
@@ -506,6 +509,8 @@ define Image/Build/Profile/Default
 	$(call Image/Build/Profile/D105,$(1))
 	$(call Image/Build/Profile/DIR-300-B1,$(1))
 	$(call Image/Build/Profile/DIR-600-B1,$(1))
+	$(call Image/Build/Profile/DIR-300-B7,$(1))
+	$(call Image/Build/Profile/DIR-320-B1,$(1))
 	$(call Image/Build/Profile/DIR-600-B2,$(1))
 	$(call Image/Build/Profile/DIR610A1,$(1))
 	$(call Image/Build/Profile/DIR-615-D,$(1))