From: 宋秀杰 Date: Tue, 14 Sep 2010 09:12:33 +0000 (-0700) Subject: add rk2818_pm.h X-Git-Tag: firefly_0821_release~11142 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=90c9a9add9bcb007e34a194418ca75bdbf0b99c9;p=firefly-linux-kernel-4.4.55.git add rk2818_pm.h --- diff --git a/arch/arm/mach-rk2818/include/mach/rk2818_pm.h b/arch/arm/mach-rk2818/include/mach/rk2818_pm.h new file mode 100755 index 000000000000..7997e3297bcf --- /dev/null +++ b/arch/arm/mach-rk2818/include/mach/rk2818_pm.h @@ -0,0 +1,215 @@ +/* + * rockchip-pcm.h - ALSA PCM interface for the Rockchip rk28 SoC + * + * Driver for rockchip iis audio + * Copyright (C) 2009 lhh + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#ifndef _ROCKCHIP_PM_H +#define _ROCKCHIP_PM_H + +/***********************scu SCU_CLKSEL0 reg bit************************************/ +#define PM_RESUME_BIT 0 +#define PM_DEBUG_BIT 1 +#define PM_SET_BIT(b) (1<>b) + +#define PM_BIT_CLEAR(off,b) (~((1<<(b))-1)<<(off)) + + +/***********************scu SCU_CLKSEL0 reg bit************************************/ + +#define SCU_GATE0CLK_ALL_EN 0 +#define SCU_GATE0CLK_ALL_DIS 0XFFFFFFFF +#define DIS_RTC_PCLK (1<<27) +#define DIS_WDT_PCLK (1<<26) +#define DIS_TIMER_CLK (1<<25) +#define DIS_PWM_CLK (1<<24) +#define DIS_SPI1_CLK (1<<23) +#define DIS_SPI0_CLK (1<<22) +#define DIS_I2C1_CLK (1<<21) +#define DIS_I2C0_CLK (1<<20) +#define DIS_UART1_CLK (1<<19) +#define DIS_UART0_CLK (1<<18) +#define DIS_GPIO1_CLK (1<<17) +#define DIS_GPIO0_CLK (1<<16) +#define DIS_EMBEDED_ROM_CLK (1<<15) +#define DIS_LCDC_CLK (1<<11) +#define DIS_DEBLOCK_HCLK (1<<10) +#define DIS_INTC_CLK (1<<9) +#define DIS_NANDC_HCLK (1<<8) +#define DIS_DMA_CLK (1<<2) +#define DIS_DSP_CLK (1<<1) +#define DIS_ARM_CLK (1<<0) +/***********************scu SCU_CLKSEL1_CON reg bit************************************/ + +#define SCU_GATE1CLK_ALL_EN 0 +//#define SCU_GATE1CLK_BASE_SET (0XFFFFFFFF&(~DIS_DDR_CLK)&(~DIS_DDR_HCLK)) // ×¢ÒâAXI λΪ1ʱΪenable + +#define SCU_GATE1CLK_BASE_SET (0XFFFF8001&(~EN_AXI_CLK)) // ×¢ÒâAXI λΪ1ʱΪenable +//#define SCU_GATE1CLK_BASE_SET (0XFFFFFFFF) +#define EN_AXI_CLK (1<<27) +#define DIS_DDR_CLK (1<<23) +#define DIS_DDR_HCLK (1<<22) +#define DIS_LCDC_HCLK (1<<19) +#define DIS_LCDC_SHARE_MEM_CLK (1<<18) +#define DIS_MSDRAM_CTR_HCLK (1<<17) +#define DIS_SDRAM_CTR_HCLK (1<<16) +#define DIS_MAndSDRAM_CMM_HCLK (1<<15) +/***********************scu SCU_CLKSEL2_CON reg bit************************************/ +#define SCU_GATE2CLK_ALL_EN 0 +#define SCU_GATE2CLK_ALL_DIS 0X3FF +#define SCU_GATE2CLK_BASE_SET (SCU_GATE2CLK_ALL_DIS&(~DIS_ARMIBUS_CLK)&(~DIS_ARMDBUS_CLK)&(~DIS_EXPAHBBUS_CLK)&(~DIS_APBBUS_CLK)) + +#define DIS_ITCMBUS_CLK (1<<8) +#define DIS_DTCM0BUS_CLK (1<<7) +#define DIS_DTCM1BUS_CLK (1<<6) + +#define DIS_APBBUS_CLK (1<<4) +#define DIS_EXPAHBBUS_CLK (1<<3) +#define DIS_ARMDBUS_CLK (1<<1) +#define DIS_ARMIBUS_CLK (1<<0) +/***********************scu SCU_APLL_CON reg bit************************************/ +#define ARMPLL_POERDOWN (1<<22) +#define ARMPLL_BYPASSMODE (1<<0) +/***********************scu SCU_DPLL_CON reg bit************************************/ + +#define DSPPLL_POERDOWN (1<<22) + +/***********************scu SCU_CPLL_CON reg bit************************************/ +#define CPLL_POERDOWN (1<<22) + +/***********************scu PM_SCU_MODE_CON reg bit************************************/ +#define CPU_SLOW_MODE (~(3<<2)) + + +/***********************scu SCU_PMU_CON reg bit************************************/ + +#define LCDC_POWER_DOWN (1<<3) +#define DSP_POWER_DOWN (1<<0) + #define DDR_POWER_DOWN (1<<2) + + +/***********************scu PM_SCU_CLKSEL0_CON reg bit************************************/ +#define CLKSEL0_HCLK (0) +#define CLKSEL0_PCLK (2) + +#define CLKSEL0_HCLK21 (0x01