|  | @@ -640,3 +640,90 @@ static struct resource at32ap700x_rtc0_resource[] = {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  static struct resource at32_wdt0_resource[] = {
 | 
	
		
			
				|  |  |  	{
 | 
	
		
			
				|  |  | +		.start	= 0xfff000b0,
 | 
	
		
			
				|  |  | +		.end	= 0xfff000cf,
 | 
	
		
			
				|  |  | +		.flags	= IORESOURCE_MEM,
 | 
	
		
			
				|  |  | +	},
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct resource at32_eic0_resource[] = {
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		.start	= 0xfff00100,
 | 
	
		
			
				|  |  | +		.end	= 0xfff0013f,
 | 
	
		
			
				|  |  | +		.flags	= IORESOURCE_MEM,
 | 
	
		
			
				|  |  | +	},
 | 
	
		
			
				|  |  | +	IRQ(19),
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +DEFINE_DEV(at32_pm, 0);
 | 
	
		
			
				|  |  | +DEFINE_DEV(at32ap700x_rtc, 0);
 | 
	
		
			
				|  |  | +DEFINE_DEV(at32_wdt, 0);
 | 
	
		
			
				|  |  | +DEFINE_DEV(at32_eic, 0);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/*
 | 
	
		
			
				|  |  | + * Peripheral clock for PM, RTC, WDT and EIC. PM will ensure that this
 | 
	
		
			
				|  |  | + * is always running.
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +static struct clk at32_pm_pclk = {
 | 
	
		
			
				|  |  | +	.name		= "pclk",
 | 
	
		
			
				|  |  | +	.dev		= &at32_pm0_device.dev,
 | 
	
		
			
				|  |  | +	.parent		= &pbb_clk,
 | 
	
		
			
				|  |  | +	.mode		= pbb_clk_mode,
 | 
	
		
			
				|  |  | +	.get_rate	= pbb_clk_get_rate,
 | 
	
		
			
				|  |  | +	.users		= 1,
 | 
	
		
			
				|  |  | +	.index		= 0,
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct resource intc0_resource[] = {
 | 
	
		
			
				|  |  | +	PBMEM(0xfff00400),
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +struct platform_device at32_intc0_device = {
 | 
	
		
			
				|  |  | +	.name		= "intc",
 | 
	
		
			
				|  |  | +	.id		= 0,
 | 
	
		
			
				|  |  | +	.resource	= intc0_resource,
 | 
	
		
			
				|  |  | +	.num_resources	= ARRAY_SIZE(intc0_resource),
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +DEV_CLK(pclk, at32_intc0, pbb, 1);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct clk ebi_clk = {
 | 
	
		
			
				|  |  | +	.name		= "ebi",
 | 
	
		
			
				|  |  | +	.parent		= &hsb_clk,
 | 
	
		
			
				|  |  | +	.mode		= hsb_clk_mode,
 | 
	
		
			
				|  |  | +	.get_rate	= hsb_clk_get_rate,
 | 
	
		
			
				|  |  | +	.users		= 1,
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +static struct clk hramc_clk = {
 | 
	
		
			
				|  |  | +	.name		= "hramc",
 | 
	
		
			
				|  |  | +	.parent		= &hsb_clk,
 | 
	
		
			
				|  |  | +	.mode		= hsb_clk_mode,
 | 
	
		
			
				|  |  | +	.get_rate	= hsb_clk_get_rate,
 | 
	
		
			
				|  |  | +	.users		= 1,
 | 
	
		
			
				|  |  | +	.index		= 3,
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +static struct clk sdramc_clk = {
 | 
	
		
			
				|  |  | +	.name		= "sdramc_clk",
 | 
	
		
			
				|  |  | +	.parent		= &pbb_clk,
 | 
	
		
			
				|  |  | +	.mode		= pbb_clk_mode,
 | 
	
		
			
				|  |  | +	.get_rate	= pbb_clk_get_rate,
 | 
	
		
			
				|  |  | +	.users		= 1,
 | 
	
		
			
				|  |  | +	.index		= 14,
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct resource smc0_resource[] = {
 | 
	
		
			
				|  |  | +	PBMEM(0xfff03400),
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +DEFINE_DEV(smc, 0);
 | 
	
		
			
				|  |  | +DEV_CLK(pclk, smc0, pbb, 13);
 | 
	
		
			
				|  |  | +DEV_CLK(mck, smc0, hsb, 0);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct platform_device pdc_device = {
 | 
	
		
			
				|  |  | +	.name		= "pdc",
 | 
	
		
			
				|  |  | +	.id		= 0,
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +DEV_CLK(hclk, pdc, hsb, 4);
 | 
	
		
			
				|  |  | +DEV_CLK(pclk, pdc, pba, 16);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct clk pico_clk = {
 | 
	
		
			
				|  |  | +	.name		= "pico",
 | 
	
		
			
				|  |  | +	.parent		= &cpu_clk,
 | 
	
		
			
				|  |  | +	.mode		= cpu_clk_mode,
 |