| 
					
				 | 
			
			
				@@ -133,3 +133,60 @@ static void mx28evk_flexcan_switch(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if (flexcan0_en || flexcan1_en) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		gpio_set_value(MX28EVK_FLEXCAN_SWITCH, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		gpio_set_value(MX28EVK_FLEXCAN_SWITCH, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static void mx28evk_flexcan0_switch(int enable) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	flexcan0_en = enable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	mx28evk_flexcan_switch(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static void mx28evk_flexcan1_switch(int enable) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	flexcan1_en = enable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	mx28evk_flexcan_switch(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct flexcan_platform_data flexcan_pdata[2]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct of_dev_auxdata mxs_auxdata_lookup[] __initdata = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	OF_DEV_AUXDATA("fsl,imx23-lcdif", 0x80030000, NULL, &mxsfb_pdata), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	OF_DEV_AUXDATA("fsl,imx28-lcdif", 0x80030000, NULL, &mxsfb_pdata), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	OF_DEV_AUXDATA("fsl,imx28-flexcan", 0x80032000, NULL, &flexcan_pdata[0]), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	OF_DEV_AUXDATA("fsl,imx28-flexcan", 0x80034000, NULL, &flexcan_pdata[1]), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ /* sentinel */ } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static void __init imx23_timer_init(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	mx23_clocks_init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct sys_timer imx23_timer = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.init = imx23_timer_init, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static void __init imx28_timer_init(void) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	mx28_clocks_init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct sys_timer imx28_timer = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.init = imx28_timer_init, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+enum mac_oui { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	OUI_FSL, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	OUI_DENX, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	OUI_CRYSTALFONTZ, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static void __init update_fec_mac_prop(enum mac_oui oui) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	struct device_node *np, *from = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	struct property *newmac; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	const u32 *ocotp = mxs_get_ocotp(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	u8 *macaddr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	u32 val; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	int i; 
			 |