ARM: AM33xx: Cleanup clocks and hwinit
Subsystems (2)
v2 cover ARM: AM33xx: Cleanup clocks and hwinit
This series tries to cleanup code for AM33xx, inorder to ensure code reusabilty by moving the duplicated code to common place.
This also helps in addition of new Soc with minimal changes.
Testing:
Boot tested on BeagleBone White/Black, AM35xx EVM/EVMSK. Verified ./MAKEALL -s am33xx.
Changes Since V1:
- Rebased on top of u-boot-ti
- Created a function get_dpll_ddr_params() for getting ddr dpll params from board files.
- Updated License header for newly created files.
Heiko Schocher (1):
ARM: AM33xx: Move s_init to a common place
Lokesh Vutla (3):
ARM: AM33xx: Cleanup dplls data
ARM: AM33xx: Cleanup clocks layer
musb: Disable extra prints
arch/arm/cpu/armv7/am33xx/Makefile | 1 + arch/arm/cpu/armv7/am33xx/board.c | 68 ++- arch/arm/cpu/armv7/am33xx/clock.c | 171 ++++++++ arch/arm/cpu/armv7/am33xx/clock_am33xx.c | 495 +++++----------------- arch/arm/cpu/armv7/am33xx/clock_ti814x.c | 25 +- arch/arm/cpu/armv7/am33xx/emif4.c | 5 +- arch/arm/include/asm/arch-am33xx/clock.h | 94 ++++ arch/arm/include/asm/arch-am33xx/clocks_am33xx.h | 6 +- arch/arm/include/asm/arch-am33xx/sys_proto.h | 9 +- board/isee/igep0033/board.c | 55 +-- board/phytec/pcm051/board.c | 57 +-- board/ti/am335x/board.c | 102 ++--- board/ti/am335x/mux.c | 19 + board/ti/ti814x/evm.c | 65 +-- drivers/usb/musb-new/musb_core.c | 20 +- 15 files changed, 573 insertions(+), 619 deletions(-) create mode 100644 arch/arm/cpu/armv7/am33xx/clock.c
Signature · 1 line
1.7.9.5
PATCH v2 1/4 ARM: AM33xx: Cleanup dplls data
Locking sequence for all the dplls is same. In the current code same sequence is done repeatedly for each dpll. Instead have a generic function for locking dplls and pass dpll data to that function.
This is derived from OMAP4 boards.
--- arch/arm/cpu/armv7/am33xx/Makefile | 1 + arch/arm/cpu/armv7/am33xx/clock.c | 111 +++++++++++++ arch/arm/cpu/armv7/am33xx/clock_am33xx.c | 220 +++++--------------------- arch/arm/cpu/armv7/am33xx/emif4.c | 4 + arch/arm/include/asm/arch-am33xx/clock.h | 70 ++++++++ arch/arm/include/asm/arch-am33xx/ddr_defs.h | 2 + arch/arm/include/asm/arch-am33xx/sys_proto.h | 1 + board/isee/igep0033/board.c | 10 ++ board/phytec/pcm051/board.c | 9 ++ board/ti/am335x/board.c | 27 ++++ 10 files changed, 273 insertions(+), 182 deletions(-) create mode 100644 arch/arm/cpu/armv7/am33xx/clock.c
arch/arm/cpu/armv7/am33xx/Makefile +1 -0
@@ -10,6 +10,7 @@ LIB = $(obj)lib$(SOC).o COBJS-$(CONFIG_AM33XX) += clock_am33xx.o COBJS-$(CONFIG_TI814X) += clock_ti814x.o +COBJS-$(CONFIG_AM33XX) += clock.o COBJS += sys_info.o COBJS += mem.o COBJS += ddr.o
arch/arm/cpu/armv7/am33xx/clock.c new file +111 -0
111 lines not on this page · raw message
arch/arm/cpu/armv7/am33xx/clock_am33xx.c +38 -182
246 lines not on this page · raw message
arch/arm/cpu/armv7/am33xx/emif4.c +4 -0
@@ -79,6 +79,10 @@ static void config_vtp(int nr) ; } +void __weak ddr_pll_config (unsigned int ddrpll_m) +{ +} +void config_ddr (unsigned int pll,unsigned int ioctrl,const struct ddr_data *data,const struct cmd_control *ctrl,const struct emif_regs *regs,int nr)
arch/arm/include/asm/arch-am33xx/clock.h +70 -0
74 lines not on this page · raw message
arch/arm/include/asm/arch-am33xx/ddr_defs.h +2 -0
@@ -146,6 +146,8 @@ void set_sdram_timings(const struct emif_regs *regs, int nr);*/ void config_ddr_phy (const struct emif_regs *regs,int nr); +void ddr_pll_config (unsigned int ddrpll_m); +struct ddr_cmd_regs {unsigned int resv0[7 ];unsigned int cm0csratio;/* offset 0x01C */
arch/arm/include/asm/arch-am33xx/sys_proto.h +1 -0
@@ -37,4 +37,5 @@ void omap_nand_switch_ecc(uint32_t, uint32_t);void rtc32k_enable (void );void uart_soft_reset (void ); +u32 wait_on_value (u32 ,u32 ,void *,u32 );#endif
board/isee/igep0033/board.c +10 -0
@@ -66,6 +66,16 @@ static struct emif_regs ddr3_emif_reg_data = { .zq_config = K4B2G1646EBIH9_ZQ_CFG, .emif_ddr_phy_ctlr_1 = K4B2G1646EBIH9_EMIF_READ_LATENCY, }; + +#define OSC (V_OSCK/1000000) +const struct dpll_params dpll_ddr = { +303 ,OSC -1 ,1 ,-1 ,-1 ,-1 ,-1 }; + +const struct dpll_params *get_dpll_ddr_params (void ) +{ +return &dpll_ddr; +} +#endif /*
board/phytec/pcm051/board.c +9 -0
@@ -44,6 +44,15 @@ static struct ctrl_dev *cdev = (struct ctrl_dev *)CTRL_DEVICE_BASE;/* DDR RAM defines */ #define DDR_CLK_MHZ 303/* DDR_DPLL_MULT value */ +#define OSC (V_OSCK/1000000) +const struct dpll_params dpll_ddr = { +DDR_CLK_MHZ ,OSC -1 ,1 ,-1 ,-1 ,-1 ,-1 }; + +const struct dpll_params *get_dpll_ddr_params (void ) +{ +return &dpll_ddr; +} +static const struct ddr_data ddr3_data = { .datardsratio0 =MT41J256M8HX15E_RD_DQS , .datawdsratio0 =MT41J256M8HX15E_WR_DQS ,
board/ti/am335x/board.c +27 -0
@@ -242,6 +242,33 @@ int spl_start_uboot(void) }#endif +#define OSC (V_OSCK/1000000) +const struct dpll_params dpll_ddr = { +266 ,OSC -1 ,1 ,-1 ,-1 ,-1 ,-1 }; +const struct dpll_params dpll_ddr_evm_sk = { +303 ,OSC -1 ,1 ,-1 ,-1 ,-1 ,-1 }; +const struct dpll_params dpll_ddr_bone_black = { +400 ,OSC -1 ,1 ,-1 ,-1 ,-1 ,-1 }; + +const struct dpll_params *get_dpll_ddr_params (void ) +{ +struct am335x_baseboard_id header; + +enable_i2c0_pin_mux (); +i2c_init (CONFIG_SYS_I2C_SPEED ,CONFIG_SYS_I2C_SLAVE ); +if (read_eeprom (&header) <0 ) +puts ("Could not get board ID.\n" ); + +if (board_is_evm_sk (&header)) +return &dpll_ddr_evm_sk; +else if (board_is_bone_lt (&header)) +return &dpll_ddr_bone_black; +else if (board_is_evm_15_or_later (&header)) +return &dpll_ddr_evm_sk; +else +return &dpll_ddr; +} +#endif /*
Signature · 1 line
1.7.9.5
PATCH v2 1/4 ARM: AM33xx: Cleanup dplls data
Hello LOkesh,
Am 30.07.2013 07:18, schrieb Lokesh Vutla:
Quoted 20 lines
Locking sequence for all the dplls is same. In the current code same sequence is done repeatedly for each dpll. Instead have a generic function for locking dplls and pass dpll data to that function.
This is derived from OMAP4 boards.
Signed-off-by Lokesh Vutla<[email protected]>--- arch/arm/cpu/armv7/am33xx/Makefile | 1 + arch/arm/cpu/armv7/am33xx/clock.c | 111 +++++++++++++ arch/arm/cpu/armv7/am33xx/clock_am33xx.c | 220 +++++--------------------- arch/arm/cpu/armv7/am33xx/emif4.c | 4 + arch/arm/include/asm/arch-am33xx/clock.h | 70 ++++++++ arch/arm/include/asm/arch-am33xx/ddr_defs.h | 2 + arch/arm/include/asm/arch-am33xx/sys_proto.h | 1 + board/isee/igep0033/board.c | 10 ++ board/phytec/pcm051/board.c | 9 ++ board/ti/am335x/board.c | 27 ++++ 10 files changed, 273 insertions(+), 182 deletions(-)
Quoted 1 line
create mode 100644
arch/arm/cpu/armv7/am33xx/clock.c
Thanks!
bye,
Heiko
Signature · 2 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
PATCH v2 2/4 ARM: AM33xx: Cleanup clocks layer
In reply to Lokesh VutlaCleaning up the clocks layer.
This helps in addition of new Soc with minimal
changes.
This is derived from OMAP4 boards.
--- arch/arm/cpu/armv7/am33xx/board.c | 6 - arch/arm/cpu/armv7/am33xx/clock.c | 62 +++++- arch/arm/cpu/armv7/am33xx/clock_am33xx.c | 275 ++++++++------------------- arch/arm/cpu/armv7/am33xx/clock_ti814x.c | 19 +- arch/arm/cpu/armv7/am33xx/emif4.c | 1 - arch/arm/include/asm/arch-am33xx/clock.h | 28 ++- arch/arm/include/asm/arch-am33xx/ddr_defs.h | 2 - board/isee/igep0033/board.c | 11 +- board/ti/am335x/board.c | 13 +- board/ti/ti814x/evm.c | 12 +- 10 files changed, 193 insertions(+), 236 deletions(-)
arch/arm/cpu/armv7/am33xx/board.c +0 -6
@@ -56,12 +56,6 @@ int cpu_mmc_init(bd_t *bis) }#endif -void setup_clocks_for_console (void ) -{ -/* Not yet implemented */ -return ; -} -/* AM33XX has two MUSB controllers which can be host or gadget */ #if (defined(CONFIG_MUSB_GADGET ) || defined(CONFIG_MUSB_HOST )) && \ (defined(CONFIG_AM335X_USB0 ) || defined(CONFIG_AM335X_USB1 ))
arch/arm/cpu/armv7/am33xx/clock.c +61 -1
71 lines not on this page · raw message
arch/arm/cpu/armv7/am33xx/clock_am33xx.c +78 -197
294 lines not on this page · raw message
arch/arm/cpu/armv7/am33xx/clock_ti814x.c +9 -10
@@ -264,11 +264,6 @@ const struct sata_pll *spll = (struct sata_pll *)SATA_PLL_BASE;*/ static void enable_per_clocks (void ) { -/* UART0 */ -writel (PRCM_MOD_EN , &cmalwon->uart0clkctrl); -while (readl (&cmalwon->uart0clkctrl) !=PRCM_MOD_EN ) - ; -/* HSMMC1 */ writel (PRCM_MOD_EN , &cmalwon->mmchs1clkctrl);while (readl (&cmalwon->mmchs1clkctrl) !=PRCM_MOD_EN )
@@ -455,8 +450,6 @@ void sata_pll_config(void) ; } -void enable_emif_clocks (void ) {}; -void enable_dmm_clocks (void ) {writel (PRCM_MOD_EN , &cmdef->fwclkctrl);
@@ -477,13 +470,19 @@ void enable_dmm_clocks(void) ; } +void setup_clocks_for_console (void ) +{ +unlock_pll_control_mmr (); +/* UART0 */ +writel (PRCM_MOD_EN , &cmalwon->uart0clkctrl); +while (readl (&cmalwon->uart0clkctrl) !=PRCM_MOD_EN ) + ; +}/* * Configure the PLL/PRCM for necessary peripherals */ -void pll_init () +void prcm_init (void ) { -unlock_pll_control_mmr (); -/* Enable the control module */ writel (PRCM_MOD_EN , &cmalwon->controlclkctrl);
arch/arm/cpu/armv7/am33xx/emif4.c +0 -1
@@ -87,7 +87,6 @@ void config_ddr(unsigned int pll, unsigned int ioctrl, const struct ddr_data *data, const struct cmd_control *ctrl, const struct emif_regs *regs, int nr) { -enable_emif_clocks ();ddr_pll_config (pll );config_vtp (nr);config_cmd_ctrl (ctrl, nr);
arch/arm/include/asm/arch-am33xx/clock.h +26 -2
@@ -15,6 +15,28 @@#define LDELAY 1000000 +/*CM_<clock_domain>__CLKCTRL */ +#define CD_CLKCTRL_CLKTRCTRL_SHIFT 0 +#define CD_CLKCTRL_CLKTRCTRL_MASK 3 + +#define CD_CLKCTRL_CLKTRCTRL_NO_SLEEP 0 +#define CD_CLKCTRL_CLKTRCTRL_SW_SLEEP 1 +#define CD_CLKCTRL_CLKTRCTRL_SW_WKUP 2 + +/* CM_<clock_domain>_<module>_CLKCTRL */ +#define MODULE_CLKCTRL_MODULEMODE_SHIFT 0 +#define MODULE_CLKCTRL_MODULEMODE_MASK 3 +#define MODULE_CLKCTRL_IDLEST_SHIFT 16 +#define MODULE_CLKCTRL_IDLEST_MASK (3 << 16) + +#define MODULE_CLKCTRL_MODULEMODE_SW_DISABLE 0 +#define MODULE_CLKCTRL_MODULEMODE_SW_EXPLICIT_EN 2 + +#define MODULE_CLKCTRL_IDLEST_FULLY_FUNCTIONAL 0 +#define MODULE_CLKCTRL_IDLEST_TRANSITIONING 1 +#define MODULE_CLKCTRL_IDLEST_IDLE 2 +#define MODULE_CLKCTRL_IDLEST_DISABLED 3 +/* CM_CLKMODE_DPLL */ #define CM_CLKMODE_DPLL_REGM4XEN_SHIFT 11#define CM_CLKMODE_DPLL_REGM4XEN_MASK (1 << 11)
@@ -77,10 +99,12 @@ extern const struct dpll_params dpll_core;extern const struct dpll_params dpll_per;extern const struct dpll_params dpll_ddr; -extern const struct cm_wkuppll *cmwkup; +extern struct cm_wkuppll *const cmwkup; -void setup_dplls (void );const struct dpll_params *get_dpll_ddr_params (void );void do_setup_dpll (const struct dpll_regs *,const struct dpll_params *); +void prcm_init (void ); +void enable_basic_clocks (void ); +void do_enable_clocks (u32 *const *,u32 *const *,u8 );#endif
arch/arm/include/asm/arch-am33xx/ddr_defs.h +0 -2
@@ -146,8 +146,6 @@ void set_sdram_timings(const struct emif_regs *regs, int nr);*/ void config_ddr_phy (const struct emif_regs *regs,int nr); -void ddr_pll_config (unsigned int ddrpll_m); -struct ddr_cmd_regs {unsigned int resv0[7 ];unsigned int cm0csratio;/* offset 0x01C */
board/isee/igep0033/board.c +6 -5
@@ -103,11 +103,7 @@ void s_init(void) ;#ifdef CONFIG_SPL_BUILD -/* Setup the PLLs and the clocks for the peripherals */ -pll_init (); - -/* Enable RTC32K clock */ -rtc32k_enable (); +setup_clocks_for_console ();enable_uart0_pin_mux ();
@@ -116,6 +112,11 @@ void s_init(void)preloader_console_init (); +prcm_init (); + +/* Enable RTC32K clock */ +rtc32k_enable (); +/* Configure board pin mux */ enable_board_pin_mux ();
board/ti/am335x/board.c +6 -7
@@ -317,10 +317,7 @@ void s_init(void)#if defined(CONFIG_SPL_BUILD ) || defined(CONFIG_NOR_BOOT )/* Setup the PLLs and the clocks for the peripherals */ -pll_init (); - -/* Enable RTC32K clock */ -rtc32k_enable (); +setup_clocks_for_console ();#ifdef CONFIG_SERIAL1 enable_uart0_pin_mux ();
@@ -354,12 +351,14 @@ void s_init(void)preloader_console_init ();#endif -/* Initalize the board header */ -enable_i2c0_pin_mux (); -i2c_init (CONFIG_SYS_I2C_SPEED ,CONFIG_SYS_I2C_SLAVE ); +prcm_init (); +if (read_eeprom (&header) <0 )puts ("Could not get board ID.\n" ); +/* Enable RTC32K clock */ +rtc32k_enable (); +enable_board_pin_mux (&header);if (board_is_evm_sk (&header)) {/*
board/ti/ti814x/evm.c +7 -5
@@ -125,11 +125,7 @@ void s_init(void)/* Enable timer */ timer_init (); -/* Setup the PLLs and the clocks for the peripherals */ -pll_init (); - -/* Enable RTC32K clock */ -rtc32k_enable (); +setup_clocks_for_console ();/* Set UART pins */ enable_uart0_pin_mux ();
@@ -147,6 +143,12 @@ void s_init(void)preloader_console_init (); +/* Setup the PLLs and the clocks for the peripherals */ +prcm_init (); + +/* Enable RTC32K clock */ +rtc32k_enable (); +config_dmm (&evm_lisa_map_regs); config_ddr(0, 0, &evm_ddr2_data, &evm_ddr2_cctrl_data,
Signature · 1 line
1.7.9.5
PATCH v2 2/4 ARM: AM33xx: Cleanup clocks layer
Hello Lokesh,
Am 30.07.2013 07:18, schrieb Lokesh Vutla:
Quoted 6 lines
Cleaning up the clocks layer.
This helps in addition of new Soc with minimal
changes.
This is derived from OMAP4 boards.Signed-off-by Lokesh Vutla<[email protected]>
Quoted 12 lines
--- arch/arm/cpu/armv7/am33xx/board.c | 6 - arch/arm/cpu/armv7/am33xx/clock.c | 62 +++++- arch/arm/cpu/armv7/am33xx/clock_am33xx.c | 275 ++++++++------------------- arch/arm/cpu/armv7/am33xx/clock_ti814x.c | 19 +- arch/arm/cpu/armv7/am33xx/emif4.c | 1 - arch/arm/include/asm/arch-am33xx/clock.h | 28 ++- arch/arm/include/asm/arch-am33xx/ddr_defs.h | 2 - board/isee/igep0033/board.c | 11 +- board/ti/am335x/board.c | 13 +- board/ti/ti814x/evm.c | 12 +- 10 files changed, 193 insertions(+), 236 deletions(-)
Thanks!
bye,
Heiko
Signature · 2 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
PATCH v2 3/4 ARM: AM33xx: Move s_init to a common place
In reply to Lokesh VutlaFrom: Heiko Schocher <[email protected]>
s_init has the same outline for all the AM33xx based board. So making it generic.
This also helps in addition of new Soc with minimal changes.
--- arch/arm/cpu/armv7/am33xx/board.c | 62 +++++++++++++++-- arch/arm/cpu/armv7/am33xx/clock_ti814x.c | 6 ++ arch/arm/include/asm/arch-am33xx/clocks_am33xx.h | 6 +- arch/arm/include/asm/arch-am33xx/sys_proto.h | 8 ++- board/isee/igep0033/board.c | 50 +++----------- board/phytec/pcm051/board.c | 48 +++---------- board/ti/am335x/board.c | 80 ++++------------------ board/ti/am335x/mux.c | 19 +++++ board/ti/ti814x/evm.c | 67 +++--------------- 9 files changed, 128 insertions(+), 218 deletions(-)
arch/arm/cpu/armv7/am33xx/board.c +56 -6
@@ -137,7 +137,7 @@ int arch_misc_init(void) }#if defined(CONFIG_SPL_BUILD ) || defined(CONFIG_NOR_BOOT ) -void rtc32k_enable (void ) +static void rtc32k_enable (void ) {struct rtc_regs *rtc = (struct rtc_regs *)RTC_BASE ;
@@ -153,11 +153,7 @@ void rtc32k_enable(void)writel ((1 <<3 ) | (1 <<6 ), &rtc->osc); } -#define UART_RESET (0x1 << 1) -#define UART_CLK_RUNNING_MASK 0x1 -#define UART_SMART_IDLE_EN (0x1 << 0x3) - -void uart_soft_reset (void ) +static void uart_soft_reset (void ) {struct uart_sys *uart_base = (struct uart_sys *)DEFAULT_UART_BASE ;u32 regval;
@@ -174,4 +170,58 @@ void uart_soft_reset(void) regval |=UART_SMART_IDLE_EN ;writel (regval, &uart_base->uartsyscfg); } + +static void watchdog_disable (void ) +{ +struct wd_timer *wdtimer = (struct wd_timer *)WDT_BASE ; + +writel (0xAAAA , &wdtimer->wdtwspr); +while (readl (&wdtimer->wdtwwps) !=0x0 ) + ; +writel (0x5555 , &wdtimer->wdtwspr); +while (readl (&wdtimer->wdtwwps) !=0x0 ) + ; +}#endif + +void s_init (void ) +{ +/* +* The ROM will only have set up sufficient pinmux to allow for the +* first 4KiB NOR to be read, we must finish doing what we know of +* the NOR mux in this space in order to continue. +*/ +#ifdef CONFIG_NOR_BOOT +enable_norboot_pin_mux (); +#endif +/* +* Save the boot parameters passed from romcode. +* We cannot delay the saving further than this, +* to prevent overwrites. +*/ +#ifdef CONFIG_SPL_BUILD +save_omap_boot_params (); +#endif +#if defined(CONFIG_SPL_BUILD ) || defined(CONFIG_NOR_BOOT ) +watchdog_disable (); +timer_init (); +set_uart_mux_conf (); +setup_clocks_for_console (); +uart_soft_reset (); +#endif +#ifdef CONFIG_NOR_BOOT + gd->baudrate =CONFIG_BAUDRATE ; +serial_init (); + gd->have_console =1 ; +#else + gd = &gdata; +preloader_console_init (); +#endif +#if defined(CONFIG_SPL_BUILD ) || defined(CONFIG_NOR_BOOT ) +prcm_init (); +set_mux_conf_regs (); +/* Enable RTC32K clock */ +rtc32k_enable (); +sdram_init (); +#endif +}
arch/arm/cpu/armv7/am33xx/clock_ti814x.c +6 -0
@@ -277,6 +277,12 @@ static void enable_per_clocks(void)writel (PRCM_MOD_EN , &cmalwon->ethernet1clkctrl);while ((readl (&cmalwon->ethernet1clkctrl) &ENET_CLKCTRL_CMPL ) !=0 ) ; + +/* RTC clocks */ +writel (PRCM_MOD_EN , &cmalwon->rtcclkstctrl); +writel (PRCM_MOD_EN , &cmalwon->rtcclkctrl); +while (readl (&cmalwon->rtcclkctrl) !=PRCM_MOD_EN ) + ; }/*
arch/arm/include/asm/arch-am33xx/clocks_am33xx.h +4 -2
@@ -16,8 +16,10 @@#define CONFIG_SYS_MPUCLK 550#endif -extern void pll_init (void ); -extern void enable_emif_clocks (void ); +#define UART_RESET (0x1 << 1) +#define UART_CLK_RUNNING_MASK 0x1 +#define UART_SMART_IDLE_EN (0x1 << 0x3) +extern void enable_dmm_clocks (void );#endif /* endif _CLOCKS_AM33XX_H_ */
arch/arm/include/asm/arch-am33xx/sys_proto.h +6 -2
@@ -35,7 +35,11 @@ void enable_gpmc_cs_config(const u32 *gpmc_config, struct gpmc_cs *cs, u32 base, u32 size);void omap_nand_switch_ecc (uint32_t ,uint32_t ); -void rtc32k_enable (void ); -void uart_soft_reset (void ); +void set_uart_mux_conf (void ); +void set_mux_conf_regs (void ); +void sdram_init (void );u32 wait_on_value (u32 ,u32 ,void *,u32 ); +#ifdef CONFIG_NOR_BOOT +void enable_norboot_pin_mux (void ); +#endif #endif
board/isee/igep0033/board.c +8 -42
70 lines not on this page · raw message
board/phytec/pcm051/board.c +8 -40
73 lines not on this page · raw message
board/ti/am335x/board.c +13 -67
114 lines not on this page · raw message
board/ti/am335x/mux.c +19 -0
@@ -239,6 +239,25 @@ static struct module_pin_mux bone_norcape_pin_mux[] = { };#endif +#if defined(CONFIG_NOR_BOOT ) +static struct module_pin_mux norboot_pin_mux[] = { + {OFFSET (lcd_data1),MODE (1 ) |PULLUDDIS }, + {OFFSET (lcd_data2),MODE (1 ) |PULLUDDIS }, + {OFFSET (lcd_data3),MODE (1 ) |PULLUDDIS }, + {OFFSET (lcd_data4),MODE (1 ) |PULLUDDIS }, + {OFFSET (lcd_data5),MODE (1 ) |PULLUDDIS }, + {OFFSET (lcd_data6),MODE (1 ) |PULLUDDIS }, + {OFFSET (lcd_data7),MODE (1 ) |PULLUDDIS }, + {OFFSET (lcd_data8),MODE (1 ) |PULLUDDIS }, + {OFFSET (lcd_data9),MODE (1 ) |PULLUDDIS }, + {-1 }, +}; + +void enable_norboot_pin_mux (void ) +{ +configure_module_pin_mux (norboot_pin_mux); +} +#endif void enable_uart0_pin_mux (void ) {
board/ti/ti814x/evm.c +8 -59
101 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH v2 3/4 ARM: AM33xx: Move s_init to a common place
Hello Lokesh,
Am 30.07.2013 07:18, schrieb Lokesh Vutla:
Quoted 9 lines
From: Heiko Schocher<[email protected]>
s_inithas the same outline for all the AM33xx based board. So making it generic.
This also helps in addition of new Soc with minimal changes.Signed-off-by Lokesh Vutla<[email protected]>Signed-off-by Heiko Schocher<[email protected]>Signed-off-by Tom Rini<[email protected]>
Quoted 11 lines
--- arch/arm/cpu/armv7/am33xx/board.c | 62 +++++++++++++++-- arch/arm/cpu/armv7/am33xx/clock_ti814x.c | 6 ++ arch/arm/include/asm/arch-am33xx/clocks_am33xx.h | 6 +- arch/arm/include/asm/arch-am33xx/sys_proto.h | 8 ++- board/isee/igep0033/board.c | 50 +++----------- board/phytec/pcm051/board.c | 48 +++---------- board/ti/am335x/board.c | 80 ++++------------------ board/ti/am335x/mux.c | 19 +++++ board/ti/ti814x/evm.c | 67 +++--------------- 9 files changed, 128 insertions(+), 218 deletions(-)
Thanks!
bye,
Heiko
Signature · 2 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
PATCH v2 3/4 ARM: AM33xx: Move s_init to a common place
Quoted 8 lines · Heiko Schocher
Hello Lokesh,
Am 30.07.2013 07:18, schrieb Lokesh Vutla:
Quoted 5 lines
From: Heiko Schocher<[email protected]>
s_inithas the same outline for all the AM33xx based board. So making it generic.
This also helps in addition of new Soc with minimal changes.
There's a new function now defined ...
void enable_norboot_pin_mux(void)
... but our board *always* boots via NOR. All the required pinmux config is handled by enable_board_pin_mux().
Should I just define this an empty function ?
Or should it be a "maybe unused" function ?
Mark J.
PATCH v2 3/4 ARM: AM33xx: Move s_init to a common place
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Quoted 10 lines · Mark Jackson
Quoted 8 lines · Heiko Schocher
Hello Lokesh,
Am 30.07.2013 07:18, schrieb Lokesh Vutla:
Quoted 5 lines
From: Heiko Schocher<[email protected]>
s_inithas the same outline for all the AM33xx based board. So
making it generic. This also helps in addition of new Soc with minimal changes.
Quoted 5 lines
There's a new function now defined ...
void
enable_norboot_pin_mux(void)... but our board *always* boots via NOR. All the required
OK, then you should rip out the SPL bits, yes? Or do you support SD too? :)
Quoted 5 lines
pinmux config is handled by
enable_board_pin_mux().Should I just define this an empty function ?
Or should it be a "maybe unused" function ?
Well, why can't it still be done in that function?
- --
Tom
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQIcBAEBAgAGBQJSFOo4AAoJENk4IS6UOR1WZ+wQAJRjGVg/7dygiaJZmtuyHm7D 9uyQJU0o/xrQu3A3i+GBOuYP7D6awCLBCVyTDgTibWcXtvKtHsVwFSc4oDhgVRKl YU5fuO8qVYyCBRiS9QsEOFIPAgubBWg6PWgdCG9pakveNRJ9hWQLsjusePrObGyn pxhFSB4zx6KFuGBufzC+fLzPcM9hY9Xxuiqbj7qvK/oO/k8vdekOWrHE4+y2UBxS LsFzGWlHpN3h5iZwVk+EgrClKK+f4V5MNxyzW8dMGKF42Vl9KVaG7krXl4pUs4ju SoYIxfJ/r8DZjfFi1IuKMacKER1eROTdhGCZl0PtlL4VRxomSNix/gne3gG0ykB6 lGZuv9C046gpkQWQW90+t1IQIDWTOMkEadJ3cVUBZqraIk3bcybLk0pOoaah7ayC bmknCM7hVB+V7HfPGG6U20nhy5R2SebBIt5VdH4xIP5SFMpgcWKCXf9fbjWVwH3v ptnqYIlXgUBoDzA3u3UuaI91i4bsFmnjZfvbKeC4zHXK8uhwow06mU2hMaotGeEg qpki2Ga1CevKddDPJSwzOUyFIo6Tp8HhD//u2EXMEf1jB880fKdSsHbt2URYmxYb 0HmvPFMCP04AOrgmADq3K1Yd4DbxejaWyORdF7rWvAl/lUSElnzo4Q/1DS2LjHOe Ngcvd53zCmpV/51VpbQq
=gAOw
-----END PGP SIGNATURE-----
PATCH v2 3/4 ARM: AM33xx: Move s_init to a common place
In reply to Lokesh VutlaQuoted 9 lines · Lokesh Vutla
From: Heiko Schocher <[email protected]>
s_inithas the same outline for all the AM33xx based board. So making it generic.
This also helps in addition of new Soc with minimal changes.Signed-off-by Lokesh Vutla <[email protected]>Signed-off-by Heiko Schocher <[email protected]>Signed-off-by Tom Rini <[email protected]>
<snip>
This patch introduces the following new function call ...
arch/arm/cpu/armv7/am33xx/board.c void uart_soft_reset(void) · line 196
Quoted 10 lines
arch/arm/cpu/armv7/am33xx/board.c +10
-0+void s_init (void ) +{ +/* +* The ROM will only have set up sufficient pinmux to allow for the +* first 4KiB NOR to be read, we must finish doing what we know of +* the NOR mux in this space in order to continue. +*/ +#ifdef CONFIG_NOR_BOOT +enable_norboot_pin_mux (); +#endif
... which replaces the old code ...
Quoted 7 lines
board/ti/am335x/board.c +0
-7-/* -* The ROM will only have set up sufficient pinmux to allow for the -* first 4KiB NOR to be read, we must finish doing what we know of -* the NOR mux in this space in order to continue. -*/ -#ifdef CONFIG_NOR_BOOT - asm("stmfd sp!, {r2 - r4}" );
board/ti/am335x/board.c const struct dpll_params *get_dpll_ddr_params(void) · line 297
Quoted 10 lines
board/ti/am335x/board.c +0
-10- asm("movw r4, #0x8A4" ); - asm("movw r3, #0x44E1" ); - asm("orr r4, r4, r3, lsl #16" ); - asm("mov r2, #9" ); - asm("mov r3, #8" ); - asm("gpmc_mux: str r2, [r4], #4" ); - asm("subs r3, r3, #1" ); - asm("bne gpmc_mux" ); - asm("ldmfd sp!, {r2 - r4}" ); -#endif
Now (for the TI boards) enable_norboot_pin_mux() is defined as:-
Quoted 9 lines
board/ti/am335x/mux.c +9
-0+#if defined(CONFIG_NOR_BOOT ) +static struct module_pin_mux norboot_pin_mux[] = { + {OFFSET (lcd_data1),MODE (1 ) |PULLUDDIS }, + {OFFSET (lcd_data2),MODE (1 ) |PULLUDDIS }, + {OFFSET (lcd_data3),MODE (1 ) |PULLUDDIS }, + {OFFSET (lcd_data4),MODE (1 ) |PULLUDDIS }, + {OFFSET (lcd_data5),MODE (1 ) |PULLUDDIS }, + {OFFSET (lcd_data6),MODE (1 ) |PULLUDDIS }, + {OFFSET(lcd_data7), MODE(1) | PULLUDDIS},
board/ti/am335x/mux.c static struct module_pin_mux bone_norcape_pin_mux[] = { · line 260
Quoted 10 lines
board/ti/am335x/mux.c +10
-0+ {OFFSET(lcd_data8), MODE(1) | PULLUDDIS}, + {OFFSET(lcd_data9), MODE(1) | PULLUDDIS}, + {-1}, +}; + +void enable_norboot_pin_mux(void) +{ + configure_module_pin_mux(norboot_pin_mux); +} +#endif
Firstly, this pinmux code seems wrong, since lcd_data pin map:-
lcd_data1 (mode 1) => gpmc_a1_mux1lcd_data2 (mode 1) => gpmc_a2_mux1lcd_data3 (mode 1) => gpmc_a3_mux1lcd_data4 (mode 1) => gpmc_a4_mux1lcd_data5 (mode 1) => gpmc_a5_mux1lcd_data6 (mode 1) => gpmc_a6_mux1lcd_data7 (mode 1) => gpmc_a7_mux1lcd_data8 (mode 1) => gpmc_a12_mux1lcd_data9 (mode 1) => gpmc_a13_mux1
Doesn't this leave gpmc_a[8..11] unconfigured ? Shouldn't we configure lcd_vsync, lcd_hsync and lcd_pclk ?
Secondly, I've modded our Nanobone code to match this new setup, as follows:-
static struct module_pin_mux norboot_pin_mux[] = {
{OFFSET(lcd_data1), (MODE(1) | PULLUDDIS)}, /* GPMC A17 */
{OFFSET(lcd_data2), (MODE(1) | PULLUDDIS)}, /* GPMC A18 */
{OFFSET(lcd_data3), (MODE(1) | PULLUDDIS)}, /* GPMC A19 */
{OFFSET(lcd_data4), (MODE(1) | PULLUDDIS)}, /* GPMC A20 */
{OFFSET(lcd_data5), (MODE(1) | PULLUDDIS)}, /* GPMC A21 */
{OFFSET(lcd_data6), (MODE(1) | PULLUDDIS)}, /* GPMC A22 */
{OFFSET(lcd_data7), (MODE(1) | PULLUDDIS)}, /* GPMC A23 */
{OFFSET(lcd_vsync), (MODE(1) | PULLUDDIS)}, /* GPMC A24 */
{OFFSET(lcd_hsync), (MODE(1) | PULLUDDIS)}, /* GPMC A25 */
{OFFSET(lcd_pclk), (MODE(1) | PULLUDDIS)}, /* GPMC A26 */
{-1},
};void enable_norboot_pin_mux(void)
{
configure_module_pin_mux(norboot_pin_mux);
}But this fails to boot. However, if I use the old ASM code:-
void enable_norboot_pin_mux(void)
{
asm("stmfd sp!, {r2 - r4}");
asm("movw r4, #0x8A4");
asm("movw r3, #0x44E1");
asm("orr r4, r4, r3, lsl #16");
asm("mov r2, #9");
asm("mov r3, #8");
asm("gpmc_mux: str r2, [r4], #4");
asm("subs r3, r3, #1");
asm("bne gpmc_mux");
asm("ldmfd sp!, {r2 - r4}");
}... this now boots correctly !!
Anyone care to comment ?
PATCH v2 3/4 ARM: AM33xx: Move s_init to a common place
Hi Mark,
Quoted 48 lines · Mark Jackson
Quoted 9 lines · Lokesh Vutla
From: Heiko Schocher <[email protected]>
s_inithas the same outline for all the AM33xx based board. So making it generic.
This also helps in addition of new Soc with minimal changes.Signed-off-by Lokesh Vutla <[email protected]>Signed-off-by Heiko Schocher <[email protected]>Signed-off-by Tom Rini <[email protected]><snip>
This patch introduces the following new function call ...
arch/arm/cpu/armv7/am33xx/board.c void uart_soft_reset(void) · line 196
Quoted 10 lines
arch/arm/cpu/armv7/am33xx/board.c +10
-0+void s_init (void ) +{ +/* +* The ROM will only have set up sufficient pinmux to allow for the +* first 4KiB NOR to be read, we must finish doing what we know of +* the NOR mux in this space in order to continue. +*/ +#ifdef CONFIG_NOR_BOOT +enable_norboot_pin_mux (); +#endif ... which replaces the old code ...
Quoted 7 lines
board/ti/am335x/board.c +0
-7-/* -* The ROM will only have set up sufficient pinmux to allow for the -* first 4KiB NOR to be read, we must finish doing what we know of -* the NOR mux in this space in order to continue. -*/ -#ifdef CONFIG_NOR_BOOT - asm("stmfd sp!, {r2 - r4}" );board/ti/am335x/board.c const struct dpll_params *get_dpll_ddr_params(void) · line 297
Quoted 10 lines
board/ti/am335x/board.c +0
-10- asm("movw r4, #0x8A4" ); - asm("movw r3, #0x44E1" ); - asm("orr r4, r4, r3, lsl #16" ); - asm("mov r2, #9" ); - asm("mov r3, #8" ); - asm("gpmc_mux: str r2, [r4], #4" ); - asm("subs r3, r3, #1" ); - asm("bne gpmc_mux" ); - asm("ldmfd sp!, {r2 - r4}" ); -#endif Now (for the TI boards)
enable_norboot_pin_mux()is defined as:-
Quoted 13 lines
board/ti/am335x/mux.c static struct module_pin_mux bone_norcape_pin_mux[] = { · line 254
Quoted 13 lines
board/ti/am335x/mux.c +13
-0+#if defined(CONFIG_NOR_BOOT ) +static struct module_pin_mux norboot_pin_mux[] = { + {OFFSET (lcd_data1),MODE (1 ) |PULLUDDIS }, + {OFFSET (lcd_data2),MODE (1 ) |PULLUDDIS }, + {OFFSET (lcd_data3),MODE (1 ) |PULLUDDIS }, + {OFFSET (lcd_data4),MODE (1 ) |PULLUDDIS }, + {OFFSET (lcd_data5),MODE (1 ) |PULLUDDIS }, + {OFFSET (lcd_data6),MODE (1 ) |PULLUDDIS }, + {OFFSET (lcd_data7),MODE (1 ) |PULLUDDIS }, + {OFFSET (lcd_data8),MODE (1 ) |PULLUDDIS }, + {OFFSET (lcd_data9),MODE (1 ) |PULLUDDIS }, + {-1 }, +};
Is this configuration not working for you?
Quoted 46 lines
board/ti/am335x/mux.c static struct module_pin_mux bone_norcape_pin_mux[] = { · line 260
Quoted 6 lines
board/ti/am335x/mux.c +6
-0+ +void enable_norboot_pin_mux (void ) +{ +configure_module_pin_mux (norboot_pin_mux); +} +#endif Firstly, this pinmux code seems wrong, since
lcd_datapin map:-
lcd_data1(mode 1) =>gpmc_a1_mux1lcd_data2(mode 1) =>gpmc_a2_mux1lcd_data3(mode 1) =>gpmc_a3_mux1lcd_data4(mode 1) =>gpmc_a4_mux1lcd_data5(mode 1) =>gpmc_a5_mux1lcd_data6(mode 1) =>gpmc_a6_mux1lcd_data7(mode 1) =>gpmc_a7_mux1lcd_data8(mode 1) =>gpmc_a12_mux1lcd_data9(mode 1) =>gpmc_a13_mux1Doesn't this leave gpmc_a[8..11] unconfigured ? Shouldn't we configure
lcd_vsync,lcd_hsyncandlcd_pclk?Secondly, I've modded our Nanobone code to match this new setup, as follows:-
static struct module_pin_mux norboot_pin_mux[] = { {OFFSET(lcd_data1), (MODE(1) | PULLUDDIS)}, /* GPMC A17 */ {OFFSET(lcd_data2), (MODE(1) | PULLUDDIS)}, /* GPMC A18 */ {OFFSET(lcd_data3), (MODE(1) | PULLUDDIS)}, /* GPMC A19 */ {OFFSET(lcd_data4), (MODE(1) | PULLUDDIS)}, /* GPMC A20 */ {OFFSET(lcd_data5), (MODE(1) | PULLUDDIS)}, /* GPMC A21 */ {OFFSET(lcd_data6), (MODE(1) | PULLUDDIS)}, /* GPMC A22 */ {OFFSET(lcd_data7), (MODE(1) | PULLUDDIS)}, /* GPMC A23 */ {OFFSET(lcd_vsync), (MODE(1) | PULLUDDIS)}, /* GPMC A24 */ {OFFSET(lcd_hsync), (MODE(1) | PULLUDDIS)}, /* GPMC A25 */ {OFFSET(lcd_pclk), (MODE(1) | PULLUDDIS)}, /* GPMC A26 */ {-1}, };void
enable_norboot_pin_mux(void){ configure_module_pin_mux(norboot_pin_mux); }But this fails to boot. However, if I use the old ASM code:-
void
enable_norboot_pin_mux(void)
Quoted 12 lines
{
asm("stmfd sp!, {r2 - r4}");
asm("movw r4, #0x8A4");
asm("movw r3, #0x44E1");
asm("orr r4, r4, r3, lsl #16");
asm("mov r2, #9");
asm("mov r3, #8");
asm("gpmc_mux: str r2, [r4], #4");
asm("subs r3, r3, #1");
asm("bne gpmc_mux");
asm("ldmfd sp!, {r2 - r4}");
}This code writes 0x9 into 8 continuous registers starting from 0x44e108a4, this is what done in module_pin_mux norboot_pin_mux except that it has 9 registers(i guess 9th register was added by mistake..:( ) Correct me if I am wrong.
So you are telling this is wrong but boots properly ? Steve in CC can comment more on this configuration.
Thanks and regards,
Lokesh
Quoted 5 lines
... this now boots correctly !!
Anyone care to comment ?
PATCH v2 3/4 ARM: AM33xx: Move s_init to a common place
Quoted 14 lines · Lokesh Vutla
Hi Mark,
Quoted 11 lines · Mark Jackson
Quoted 9 lines · Lokesh Vutla
From: Heiko Schocher <[email protected]>
s_inithas the same outline for all the AM33xx based board. So making it generic.
This also helps in addition of new Soc with minimal changes.Signed-off-by Lokesh Vutla <[email protected]>Signed-off-by Heiko Schocher <[email protected]>Signed-off-by Tom Rini <[email protected]>
<snip>
Quoted 15 lines
Quoted 15 lines
But this fails to boot. However, if I use the old ASM code:-
void
enable_norboot_pin_mux(void){ asm("stmfd sp!, {r2 - r4}"); asm("movw r4, #0x8A4"); asm("movw r3, #0x44E1"); asm("orr r4, r4, r3, lsl #16"); asm("mov r2, #9"); asm("mov r3, #8"); asm("gpmc_mux: str r2, [r4], #4"); asm("subs r3, r3, #1"); asm("bne gpmc_mux"); asm("ldmfd sp!, {r2 - r4}"); }
Quoted 4 lines
This code writes
0x9into 8 continuous registers starting from0x44e108a4, this is what done inmodule_pin_muxnorboot_pin_muxexcept that it has 9 registers(i guess 9th register was added by mistake..:( ) Correct me if I am wrong.
Not sure about the code, but it was introduced here:-
http://git.denx.de/?p=u-boot/u-boot-ti.git;a=commit;h=c5c7a7c32d552592ac49749e5c184c89bd50c098
Quoted 1 line
So you are telling this is wrong but boots properly ?
Basically ... yes !!
PATCH v2 3/4 ARM: AM33xx: Move s_init to a common place
Quoted 38 lines · Mark Jackson
Quoted 14 lines · Lokesh Vutla
Hi Mark,
Quoted 11 lines · Mark Jackson
Quoted 9 lines · Lokesh Vutla
From: Heiko Schocher <[email protected]>
s_inithas the same outline for all the AM33xx based board. So making it generic.
This also helps in addition of new Soc with minimal changes.Signed-off-by Lokesh Vutla <[email protected]>Signed-off-by Heiko Schocher <[email protected]>Signed-off-by Tom Rini <[email protected]><snip>
Quoted 15 lines
Quoted 15 lines
But this fails to boot. However, if I use the old ASM code:-
void
enable_norboot_pin_mux(void){ asm("stmfd sp!, {r2 - r4}"); asm("movw r4, #0x8A4"); asm("movw r3, #0x44E1"); asm("orr r4, r4, r3, lsl #16"); asm("mov r2, #9"); asm("mov r3, #8"); asm("gpmc_mux: str r2, [r4], #4"); asm("subs r3, r3, #1"); asm("bne gpmc_mux"); asm("ldmfd sp!, {r2 - r4}"); }Quoted 4 lines
This code writes
0x9into 8 continuous registers starting from0x44e108a4, this is what done inmodule_pin_muxnorboot_pin_muxexcept that it has 9 registers(i guess 9th register was added by mistake..:( ) Correct me if I am wrong.
Quoted 7 lines
Not sure about the code, but it was introduced here:-
http://git.denx.de/?p=u-boot/u-boot-ti.git;a=commit;h=c5c7a7c32d552592ac49749e5c184c89bd50c098
Quoted 1 line
So you are telling this is wrong but boots properly ?
Basically ... yes !!
Is there any update on this issue ?
I'm keen to get our board support files pushed through.
PATCH v2 4/4 musb: Disable extra prints
In reply to Lokesh VutlaThere are many musb prints in SPL and U-Boot log.
These prints are required only during musb debug.
So replacing printk with pr_debug in musb_core.
--- drivers/usb/musb-new/musb_core.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-)
drivers/usb/musb-new/musb_core.c +8 -12
@@ -1311,9 +1311,7 @@ static int __devinit ep_config_from_table(struct musb *musb)break ; } -printk (KERN_DEBUG "%s: setup fifo_mode %d\n" , - musb_driver_name, fifo_mode); - +pr_debug ("%s: setup fifo_mode %d\n" , musb_driver_name, fifo_mode); done: offset =fifo_setup (musb, hw_ep, &ep0_cfg,0 );
@@ -1341,10 +1339,9 @@ done: musb->nr_endpoints =max (epn, musb->nr_endpoints); } -printk (KERN_DEBUG "%s: %d/%d max ep, %d/%d memory\n" , - musb_driver_name, - n +1 , musb->config->num_eps *2 -1 , - offset, (1 << (musb->config->ram_bits +2 ))); +pr_debug ("%s: %d/%d max ep, %d/%d memory\n" , musb_driver_name, n +1 , + musb->config->num_eps *2 -1 , offset, + (1 << (musb->config->ram_bits +2 )));if (!musb->bulk_ep) {pr_debug ("%s: missing bulk\n" , musb_driver_name);
@@ -1447,8 +1444,7 @@ static int __devinit musb_core_init(u16 musb_type, struct musb *musb)if (reg &MUSB_CONFIGDATA_SOFTCONE )strcat (aInfo,", SoftConn" ); -printk (KERN_DEBUG "%s: ConfigData=0x%02x (%s)\n" , - musb_driver_name, reg, aInfo); +pr_debug ("%s:ConfigData=0x%02x (%s)\n" , musb_driver_name, reg, aInfo); aDate[0 ] =0 ;if (MUSB_CONTROLLER_MHDRC == musb_type) {
@@ -1469,8 +1465,8 @@ static int __devinit musb_core_init(u16 musb_type, struct musb *musb)snprintf (aRevision,32 ,"%d.%d%s" ,MUSB_HWVERS_MAJOR (musb->hwvers),MUSB_HWVERS_MINOR (musb->hwvers), (musb->hwvers &MUSB_HWVERS_RC ) ?"RC" :"" ); -printk (KERN_DEBUG "%s: %sHDRC RTL version %s %s\n" , - musb_driver_name, type, aRevision, aDate); +pr_debug ("%s: %sHDRC RTL version %s %s\n" , musb_driver_name, type, + aRevision, aDate);/* configure ep0 */ musb_configure_ep0 (musb);
@@ -2122,7 +2118,7 @@ musb_init_controller(struct musb_hdrc_platform_data *plat, struct device *dev,pm_runtime_put (musb->controller); - dev_info(dev, "USB %s mode controller at %p using %s, IRQ %d\n", + pr_debug("USB %s mode controller at %p using %s, IRQ %d\n", ({char *s; switch (musb->board_mode) { case MUSB_HOST: s = "Host"; break;
Signature · 1 line
1.7.9.5
PATCH v2 4/4 musb: Disable extra prints
Hello Lokesh,
Am 30.07.2013 07:18, schrieb Lokesh Vutla:
Quoted 8 lines
There are many musb prints in SPL and U-Boot log.
These prints are required only during musb debug.
So replacing printk withpr_debuginmusb_core.Signed-off-by Lokesh Vutla<[email protected]>--- drivers/usb/musb-new/musb_core.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-)
Thanks!
bye,
Heiko
Signature · 2 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
v2 cover ARM: AM33xx: Cleanup clocks and hwinit
In reply to Lokesh VutlaQuoted 33 lines · Lokesh Vutla
This series tries to cleanup code for AM33xx, inorder to ensure code reusabilty by moving the duplicated code to common place.
This also helps in addition of new Soc with minimal changes.Testing:
Boot tested on BeagleBone White/Black, AM35xx EVM/EVMSK. Verified ./MAKEALL -s am33xx.Changes Since V1:
- Rebased on top of u-boot-ti
- Created a functionget_dpll_ddr_params()for getting ddr dpll params from board files.
- Updated License header for newly created files.Heiko Schocher (1):
ARM: AM33xx: Moves_initto a common placeLokesh Vutla (3):
ARM: AM33xx: Cleanup dplls data
ARM: AM33xx: Cleanup clocks layer
musb: Disable extra printsarch/arm/cpu/armv7/am33xx/Makefile | 1 + arch/arm/cpu/armv7/am33xx/board.c | 68 ++- arch/arm/cpu/armv7/am33xx/clock.c | 171 ++++++++ arch/arm/cpu/armv7/am33xx/clock_am33xx.c | 495 +++++----------------- arch/arm/cpu/armv7/am33xx/clock_ti814x.c | 25 +- arch/arm/cpu/armv7/am33xx/emif4.c | 5 +- arch/arm/include/asm/arch-am33xx/clock.h | 94 ++++ arch/arm/include/asm/arch-am33xx/clocks_am33xx.h | 6 +- arch/arm/include/asm/arch-am33xx/sys_proto.h | 9 +-
Quoted 8 lines
board/isee/igep0033/board.c | 55 +-- board/phytec/pcm051/board.c | 57 +-- board/ti/am335x/board.c | 102 ++--- board/ti/am335x/mux.c | 19 + board/ti/ti814x/evm.c | 65 +-- drivers/usb/musb-new/musb_core.c | 20 +- 15 files changed, 573 insertions(+), 619 deletions(-) create mode 100644 arch/arm/cpu/armv7/am33xx/clock.c
Applied to u-boot-ti/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130816/1ac00d53/attachment.pgp>