X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=arch%2Farm%2Finclude%2Fasm%2Farch-am33xx%2Fcpu.h;h=f10cffb292d8a906db6be2f07a93cf1df0882982;hb=1e362dc3e799fd86722a60f5639e52a67dfc0658;hp=16e8a80700a497936f8c14cd4f023892b7a4c6b7;hpb=d62ef5619c9249772247d6af3b8e65207ae0c871;p=karo-tx-uboot.git diff --git a/arch/arm/include/asm/arch-am33xx/cpu.h b/arch/arm/include/asm/arch-am33xx/cpu.h index 16e8a80700..f10cffb292 100644 --- a/arch/arm/include/asm/arch-am33xx/cpu.h +++ b/arch/arm/include/asm/arch-am33xx/cpu.h @@ -25,14 +25,14 @@ #include -#define BIT(x) (1 << x) -#define CL_BIT(x) (0 << x) +#define BIT(x) (1 << (x)) +#define CL_BIT(x) (0 << (x)) /* Timer register bits */ #define TCLR_ST BIT(0) /* Start=1 Stop=0 */ #define TCLR_AR BIT(1) /* Auto reload */ #define TCLR_PRE BIT(5) /* Pre-scaler enable */ -#define TCLR_PTV_SHIFT (2) /* Pre-scaler shift value */ +#define TCLR_PTV_SHIFT 2 /* Pre-scaler shift value */ #define TCLR_PRE_DISABLE CL_BIT(5) /* Pre-scalar disable */ /* device type */ @@ -43,18 +43,16 @@ #define GP_DEVICE 0x3 /* cpu-id for AM33XX family */ -#define AM335X 0xB944 +#define AM335X_ID 0xB944 #define DEVICE_ID 0x44E10600 /* This gives the status of the boot mode pins on the evm */ -#define SYSBOOT_MASK (BIT(0) | BIT(1) | BIT(2)\ - | BIT(3) | BIT(4)) +#define SYSBOOT_MASK (BIT(0) | BIT(1) | BIT(2) | \ + BIT(3) | BIT(4)) /* Reset control */ -#ifdef CONFIG_AM33XX #define PRM_RSTCTRL 0x44E00F00 #define PRM_RSTST 0x44E00F08 -#endif #define PRM_RSTCTRL_RESET 0x01 #define PRM_RSTST_WARM_RESET_MASK 0x232 @@ -127,7 +125,9 @@ struct cm_wkuppll { unsigned int idlestdpllddr; /* offset 0x34 */ unsigned int resv5[2]; unsigned int clkseldpllddr; /* offset 0x40 */ - unsigned int resv6[4]; + unsigned int autoidledplldisp; /* offset 0x44 */ + unsigned int idlestdplldisp; /* offset 0x48 */ + unsigned int resv6[2]; unsigned int clkseldplldisp; /* offset 0x54 */ unsigned int resv7[1]; unsigned int idlestdpllcore; /* offset 0x5c */ @@ -152,7 +152,8 @@ struct cm_wkuppll { unsigned int resv11[1]; unsigned int wkup_uart0ctrl; /* offset 0xB4 */ unsigned int wkup_i2c0ctrl; /* offset 0xB8 */ - unsigned int resv12[7]; + unsigned int resv12[6]; + unsigned int wdtimer1ctrl; unsigned int divm6dpllcore; /* offset 0xD8 */ }; @@ -168,7 +169,7 @@ struct cm_perpll { unsigned int resv1; unsigned int cpgmac0clkctrl; /* offset 0x14 */ unsigned int lcdclkctrl; /* offset 0x18 */ - unsigned int usb0clkctrl; /* offset 0x1C */ + unsigned int usb0clkctrl; /* offset 0x1c */ unsigned int resv2; unsigned int tptc0clkctrl; /* offset 0x24 */ unsigned int emifclkctrl; /* offset 0x28 */ @@ -341,7 +342,25 @@ struct ctrl_dev { unsigned int resv4[4]; unsigned int miisel; /* offset 0x50 */ }; + +void init_timer(void); + +#define clk_get_rate(c,p) \ + __clk_get_rate(readl(&(c)->clkseldpll##p), \ + readl(&(c)->divm2dpll##p)) + +unsigned long __clk_get_rate(u32 m_n, u32 div_m2); + +unsigned long lcdc_clk_rate(void); + #endif /* __ASSEMBLY__ */ #endif /* __KERNEL_STRICT_NAMES */ +/* Ethernet MAC ID from EFuse */ +#define MAC_ID0_LO (CTRL_BASE + 0x630) +#define MAC_ID0_HI (CTRL_BASE + 0x634) +#define MAC_ID1_LO (CTRL_BASE + 0x638) +#define MAC_ID1_HI (CTRL_BASE + 0x63c) +#define MAC_MII_SEL (CTRL_BASE + 0x650) + #endif /* _AM33XX_CPU_H */