ramips: add support for JS76x8 series DEV boards
This commit adds support for the Jotale JS76x8 series development boards.
These devices have the following specifications:
- SOC: MT7628AN/NN, MT7688AN, MT7628DAN
- RAM of MT7628AN/NN and MT7688AN: 64/128/256 MB (DDR2)
- RAM of MT7628DAN: 64 MB (DDR2)
- FLASH:8/16/32 MB (SPI NOR)
- Ethernet:3x 10/100 Mbps ethernet ports (MT76x8 built-in switch)
- WIFI:1x 2T2R 2.4 GHz Wi-Fi
- LEDs:1x system status green LED, 1x wifi green LED,
       3x ethernet green LED
- Buttons:1x reset button
- 1x microSD slot
- 4x USB 2.0 port
- 1x mini-usb debug UART
- 1x DC jack for main power (DC 5V)
- 1x TTL/RS232 UART
- 1x TTL/RS485 UART
- 13x GPIO header
- 1x audio codec(wm8960)
Installation via OpenWrt:
The original firmware is OpenWrt, so both LuCI and sysupgrade can be used.
Installation via U-boot web:
1. Power on board with reset button pressed, release it
   after wifi led start blinking.
2. Setup static IP 192.168.1.123/4 on your PC.
3. Go to 192.168.1.8 in browser and upload "sysupgrade" image.
Installation via U-boot tftp:
1. Connect to serial console at the mini usb, which has been connected to UART0
   on board (115200 8N1)
2. Setup static IP 192.168.1.123/4 on your PC.
3. Place openwrt-firmware.bin on your PC tftp server (192.168.1.123).
3. Connect one of LAN ports on board to your PC.
4. Start terminal software (e.g. screen /dev/ttyUSB0 115200) on PC.
5. Apply power to board.
6. Interrupt U-boot with keypress of "2".
7. At u-boot prompts:
   Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N) Y
   Input device IP (192.168.1.8) ==:192.168.1.8
   Input server IP (192.168.1.123) ==:192.168.1.123
   Input Linux Kernel filename (root_uImage) ==:openwrt-firmware.bin
8. board will download file from tftp server, write it to flash and reboot.
Signed-off-by: Robinson Wu <wurobinson@qq.com>
[add license to DTS files, fix state_default and reduce to the mimimum,
move phy0tpt trigger to DTS, drop ucidef_set_led_timer, fix network ports]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
			
			
This commit is contained in:
		 Robinson Wu
					Robinson Wu
				
			
				
					committed by
					
						 Adrian Schmutzler
						Adrian Schmutzler
					
				
			
			
				
	
			
			
			 Adrian Schmutzler
						Adrian Schmutzler
					
				
			
						parent
						
							ced167d729
						
					
				
				
					commit
					84cb0f7ace
				
			
							
								
								
									
										13
									
								
								target/linux/ramips/dts/mt7628an_jotale_js76x8-16m.dts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								target/linux/ramips/dts/mt7628an_jotale_js76x8-16m.dts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | |||||||
|  | // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||||
|  | /dts-v1/; | ||||||
|  |  | ||||||
|  | #include "mt7628an_jotale_js76x8.dtsi" | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	compatible = "jotale,js76x8-16m", "jotale,js76x8", "mediatek,mt7628an-soc"; | ||||||
|  | 	model = "Jotale JS76x8 (16M)"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &firmware { | ||||||
|  | 	reg = <0x50000 0xfb0000>; | ||||||
|  | }; | ||||||
							
								
								
									
										13
									
								
								target/linux/ramips/dts/mt7628an_jotale_js76x8-32m.dts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								target/linux/ramips/dts/mt7628an_jotale_js76x8-32m.dts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | |||||||
|  | // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||||
|  | /dts-v1/; | ||||||
|  |  | ||||||
|  | #include "mt7628an_jotale_js76x8.dtsi" | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	compatible = "jotale,js76x8-32m", "jotale,js76x8", "mediatek,mt7628an-soc"; | ||||||
|  | 	model = "Jotale JS76x8 (32M)"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &firmware { | ||||||
|  | 	reg = <0x50000 0x1fb0000>; | ||||||
|  | }; | ||||||
							
								
								
									
										13
									
								
								target/linux/ramips/dts/mt7628an_jotale_js76x8-8m.dts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								target/linux/ramips/dts/mt7628an_jotale_js76x8-8m.dts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | |||||||
