mirror of
https://xff.cz/git/u-boot/
synced 2025-09-30 06:51:28 +02:00
arm: omap: Unify get_device_type() function
Refactor OMAP3/4/5 code so that we have only one get_device_type() function for all platforms. Details: - Add ctrl variable for AM33xx and OMAP3 platforms (like it's done for OMAP4/5), so we can obtain status register in common way - For now ctrl structure for AM33xx/OMAP3 contains only status register address - Run hw_data_init() in order to assign ctrl to proper structure - Remove DEVICE_MASK and DEVICE_GP definitions as they are not used (DEVICE_TYPE_MASK and GP_DEVICE are used instead) - Guard structs in omap_common.h with #ifdefs, because otherwise including omap_common.h on non-omap4/5 board files breaks compilation Buildman script was run for all OMAP boards. Result output: arm: (for 38/616 boards) all +352.5 bss -1.4 data +3.5 rodata +300.0 spl/u-boot-spl:all +284.7 spl/u-boot-spl:data +2.2 spl/u-boot-spl:rodata +252.0 spl/u-boot-spl:text +30.5 text +50.4 (no errors to report) Tested on AM57x EVM and BeagleBoard xM. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> [trini: Rework the guards as to not break TI81xx] Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
committed by
Tom Rini
parent
f2d78c1ced
commit
00bbe96eba
@@ -484,6 +484,7 @@ struct omap_sys_ctrl_regs {
|
||||
u32 ctrl_core_sma_sw_1;
|
||||
};
|
||||
|
||||
#if defined(CONFIG_OMAP44XX) || defined(CONFIG_OMAP54XX)
|
||||
struct dpll_params {
|
||||
u32 m;
|
||||
u32 n;
|
||||
@@ -516,6 +517,7 @@ struct dpll_regs {
|
||||
u32 cm_div_h23_dpll;
|
||||
u32 cm_div_h24_dpll;
|
||||
};
|
||||
#endif /* CONFIG_OMAP44XX || CONFIG_OMAP54XX */
|
||||
|
||||
struct dplls {
|
||||
const struct dpll_params *mpu;
|
||||
@@ -539,6 +541,7 @@ struct pmic_data {
|
||||
int (*pmic_write)(u8 sa, u8 reg_addr, u8 reg_data);
|
||||
};
|
||||
|
||||
#if defined(CONFIG_OMAP44XX) || defined(CONFIG_OMAP54XX)
|
||||
enum {
|
||||
OPP_LOW,
|
||||
OPP_NOM,
|
||||
@@ -584,6 +587,7 @@ struct vcores_data {
|
||||
struct volts eve;
|
||||
struct volts iva;
|
||||
};
|
||||
#endif /* CONFIG_OMAP44XX || CONFIG_OMAP54XX */
|
||||
|
||||
extern struct prcm_regs const **prcm;
|
||||
extern struct prcm_regs const omap5_es1_prcm;
|
||||
@@ -595,6 +599,8 @@ extern struct dplls dra7xx_dplls;
|
||||
extern struct vcores_data const **omap_vcores;
|
||||
extern const u32 sys_clk_array[8];
|
||||
extern struct omap_sys_ctrl_regs const **ctrl;
|
||||
extern struct omap_sys_ctrl_regs const am33xx_ctrl;
|
||||
extern struct omap_sys_ctrl_regs const omap3_ctrl;
|
||||
extern struct omap_sys_ctrl_regs const omap4_ctrl;
|
||||
extern struct omap_sys_ctrl_regs const omap5_ctrl;
|
||||
extern struct omap_sys_ctrl_regs const dra7xx_ctrl;
|
||||
@@ -611,6 +617,7 @@ const struct dpll_params *get_iva_dpll_params(struct dplls const *);
|
||||
const struct dpll_params *get_usb_dpll_params(struct dplls const *);
|
||||
const struct dpll_params *get_abe_dpll_params(struct dplls const *);
|
||||
|
||||
#if defined(CONFIG_OMAP44XX) || defined(CONFIG_OMAP54XX)
|
||||
void do_enable_clocks(u32 const *clk_domains,
|
||||
u32 const *clk_modules_hw_auto,
|
||||
u32 const *clk_modules_explicit_en,
|
||||
@@ -619,6 +626,7 @@ void do_enable_clocks(u32 const *clk_domains,
|
||||
void do_disable_clocks(u32 const *clk_domains,
|
||||
u32 const *clk_modules_disable,
|
||||
u8 wait_for_disable);
|
||||
#endif /* CONFIG_OMAP44XX || CONFIG_OMAP54XX */
|
||||
|
||||
void setup_post_dividers(u32 const base,
|
||||
const struct dpll_params *params);
|
||||
@@ -630,7 +638,9 @@ void enable_basic_uboot_clocks(void);
|
||||
void enable_usb_clocks(int index);
|
||||
void disable_usb_clocks(int index);
|
||||
|
||||
#if defined(CONFIG_OMAP44XX) || defined(CONFIG_OMAP54XX)
|
||||
void scale_vcores(struct vcores_data const *);
|
||||
#endif /* CONFIG_OMAP44XX || CONFIG_OMAP54XX */
|
||||
int get_voltrail_opp(int rail_offset);
|
||||
u32 get_offset_code(u32 volt_offset, struct pmic_data *pmic);
|
||||
void do_scale_vcore(u32 vcore_reg, u32 volt_mv, struct pmic_data *pmic);
|
||||
@@ -750,7 +760,6 @@ static inline u8 is_dra72x(void)
|
||||
* silicon device type
|
||||
* Moving to common from cpu.h, since it is shared by various omap devices
|
||||
*/
|
||||
#define DEVICE_MASK (BIT(8) | BIT(9) | BIT(10))
|
||||
#define TST_DEVICE 0x0
|
||||
#define EMU_DEVICE 0x1
|
||||
#define HS_DEVICE 0x2
|
||||
|
Reference in New Issue
Block a user