| 
					
				 | 
			
			
				@@ -0,0 +1,73 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+--- a/arch/mips/ralink/mt7620.c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				++++ b/arch/mips/ralink/mt7620.c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@@ -107,31 +107,31 @@ static struct rt2880_pmx_group mt7620a_p 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ static struct rt2880_pmx_func pwm1_grp_mt7628[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-	FUNC("sdcx", 3, 19, 1), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				++	FUNC("sdxc", 3, 19, 1), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	FUNC("utif", 2, 19, 1), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	FUNC("gpio", 1, 19, 1), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	FUNC("pwm", 0, 19, 1), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ static struct rt2880_pmx_func pwm0_grp_mt7628[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-	FUNC("sdcx", 3, 18, 1), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				++	FUNC("sdxc", 3, 18, 1), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	FUNC("utif", 2, 18, 1), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	FUNC("gpio", 1, 18, 1), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	FUNC("pwm", 0, 18, 1), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ static struct rt2880_pmx_func uart2_grp_mt7628[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-	FUNC("sdcx", 3, 20, 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				++	FUNC("sdxc", 3, 20, 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	FUNC("pwm", 2, 20, 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	FUNC("gpio", 1, 20, 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-	FUNC("uart", 0, 20, 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				++	FUNC("uart2", 0, 20, 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ static struct rt2880_pmx_func uart1_grp_mt7628[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	FUNC("sdcx", 3, 45, 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	FUNC("pwm", 2, 45, 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	FUNC("gpio", 1, 45, 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-	FUNC("uart", 0, 45, 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				++	FUNC("uart1", 0, 45, 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ static struct rt2880_pmx_func i2c_grp_mt7628[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@@ -143,21 +143,21 @@ static struct rt2880_pmx_func i2c_grp_mt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ static struct rt2880_pmx_func refclk_grp_mt7628[] = { FUNC("reclk", 0, 36, 1) }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ static struct rt2880_pmx_func perst_grp_mt7628[] = { FUNC("perst", 0, 37, 1) }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-static struct rt2880_pmx_func wdt_grp_mt7628[] = { FUNC("wdt", 0, 15, 38) }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				++static struct rt2880_pmx_func wdt_grp_mt7628[] = { FUNC("wdt", 0, 38, 1) }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ static struct rt2880_pmx_func spi_grp_mt7628[] = { FUNC("spi", 0, 7, 4) }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ static struct rt2880_pmx_func sd_mode_grp_mt7628[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	FUNC("jtag", 3, 22, 8), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	FUNC("utif", 2, 22, 8), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	FUNC("gpio", 1, 22, 8), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-	FUNC("sdcx", 0, 22, 8), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				++	FUNC("sdxc", 0, 22, 8), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ static struct rt2880_pmx_func uart0_grp_mt7628[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	FUNC("-", 3, 12, 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	FUNC("-", 2, 12, 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	FUNC("gpio", 1, 12, 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+-	FUNC("uart", 0, 12, 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				++	FUNC("uart0", 0, 12, 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ static struct rt2880_pmx_func i2s_grp_mt7628[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@@ -438,6 +438,8 @@ void __init ralink_clk_init(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	ralink_clk_add("10000b00.spi", sys_rate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	ralink_clk_add("10000b40.spi", sys_rate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	ralink_clk_add("10000c00.uartlite", periph_rate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				++	ralink_clk_add("10000d00.uart1", periph_rate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				++	ralink_clk_add("10000e00.uart2", periph_rate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	ralink_clk_add("10180000.wmac", xtal_rate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	if (IS_ENABLED(CONFIG_USB) && is_mt76x8()) { 
			 |