<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://w.electrodragon.com/w/index.php?action=history&amp;feed=atom&amp;title=WY7688</id>
	<title>WY7688 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://w.electrodragon.com/w/index.php?action=history&amp;feed=atom&amp;title=WY7688"/>
	<link rel="alternate" type="text/html" href="https://w.electrodragon.com/w/index.php?title=WY7688&amp;action=history"/>
	<updated>2026-07-21T20:10:17Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.2</generator>
	<entry>
		<id>https://w.electrodragon.com/w/index.php?title=WY7688&amp;diff=22426&amp;oldid=prev</id>
		<title>Chao at 10:44, 7 October 2019</title>
		<link rel="alternate" type="text/html" href="https://w.electrodragon.com/w/index.php?title=WY7688&amp;diff=22426&amp;oldid=prev"/>
		<updated>2019-10-07T10:44:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== WY7688 ==&lt;br /&gt;
&lt;br /&gt;
* Suppor 3.3V or 5V power supply &lt;br /&gt;
&lt;br /&gt;
=== Reference Schematic ===&lt;br /&gt;
WY Board&lt;br /&gt;
* [[:File:MT7688A_MODULE_TESTBOARD.pdf|MT7688A_MODULE_TESTBOARD]]&lt;br /&gt;
* [[:File:MT7688A_test_board_files_V2.zip|Original design file (altium)]]&lt;br /&gt;
&lt;br /&gt;
=== Specification ===&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Mt7688an_02.jpg | 01&lt;br /&gt;
File:Mt7688an_03.jpg | 02&lt;br /&gt;
File:Mt7688an_04.jpg | 03&lt;br /&gt;
File:Mt7688an_05.jpg | 04&lt;br /&gt;
File:Mt7688an_06.jpg | 05&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pin Definition ===&lt;br /&gt;
&lt;br /&gt;
[[File:Mt7688an 07.jpg|450px|right]]&lt;br /&gt;
[[File:Wy board pin definition 01.png|400px]]&lt;br /&gt;
* 调试串口 = debug serial port, 编程电压 =programe voltage, 时钟输出 = clock output &amp;lt;br /&amp;gt;&lt;br /&gt;
* Pin Function 1 Function 2 Function 3 Function 4&lt;br /&gt;
* 1 UART_TXD0 GPIO # 12&lt;br /&gt;
* 2 3.3V 3.3V power supply&lt;br /&gt;
* 3 UART_RXD0 GPIO # 13&lt;br /&gt;
* 4 I2S_WS I2C_SCLK GPIO # 2 PCMCLK&lt;br /&gt;
* 5 I2S_SDO I2C_SD GPIO # 1 PCMDTX&lt;br /&gt;
* 6 I2S_CLK I2C_SD GPIO # 3 PCMFS&lt;br /&gt;
* 7 GPIO0 GPIO # 11 REF_CLKO PERST_N&lt;br /&gt;
* 8 I2S_SDI I2C_SCLK GPIO # 0 PCMDRX&lt;br /&gt;
* 9 I2C_SD GPIO # 5&lt;br /&gt;
* 10 I2C_SCLK GPIO # 4&lt;br /&gt;
* 11 SPI_CS1 GPIO # 6 REF_CLKO&lt;br /&gt;
* 12 SPI_CLK GPO # 7&lt;br /&gt;
* 13 SPI_MISO GPIO # 9&lt;br /&gt;
* 14 SPI_CS0 GPIO # 10&lt;br /&gt;
* 15 SPI_MOSI GPIO # 8&lt;br /&gt;
* 16 MDI_RP_P0&lt;br /&gt;
* 17 MDI_RN_P0&lt;br /&gt;
* 18 MDI_TP_P0&lt;br /&gt;
* 19 MDI_TN_P0&lt;br /&gt;
* 20 MDI_TP_P1 SPIS_CS GPIO # 14 PWM_CH0&lt;br /&gt;
* 21 MDI_TN_P1 SPIS_CLK GPIO # 15 PWM_CH1&lt;br /&gt;
* 22 MDI_RP_P1 SPIS_MISO GPIO # 16 UART_TXD2&lt;br /&gt;
* 23 MDI_RN_P1 SPIS_MOSI GPIO # 17 UART_RXD2&lt;br /&gt;
* 24 VDD_FLASH Flash programming voltage&lt;br /&gt;
* 25 5.0V 5.0V power supply&lt;br /&gt;
* 26 GND power ground&lt;br /&gt;
* 27 UART_TXD1 GPIO # 45&lt;br /&gt;
* 28 PERST_N GPIO # 36&lt;br /&gt;
* 29 UART_RXD1 GPIO # 46&lt;br /&gt;
* 30 WDT_RST_N GPO # 37&lt;br /&gt;
* 31 REF_CLKO GPIO # 38&lt;br /&gt;
* 32 EPH_LED1_N GPIO # 33&lt;br /&gt;
* 33 WLED_N GPIO # 35&lt;br /&gt;
* 34 EPH_LED0_N GPIO # 34&lt;br /&gt;
* 35 SD_D0 MDI_RN_P3 GPIO # 25&lt;br /&gt;
* 36 SD_CLK MDI_RP_P4 GPIO # 26&lt;br /&gt;
* 37 SD_D1 MDI_RP_P3 GPIO # 24&lt;br /&gt;
* 38 SD_CD MDI_TN_P3 GPIO # 23&lt;br /&gt;
* 39 SD_WP MDI_TP_P3 GPIO # 22&lt;br /&gt;
* 40 SD_D3 MDI_TP_P4 GPIO # 29&lt;br /&gt;
* 41 SD_D2 MDI_TN_P4 GPIO # 27&lt;br /&gt;
* 42 SD_CMD MDI_RN_P4 GPIO # 28&lt;br /&gt;
* 43 PWM_CH1 MDI_RN_P2 GPIO # 19&lt;br /&gt;
* 44 PWM_CH0 MDI_RP_P2 GPIO # 18&lt;br /&gt;
* 45 USB_DP&lt;br /&gt;
* 46 UART_TXD2 MDI_TP_P2 GPIO # 20 PWM_CH2&lt;br /&gt;
* 47 USB_DM&lt;br /&gt;
* 48 UART_RXD2 MDI_TN_P2 GPIO # 21 PWM_CH3&lt;br /&gt;
&lt;br /&gt;
=== Stack Installation ===&lt;br /&gt;
[[File:Mt7688an 09.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Hardware Design Guide (Development Board) ===&lt;br /&gt;
* UART0 recommended for system debug only&lt;br /&gt;
* main board should not draw over 100mA from pin 3.3V&lt;br /&gt;
* SPI, IIS, UART1, UART2, PWM, USB, IIC can be added if need &lt;br /&gt;
* More information please read '''schematic of test board PDF''' in documents&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Wy board pin definition 02.png | Connector connection&lt;br /&gt;
File:Wy_hd_01.png | Status LED, PWR power, Link0, 1 for ethernet status (gpio 43, 42)&lt;br /&gt;
File:Wy_hd_02.png | Boot Mode select,  I2S_SDI -&amp;gt; high to Boot, -&amp;gt; low to system reset mode&lt;br /&gt;
File:Wy_hd_03.png | if flash is not enough to use, TF can be used as system disk, and flash only use for booting.&lt;br /&gt;
File:Wy_hd_04.png | CH340G USB-TTL&lt;br /&gt;
File:Wy_hd_05.png | Power supply &lt;br /&gt;
File:Wy_hd_06.png | Ethernet connection &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
* Play wav from TF card comman aplay -f cd -M ctl.wav&lt;br /&gt;
* IO test, press WPS button for more than two seconds, this will be detect by Uboot and run GPIO test demo code.&lt;br /&gt;
* Middle net port is WLAN, side is ethernet&lt;br /&gt;
&lt;br /&gt;
=== Pin Confliction ===&lt;br /&gt;
* If use SD card, ethernet 3 and 4 can not be used.&lt;br /&gt;
* If use PWM, ethernet 2 can not be used.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
*  Support MTK official linux 2.6.36SDK,OpenWrt 3.10SDK，eCos SDK &lt;br /&gt;
*  Support OpenWrt official latest OpenWrt&lt;br /&gt;
* U-boot - system lead, like windows bios&lt;br /&gt;
* openwrt - system &lt;br /&gt;
* art - wifi tune-up file&lt;br /&gt;
&lt;br /&gt;
=== File download ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Type !! Original Link !! Local Download !! Note&lt;br /&gt;
|-&lt;br /&gt;
| Firmware - PandoraBox || [http://downloads.openwrt.org.cn/PandoraBox/MT7628AN_EVB/ MT7628AN_EVB] || &lt;br /&gt;
* [[File:PandoraBox-ralink-mt7628-mt7628an-evb-squashfs-sysupgrade-115200.zip]]&lt;br /&gt;
* root / admin, 115200 192.168.1.1, DHCP: 192.168.1.2-192.168.1.254&lt;br /&gt;
|-&lt;br /&gt;
| Firmware - WY Testing Firmware || - || [[File:Wy-openwrt-mt7688an.zip]] || Support to test all on testing board resources.&lt;br /&gt;
|-&lt;br /&gt;
| Firmware - WY OpenWrt Firmware || || SDK file (google drive link), [[:File:Openwrt-1505-5PortEPHY.zip|5PortEPHY.bin]] + dl.bin || Based on linux 3.18.45 core&lt;br /&gt;
|-&lt;br /&gt;
| UBoot + source (RaLink UBoot 4.3 version)|| - || [[:File:U-boot-mt7688-master.zip|.bin+source]] || UBoot&lt;br /&gt;
|-&lt;br /&gt;
| Uboot/sdk tool - cross-complier || - || [https://drive.google.com/drive/folders/0B7cuEikM5b38Zmhzdnp4TnNaS1E?usp=sharing cross-compiler] ||&lt;br /&gt;
|-&lt;br /&gt;
| MTK Official SDK || MediaTek_ApSoC_SDK?  || SDK file (google drive link), [[File:MTK_APSoC_SDK_User_Manual.pdf|PDF user manual]]&lt;br /&gt;
|-&lt;br /&gt;
| MTK Official OpenWrt || ? || SDK file (google drive link), [[File:MTK-OpenWrt-3.10.14-SDK-Release-Notes.docx.zip]]&lt;br /&gt;
|-&lt;br /&gt;
| Script - AP-Client || - || [[File:Ap-client_script.zip]] || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Uboot Option ===&lt;br /&gt;
[[File:Uboot option.jpg|300px|thumbnail|right]]&lt;br /&gt;
* Enter when in 2-5 into update mode, enter when more than 7 seconds into GPIO test mode&lt;br /&gt;
* Update mode also support serial port, or FTP mode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== System backup ===&lt;br /&gt;
* Update or backup via SPI Flash programmer see on this page [[Memory]]&lt;br /&gt;
* Update U-Boot.bin file via programmer directly (address 00000000)&lt;br /&gt;
&lt;br /&gt;
=== Update firmware via HTTP ===&lt;br /&gt;
* Connect net cable to WLAN, power cable, serial debugging cable&lt;br /&gt;
* Press WPS button between 2-5 seconds, serial debugging output info will show the board enter into update mode&lt;br /&gt;
* Set your PC which is connected via net cable to board, IP address next to board, for example, if board is 10.10.10.2, then PC should be 10.10.10.3&lt;br /&gt;
* Open 10.10.10.2 in browser and upload firmware, for example openwrt&lt;br /&gt;
=== Update firmware via TFTP ===&lt;br /&gt;
* Set PCB ethernet IP address 10.10.10.3, use tool(3cdaemon) to setup PC as FTP server, put files in D:\bin\&lt;br /&gt;
* Set U-boot to FTP upload mode, enter IP device/server address 10.10.10.3/10.10.10.2, and then enter file name&lt;br /&gt;
&lt;br /&gt;
=== Compile U-Boot ===&lt;br /&gt;
* request cross-compiler&lt;br /&gt;
* copy compiler to /opt folder, tar xjvf&lt;br /&gt;
* copy and use U-boot file, check makefile, it needs complier in opt folder&lt;br /&gt;
* prepare to make -&amp;gt; make menuconfig, all configuration can keep default&lt;br /&gt;
* make (if get java error, install default-jre)&lt;br /&gt;
* finally will get uboot.bin file.&lt;br /&gt;
* If any failure on updating U-boot, need to use SPI-flash programmer&lt;br /&gt;
&lt;br /&gt;
=== Compile Source Openwrt ===&lt;br /&gt;
* unzip openwrt, and unzip dl into openwrt folder&lt;br /&gt;
* basic, use make menuconfig, in configuration choose:&lt;br /&gt;
 &lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Category !! Setup !! function&lt;br /&gt;
|-&lt;br /&gt;
| main || target -&amp;gt; Ralink RT288x/RT3xxx || chipset&lt;br /&gt;
|-&lt;br /&gt;
| main || subtarget -&amp;gt; MT7688 based boards|| chipset&lt;br /&gt;
|-&lt;br /&gt;
| main || target profile  -&amp;gt; Linkit7688 || chipset&lt;br /&gt;
|-&lt;br /&gt;
| network || network-&amp;gt;SSH-&amp;gt;openssh-server || SSH&lt;br /&gt;
|-&lt;br /&gt;
| network || network-&amp;gt;SSH-&amp;gt;openssh-sftp-server || SFTP&lt;br /&gt;
|-&lt;br /&gt;
| network || network-&amp;gt;Ser2net || Serial2, set /etc/ser2net.conf, to listen on port 8002 and output on serial2 you can set like this: 8002:raw:0:/dev/ttyS0:115200&lt;br /&gt;
|-&lt;br /&gt;
| UVC || see [[USB]] || page&lt;br /&gt;
|-&lt;br /&gt;
| sound card WM8960 || Kernel modules -&amp;gt; sound support -&amp;gt; *kmod-sound-core + *kmod-sound-mtk + *kmod-sound-soc-core || &lt;br /&gt;
|-&lt;br /&gt;
| sound card WM8960 || sound -&amp;gt; *madplay-alsa || &lt;br /&gt;
|-&lt;br /&gt;
| sound card WM8960 || Utilities -&amp;gt; *alsa-utils || &lt;br /&gt;
|-&lt;br /&gt;
| I2C support || Kernel modules -&amp;gt; I2S support -&amp;gt; *kmod-i2c-core + *kmod-i2c-ralink || Note to check if I2C turn on: i2c@900 { status = &amp;quot;okay&amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Compile other files into firmware: Make new folder in openwrt firmware folder -&amp;gt; mkdir files -&amp;gt; put files into files folder&lt;br /&gt;
* make V=99&lt;br /&gt;
* bin file in /bin/ramips/..&lt;br /&gt;
&lt;br /&gt;
=== Command control GPIO ===&lt;br /&gt;
* Dev. board link0 link1 (ephy) corresponding to GPIO43 and42&lt;br /&gt;
* run command '''mt7688_pinmux get''', information shows:&lt;br /&gt;
 ..&lt;br /&gt;
 Groups ephy - [ephy] gpio&lt;br /&gt;
 ..&lt;br /&gt;
* now run command to set ephy to gpio - &amp;gt; '''mt7688_pinmux set ephy gpio'''&lt;br /&gt;
* export GPIO43, first&lt;br /&gt;
 cd /sys/class/gpio&lt;br /&gt;
 echo 43 &amp;gt; export&lt;br /&gt;
 cd gpio43&lt;br /&gt;
* now directoy will be /sys/devices/10000000.palmbus/100006000.gpio/gpio/gpio43/&lt;br /&gt;
* ls will find &lt;br /&gt;
 active_low device direction edge subsystem uevent value&lt;br /&gt;
* now to check gpio direciton -&amp;gt; cat direction, output '''in'''&lt;br /&gt;
* echo out, and check again, output '''out'''&lt;br /&gt;
* echo 1 &amp;gt;, or echo 0 &amp;gt;, value will be set&lt;br /&gt;
&lt;br /&gt;
=== Other functions/modules ===&lt;br /&gt;
* To use USB camera, see on this page [[USB]]&lt;br /&gt;
Following I2S for WM8960 sound card&lt;br /&gt;
* Turn on I2S, change to &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
i2s {&lt;br /&gt;
    ralink,group = &amp;quot;i2s&amp;quot;;&lt;br /&gt;
    ralink,function = &amp;quot;i2s&amp;quot;;   // change gpio to i2s&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* add ref_clk to provide clock for WM8960, in make file: build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7688/linux-3.18.45/sound/soc/mtk/Makefile&lt;br /&gt;
 KBUILD_CFLAGS += -DCONFIG_SND_MT76XX_SOC&lt;br /&gt;
 KBUILD_CFLAGS += -DCONFIG_I2S_WM8960&lt;br /&gt;
 '''KBUILD_CFLAGS += -DCONFIG_I2S_IN_MCLK'''&lt;br /&gt;
 #KBUILD_CFLAGS += -DCONFIG_I2S_MCLK_12P288MHZ&lt;br /&gt;
 KBUILD_CFLAGS += -DCONFIG_I2S_MCLK_12MHZ&lt;br /&gt;
 KBUILD_CFLAGS += -DCONFIG_GDMA_EVERYBODY&lt;br /&gt;
 KBUILD_CFLAGS += -DSURFBOARDINT_DMA=15&lt;br /&gt;
* Test with following command to play&lt;br /&gt;
 madplay  xxx.mp3&lt;br /&gt;
 aplay  xxx.wav&lt;br /&gt;
=== Serial Port Usage ===&lt;br /&gt;
[[File:Mt7688 serial.png|thumbnail]]&lt;br /&gt;
* Use mt7688 serial programming, for the serial port 1,2 need to turn off the soft flow control, the default is open, close the reference picture;&lt;br /&gt;
* Serial 2 can not use the problem: in the kernel directory arch / mips / ralink / mt7620.c inside the prom_soc_init function which add the following code:&lt;br /&gt;
u32 cfg;&lt;br /&gt;
cfg = __raw_readl (sysc + 0x3c);&lt;br /&gt;
cfg | = 0x0f;&lt;br /&gt;
cfg | = 0x10;&lt;br /&gt;
cfg | = 0x0f &amp;lt;&amp;lt; 17;&lt;br /&gt;
__raw_writel (cfg, sysc + 0x3c);&lt;br /&gt;
Note: modify only use the network port 0, for the network port 1-4 can not be used.&lt;br /&gt;
&lt;br /&gt;
[[category: MT7688]]&lt;/div&gt;</summary>
		<author><name>Chao</name></author>
	</entry>
</feed>