|  | // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||||
|  | /dts-v1/; | ||||||
|  |  | ||||||
|  | #include "mt7628an_jotale_js76x8.dtsi" | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	compatible = "jotale,js76x8-8m", "mediatek,mt7628an-soc"; | ||||||
|  | 	model = "Jotale JS76x8 (8M)"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &firmware { | ||||||
|  | 	reg = <0x50000 0x7b0000>; | ||||||
|  | }; | ||||||
							
								
								
									
										126
									
								
								target/linux/ramips/dts/mt7628an_jotale_js76x8.dtsi
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										126
									
								
								target/linux/ramips/dts/mt7628an_jotale_js76x8.dtsi
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,126 @@ | |||||||
|  | // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||||
|  |  | ||||||
|  | #include "mt7628an.dtsi" | ||||||
|  |  | ||||||
|  | #include <dt-bindings/gpio/gpio.h> | ||||||
|  | #include <dt-bindings/input/input.h> | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	compatible = "jotale,js76x8", "mediatek,mt7628an-soc"; | ||||||
|  |  | ||||||
|  | 	aliases { | ||||||
|  | 		led-boot = &led_system; | ||||||
|  | 		led-failsafe = &led_system; | ||||||
|  | 		led-running = &led_system; | ||||||
|  | 		led-upgrade = &led_system; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	chosen { | ||||||
|  | 		bootargs = "console=ttyS0,115200"; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	leds { | ||||||
|  | 		compatible = "gpio-leds"; | ||||||
|  |  | ||||||
|  | 		led_system: system { | ||||||
|  | 			label = "js76x8:green:system"; | ||||||
|  | 			gpios = <&gpio 37 GPIO_ACTIVE_LOW>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		wifi { | ||||||
|  | 			label = "js76x8:green:wifi"; | ||||||
|  | 			gpios = <&gpio 44 GPIO_ACTIVE_LOW>; | ||||||
|  | 			linux,default-trigger = "phy0tpt"; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	keys { | ||||||
|  | 		compatible = "gpio-keys"; | ||||||
|  |  | ||||||
|  | 		reset { | ||||||
|  | 			label = "reset"; | ||||||
|  | 			gpios = <&gpio 38 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,code = <KEY_RESTART>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &state_default { | ||||||
|  | 	gpio { | ||||||
|  | 		groups = "refclk", "wdt", "wled_an"; | ||||||
|  | 		function = "gpio"; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &spi0 { | ||||||
|  | 	status = "okay"; | ||||||
|  |  | ||||||
|  | 	pinctrl-names = "default"; | ||||||
|  | 	pinctrl-0 = <&spi_pins>, <&spi_cs1_pins>; | ||||||
|  |  | ||||||
|  | 	flash@0 { | ||||||
|  | 		compatible = "jedec,spi-nor"; | ||||||
|  | 		reg = <0>; | ||||||
|  | 		spi-max-frequency = <40000000>; | ||||||
|  | 		m25p,chunked-io = <32>; | ||||||
|  |  | ||||||
|  | 		partitions { | ||||||
|  | 			compatible = "fixed-partitions"; | ||||||
|  | 			#address-cells = <1>; | ||||||
|  | 			#size-cells = <1>; | ||||||
|  |  | ||||||
|  | 			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; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			firmware: partition@50000 { | ||||||
|  | 				compatible = "denx,uimage"; | ||||||
|  | 				label = "firmware"; | ||||||
|  | 				/* reg property is set based on flash size in DTS files */ | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &i2c { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &i2s { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &uart1 { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &uart2 { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | ðernet { | ||||||
|  | 	mtd-mac-address = <&factory 0x28>; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &sdhci { | ||||||
|  | 	status = "okay"; | ||||||
|  | 	mediatek,cd-low; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &wmac { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
| @@ -160,6 +160,33 @@ define Device/iptime_a604m | |||||||
| endef | endef | ||||||
| TARGET_DEVICES += iptime_a604m | TARGET_DEVICES += iptime_a604m | ||||||
|  |  | ||||||
|  | define Device/jotale_js76x8 | ||||||
|  |   DEVICE_VENDOR := Jotale | ||||||
|  |   DEVICE_MODEL := JS76x8 | ||||||
|  |   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Device/jotale_js76x8-8m | ||||||
|  |   $(Device/jotale_js76x8) | ||||||
|  |   IMAGE_SIZE := 7872k | ||||||
|  |   DEVICE_VARIANT := 8M | ||||||
|  | endef | ||||||
|  | TARGET_DEVICES += jotale_js76x8-8m | ||||||
|  |  | ||||||
|  | define Device/jotale_js76x8-16m | ||||||
|  |   $(Device/jotale_js76x8) | ||||||
|  |   IMAGE_SIZE := 16064k | ||||||
|  |   DEVICE_VARIANT := 16M | ||||||
|  | endef | ||||||
|  | TARGET_DEVICES += jotale_js76x8-16m | ||||||
|  |  | ||||||
|  | define Device/jotale_js76x8-32m | ||||||
|  |   $(Device/jotale_js76x8) | ||||||
|  |   IMAGE_SIZE := 32448k | ||||||
|  |   DEVICE_VARIANT := 32M | ||||||
|  | endef | ||||||
|  | TARGET_DEVICES += jotale_js76x8-32m | ||||||
|  |  | ||||||
| define Device/mediatek_linkit-smart-7688 | define Device/mediatek_linkit-smart-7688 | ||||||
|   IMAGE_SIZE := 32448k |   IMAGE_SIZE := 32448k | ||||||
|   DEVICE_VENDOR := MediaTek |   DEVICE_VENDOR := MediaTek | ||||||
|   | |||||||
| @@ -92,6 +92,12 @@ ramips_setup_interfaces() | |||||||
| 		ucidef_add_switch "switch0" \ | 		ucidef_add_switch "switch0" \ | ||||||
| 			"1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0" | 			"1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0" | ||||||
| 		;; | 		;; | ||||||
|  | 	jotale,js76x8-8m|\ | ||||||
|  | 	jotale,js76x8-16m|\ | ||||||
|  | 	jotale,js76x8-32m) | ||||||
|  | 		ucidef_add_switch "switch0" \ | ||||||
|  | 			"0:lan" "1:lan" "2:lan" "6@eth0" | ||||||
|  | 		;; | ||||||
| 	netgear,r6020|\ | 	netgear,r6020|\ | ||||||
| 	netgear,r6080|\ | 	netgear,r6080|\ | ||||||
| 	netgear,r6120) | 	netgear,r6120) | ||||||
| @@ -174,6 +180,13 @@ ramips_setup_macs() | |||||||
| 	totolink,a3) | 	totolink,a3) | ||||||
| 		wan_mac=$(mtd_get_mac_binary u-boot 0x1fc40) | 		wan_mac=$(mtd_get_mac_binary u-boot 0x1fc40) | ||||||
| 		;; | 		;; | ||||||
|  | 	jotale,js76x8-8m|\ | ||||||
|  | 	jotale,js76x8-16m|\ | ||||||
|  | 	jotale,js76x8-32m|\ | ||||||
|  | 	skylab,skw92a|\ | ||||||
|  | 	totolink,lr1200) | ||||||
|  | 		wan_mac=$(mtd_get_mac_binary factory 0x2e) | ||||||
|  | 		;; | ||||||
| 	mediatek,linkit-smart-7688|\ | 	mediatek,linkit-smart-7688|\ | ||||||
| 	onion,omega2|\ | 	onion,omega2|\ | ||||||
| 	onion,omega2p) | 	onion,omega2p) | ||||||
| @@ -189,10 +202,6 @@ ramips_setup_macs() | |||||||
| 	wiznet,wizfi630s) | 	wiznet,wizfi630s) | ||||||
| 		wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 1) | 		wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 1) | ||||||
| 		;; | 		;; | ||||||
| 	skylab,skw92a|\ |  | ||||||
| 	totolink,lr1200) |  | ||||||
| 		wan_mac=$(mtd_get_mac_binary factory 0x2e) |  | ||||||
| 		;; |  | ||||||
| 	tplink,archer-c20-v4|\ | 	tplink,archer-c20-v4|\ | ||||||
| 	tplink,archer-c50-v3|\ | 	tplink,archer-c50-v3|\ | ||||||
| 	tplink,tl-mr3420-v5|\ | 	tplink,tl-mr3420-v5|\ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user