diff options
Diffstat (limited to 'arch/arm')
26 files changed, 173 insertions, 246 deletions
| diff --git a/arch/arm/cpu/armv7/at91/sama5d3_devices.c b/arch/arm/cpu/armv7/at91/sama5d3_devices.c index 4a3fca56a..e55e1c660 100644 --- a/arch/arm/cpu/armv7/at91/sama5d3_devices.c +++ b/arch/arm/cpu/armv7/at91/sama5d3_devices.c @@ -144,6 +144,30 @@ void at91_macb_hw_init(void)  	/* Enable clock */  	at91_periph_clk_enable(ATMEL_ID_EMAC);  } + +void at91_gmac_hw_init(void) +{ +	at91_set_a_periph(AT91_PIO_PORTB, 0, 0);	/* GTX0 */ +	at91_set_a_periph(AT91_PIO_PORTB, 1, 0);	/* GTX1 */ +	at91_set_a_periph(AT91_PIO_PORTB, 2, 0);	/* GTX2 */ +	at91_set_a_periph(AT91_PIO_PORTB, 3, 0);	/* GTX3 */ +	at91_set_a_periph(AT91_PIO_PORTB, 4, 0);	/* GRX0 */ +	at91_set_a_periph(AT91_PIO_PORTB, 5, 0);	/* GRX1 */ +	at91_set_a_periph(AT91_PIO_PORTB, 6, 0);	/* GRX2 */ +	at91_set_a_periph(AT91_PIO_PORTB, 7, 0);	/* GRX3 */ +	at91_set_a_periph(AT91_PIO_PORTB, 8, 0);	/* GTXCK */ +	at91_set_a_periph(AT91_PIO_PORTB, 9, 0);	/* GTXEN */ + +	at91_set_a_periph(AT91_PIO_PORTB, 11, 0);	/* GRXCK */ +	at91_set_a_periph(AT91_PIO_PORTB, 13, 0);	/* GRXER */ + +	at91_set_a_periph(AT91_PIO_PORTB, 16, 0);	/* GMDC */ +	at91_set_a_periph(AT91_PIO_PORTB, 17, 0);	/* GMDIO */ +	at91_set_a_periph(AT91_PIO_PORTB, 18, 0);	/* G125CK */ + +	/* Enable clock */ +	at91_periph_clk_enable(ATMEL_ID_GMAC); +}  #endif  #ifdef CONFIG_LCD diff --git a/arch/arm/cpu/armv7/mx5/clock.c b/arch/arm/cpu/armv7/mx5/clock.c index fbbb365cb..6bef25445 100644 --- a/arch/arm/cpu/armv7/mx5/clock.c +++ b/arch/arm/cpu/armv7/mx5/clock.c @@ -85,7 +85,7 @@ void set_usboh3_clk(void)  			MXC_CCM_CSCDR1_USBOH3_CLK_PODF(1));  } -void enable_usboh3_clk(unsigned char enable) +void enable_usboh3_clk(bool enable)  {  	unsigned int cg = enable ? MXC_CCM_CCGR_CG_ON : MXC_CCM_CCGR_CG_OFF; @@ -122,7 +122,7 @@ void set_usb_phy_clk(void)  }  #if defined(CONFIG_MX51) -void enable_usb_phy1_clk(unsigned char enable) +void enable_usb_phy1_clk(bool enable)  {  	unsigned int cg = enable ? MXC_CCM_CCGR_CG_ON : MXC_CCM_CCGR_CG_OFF; @@ -131,12 +131,12 @@ void enable_usb_phy1_clk(unsigned char enable)  			MXC_CCM_CCGR2_USB_PHY(cg));  } -void enable_usb_phy2_clk(unsigned char enable) +void enable_usb_phy2_clk(bool enable)  {  	/* i.MX51 has a single USB PHY clock, so do nothing here. */  }  #elif defined(CONFIG_MX53) -void enable_usb_phy1_clk(unsigned char enable) +void enable_usb_phy1_clk(bool enable)  {  	unsigned int cg = enable ? MXC_CCM_CCGR_CG_ON : MXC_CCM_CCGR_CG_OFF; @@ -145,7 +145,7 @@ void enable_usb_phy1_clk(unsigned char enable)  			MXC_CCM_CCGR4_USB_PHY1(cg));  } -void enable_usb_phy2_clk(unsigned char enable) +void enable_usb_phy2_clk(bool enable)  {  	unsigned int cg = enable ? MXC_CCM_CCGR_CG_ON : MXC_CCM_CCGR_CG_OFF; diff --git a/arch/arm/cpu/armv7/tegra114/config.mk b/arch/arm/cpu/armv7/tegra114/config.mk deleted file mode 100644 index cb1a19da8..000000000 --- a/arch/arm/cpu/armv7/tegra114/config.mk +++ /dev/null @@ -1,19 +0,0 @@ -# -# Copyright (c) 2010-2013, NVIDIA CORPORATION.  All rights reserved. -# -# (C) Copyright 2002 -# Gary Jennejohn, DENX Software Engineering, <garyj@denx.de> -# -# This program is free software; you can redistribute it and/or modify it -# under the terms and conditions of the GNU General Public License, -# version 2, as published by the Free Software Foundation. -# -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for -# more details. -# -# You should have received a copy of the GNU General Public License -# along with this program.  If not, see <http://www.gnu.org/licenses/>. -# -CONFIG_ARCH_DEVICE_TREE := tegra114 diff --git a/arch/arm/cpu/armv7/tegra20/config.mk b/arch/arm/cpu/armv7/tegra20/config.mk deleted file mode 100644 index 3cac79bc1..000000000 --- a/arch/arm/cpu/armv7/tegra20/config.mk +++ /dev/null @@ -1,10 +0,0 @@ -# -# (C) Copyright 2010,2011 -# NVIDIA Corporation <www.nvidia.com> -# -# (C) Copyright 2002 -# Gary Jennejohn, DENX Software Engineering, <garyj@denx.de> -# -# SPDX-License-Identifier:	GPL-2.0+ -# -CONFIG_ARCH_DEVICE_TREE := tegra20 diff --git a/arch/arm/cpu/armv7/tegra30/config.mk b/arch/arm/cpu/armv7/tegra30/config.mk deleted file mode 100644 index 719ca8192..000000000 --- a/arch/arm/cpu/armv7/tegra30/config.mk +++ /dev/null @@ -1,19 +0,0 @@ -# -# Copyright (c) 2010-2012, NVIDIA CORPORATION.  All rights reserved. -# -# (C) Copyright 2002 -# Gary Jennejohn, DENX Software Engineering, <garyj@denx.de> -# -# This program is free software; you can redistribute it and/or modify it -# under the terms and conditions of the GNU General Public License, -# version 2, as published by the Free Software Foundation. -# -# This program is distributed in the hope it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for -# more details. -# -# You should have received a copy of the GNU General Public License -# along with this program.  If not, see <http://www.gnu.org/licenses/>. -# -CONFIG_ARCH_DEVICE_TREE := tegra30 diff --git a/arch/arm/cpu/armv7/zynq/Makefile b/arch/arm/cpu/armv7/zynq/Makefile index e5494f748..de6b08157 100644 --- a/arch/arm/cpu/armv7/zynq/Makefile +++ b/arch/arm/cpu/armv7/zynq/Makefile @@ -14,6 +14,7 @@ LIB	= $(obj)lib$(SOC).o  COBJS-y	:= timer.o  COBJS-y	+= cpu.o +COBJS-y	+= ddrc.o  COBJS-y	+= slcr.o  COBJS	:= $(COBJS-y) diff --git a/arch/arm/cpu/armv7/zynq/ddrc.c b/arch/arm/cpu/armv7/zynq/ddrc.c new file mode 100644 index 000000000..ba6a6aee5 --- /dev/null +++ b/arch/arm/cpu/armv7/zynq/ddrc.c @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2012 - 2013 Michal Simek <monstr@monstr.eu> + * Copyright (C) 2012 - 2013 Xilinx, Inc. All rights reserved. + * + * SPDX-License-Identifier:	GPL-2.0+ + */ + +#include <common.h> +#include <asm/io.h> +#include <asm/arch/sys_proto.h> +#include <asm/arch/hardware.h> + +DECLARE_GLOBAL_DATA_PTR; + +/* Control regsiter bitfield definitions */ +#define ZYNQ_DDRC_CTRLREG_BUSWIDTH_MASK		0xC +#define ZYNQ_DDRC_CTRLREG_BUSWIDTH_SHIFT	2 +#define ZYNQ_DDRC_CTRLREG_BUSWIDTH_16BIT	1 + +/* ECC scrub regsiter definitions */ +#define ZYNQ_DDRC_ECC_SCRUBREG_ECC_MODE_MASK	0x7 +#define ZYNQ_DDRC_ECC_SCRUBREG_ECCMODE_SECDED	0x4 + +void zynq_ddrc_init(void) +{ +	u32 width, ecctype; + +	width = readl(&ddrc_base->ddrc_ctrl); +	width = (width & ZYNQ_DDRC_CTRLREG_BUSWIDTH_MASK) >> +					ZYNQ_DDRC_CTRLREG_BUSWIDTH_SHIFT; +	ecctype = (readl(&ddrc_base->ecc_scrub) & +		ZYNQ_DDRC_ECC_SCRUBREG_ECC_MODE_MASK); + +	/* ECC is enabled when memory is in 16bit mode and it is enabled */ +	if ((ecctype == ZYNQ_DDRC_ECC_SCRUBREG_ECCMODE_SECDED) && +	    (width == ZYNQ_DDRC_CTRLREG_BUSWIDTH_16BIT)) { +		puts("Memory: ECC enabled\n"); +		/* +		 * Clear the first 1MB because it is not initialized from +		 * first stage bootloader. To get ECC to work all memory has +		 * been initialized by writing any value. +		 */ +		memset(0, 0, 1 * 1024 * 1024); +	} else { +		puts("Memory: ECC disabled\n"); +	} + +	if (width == ZYNQ_DDRC_CTRLREG_BUSWIDTH_16BIT) +		gd->ram_size /= 2; +} diff --git a/arch/arm/cpu/armv7/zynq/slcr.c b/arch/arm/cpu/armv7/zynq/slcr.c index e5fe99298..717ec65ae 100644 --- a/arch/arm/cpu/armv7/zynq/slcr.c +++ b/arch/arm/cpu/armv7/zynq/slcr.c @@ -70,7 +70,7 @@ void zynq_slcr_gem_clk_setup(u32 gem_id, u32 rclk, u32 clk)  		/* Configure GEM_RCLK_CTRL */  		writel(rclk, &slcr_base->gem0_rclk_ctrl);  	} - +	udelay(100000);  out:  	zynq_slcr_lock();  } diff --git a/arch/arm/include/asm/arch-am33xx/hardware.h b/arch/arm/include/asm/arch-am33xx/hardware.h index 2055b2549..ee5fce0da 100644 --- a/arch/arm/include/asm/arch-am33xx/hardware.h +++ b/arch/arm/include/asm/arch-am33xx/hardware.h @@ -68,4 +68,5 @@  /* CPSW Config space */  #define CPSW_BASE			0x4A100000 +int clk_get(int clk);  #endif /* __AM33XX_HARDWARE_H */ diff --git a/arch/arm/include/asm/arch-at91/at91_common.h b/arch/arm/include/asm/arch-at91/at91_common.h index d6597023c..9f54fddce 100644 --- a/arch/arm/include/asm/arch-at91/at91_common.h +++ b/arch/arm/include/asm/arch-at91/at91_common.h @@ -10,6 +10,7 @@  #define AT91_COMMON_H  void at91_can_hw_init(void); +void at91_gmac_hw_init(void);  void at91_macb_hw_init(void);  void at91_mci_hw_init(void);  void at91_serial0_hw_init(void); diff --git a/arch/arm/include/asm/arch-at91/at91sam9x5.h b/arch/arm/include/asm/arch-at91/at91sam9x5.h index fcc6fdc21..a47103851 100644 --- a/arch/arm/include/asm/arch-at91/at91sam9x5.h +++ b/arch/arm/include/asm/arch-at91/at91sam9x5.h @@ -162,6 +162,12 @@  #define ATMEL_ID_UHP		ATMEL_ID_UHPHS  /* + * PMECC table in ROM + */ +#define ATMEL_PMECC_INDEX_OFFSET_512	0x8000 +#define ATMEL_PMECC_INDEX_OFFSET_1024	0x10000 + +/*   * at91sam9x5 specific prototypes   */  #ifndef __ASSEMBLY__ diff --git a/arch/arm/include/asm/arch-at91/sama5d3.h b/arch/arm/include/asm/arch-at91/sama5d3.h index 49bd33510..fefee5ed2 100644 --- a/arch/arm/include/asm/arch-at91/sama5d3.h +++ b/arch/arm/include/asm/arch-at91/sama5d3.h @@ -191,8 +191,6 @@   */  #define ATMEL_PMECC_INDEX_OFFSET_512	0x10000  #define ATMEL_PMECC_INDEX_OFFSET_1024	0x18000 -#define ATMEL_PMECC_ALPHA_OFFSET_512	0x10000 -#define ATMEL_PMECC_ALPHA_OFFSET_1024	0x18000  /*   * SAMA5D3 specific prototypes diff --git a/arch/arm/include/asm/arch-at91/sama5d3_smc.h b/arch/arm/include/asm/arch-at91/sama5d3_smc.h index c060894f1..6caa9b6ed 100644 --- a/arch/arm/include/asm/arch-at91/sama5d3_smc.h +++ b/arch/arm/include/asm/arch-at91/sama5d3_smc.h @@ -17,7 +17,6 @@  #define AT91_ASM_SMC_MODE0	(ATMEL_BASE_SMC + 0x60C)  #else  struct at91_cs { -	u32	reserved[96];  	u32	setup;		/* 0x600 SMC Setup Register */  	u32	pulse;		/* 0x604 SMC Pulse Register */  	u32	cycle;		/* 0x608 SMC Cycle Register */ @@ -26,6 +25,7 @@ struct at91_cs {  };  struct at91_smc { +	u32 reserved[384];  	struct at91_cs cs[4];  };  #endif /*  __ASSEMBLY__ */ diff --git a/arch/arm/include/asm/arch-davinci/da8xx-fb.h b/arch/arm/include/asm/arch-davinci/da8xx-fb.h deleted file mode 100644 index c115034f0..000000000 --- a/arch/arm/include/asm/arch-davinci/da8xx-fb.h +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Porting to u-boot: - * - * (C) Copyright 2011 - * Stefano Babic, DENX Software Engineering, sbabic@denx.de. - * - * Copyright (C) 2008-2009 MontaVista Software Inc. - * Copyright (C) 2008-2009 Texas Instruments Inc - * - * Based on the LCD driver for TI Avalanche processors written by - * Ajay Singh and Shalom Hai. - * - * SPDX-License-Identifier:	GPL-2.0+ - */ - -#ifndef DA8XX_FB_H -#define DA8XX_FB_H - -enum panel_type { -	QVGA = 0 -}; - -enum panel_shade { -	MONOCHROME = 0, -	COLOR_ACTIVE, -	COLOR_PASSIVE, -}; - -enum raster_load_mode { -	LOAD_DATA = 1, -	LOAD_PALETTE, -}; - -struct display_panel { -	enum panel_type panel_type; /* QVGA */ -	int max_bpp; -	int min_bpp; -	enum panel_shade panel_shade; -}; - -struct da8xx_panel { -	const char	name[25];	/* Full name <vendor>_<model> */ -	unsigned short	width; -	unsigned short	height; -	int		hfp;		/* Horizontal front porch */ -	int		hbp;		/* Horizontal back porch */ -	int		hsw;		/* Horizontal Sync Pulse Width */ -	int		vfp;		/* Vertical front porch */ -	int		vbp;		/* Vertical back porch */ -	int		vsw;		/* Vertical Sync Pulse Width */ -	unsigned int	pxl_clk;	/* Pixel clock */ -	unsigned char	invert_pxl_clk;	/* Invert Pixel clock */ -}; - -struct da8xx_lcdc_platform_data { -	const char manu_name[10]; -	void *controller_data; -	const char type[25]; -	void (*panel_power_ctrl)(int); -}; - -struct lcd_ctrl_config { -	const struct display_panel *p_disp_panel; - -	/* AC Bias Pin Frequency */ -	int ac_bias; - -	/* AC Bias Pin Transitions per Interrupt */ -	int ac_bias_intrpt; - -	/* DMA burst size */ -	int dma_burst_sz; - -	/* Bits per pixel */ -	int bpp; - -	/* FIFO DMA Request Delay */ -	int fdd; - -	/* TFT Alternative Signal Mapping (Only for active) */ -	unsigned char tft_alt_mode; - -	/* 12 Bit Per Pixel (5-6-5) Mode (Only for passive) */ -	unsigned char stn_565_mode; - -	/* Mono 8-bit Mode: 1=D0-D7 or 0=D0-D3 */ -	unsigned char mono_8bit_mode; - -	/* Invert line clock */ -	unsigned char invert_line_clock; - -	/* Invert frame clock  */ -	unsigned char invert_frm_clock; - -	/* Horizontal and Vertical Sync Edge: 0=rising 1=falling */ -	unsigned char sync_edge; - -	/* Horizontal and Vertical Sync: Control: 0=ignore */ -	unsigned char sync_ctrl; - -	/* Raster Data Order Select: 1=Most-to-least 0=Least-to-most */ -	unsigned char raster_order; -}; - -struct lcd_sync_arg { -	int back_porch; -	int front_porch; -	int pulse_width; -}; - -void da8xx_video_init(const struct da8xx_panel *panel, int bits_pixel); - -#endif  /* ifndef DA8XX_FB_H */ diff --git a/arch/arm/include/asm/arch-exynos/mipi_dsim.h b/arch/arm/include/asm/arch-exynos/mipi_dsim.h index 8916d9d16..498a9ffc0 100644 --- a/arch/arm/include/asm/arch-exynos/mipi_dsim.h +++ b/arch/arm/include/asm/arch-exynos/mipi_dsim.h @@ -291,7 +291,7 @@ struct exynos_platform_mipi_dsim {   */  struct mipi_dsim_master_ops {  	int (*cmd_write)(struct mipi_dsim_device *dsim, unsigned int data_id, -		unsigned int data0, unsigned int data1); +		const unsigned char *data0, unsigned int data1);  	int (*cmd_read)(struct mipi_dsim_device *dsim, unsigned int data_id,  		unsigned int data0, unsigned int data1);  	int (*get_dsim_frame_done)(struct mipi_dsim_device *dsim); diff --git a/arch/arm/include/asm/arch-mx5/clock.h b/arch/arm/include/asm/arch-mx5/clock.h index 406d150ae..9ee79aede 100644 --- a/arch/arm/include/asm/arch-mx5/clock.h +++ b/arch/arm/include/asm/arch-mx5/clock.h @@ -46,10 +46,10 @@ u32 imx_get_fecclk(void);  unsigned int mxc_get_clock(enum mxc_clock clk);  int mxc_set_clock(u32 ref, u32 freq, u32 clk_type);  void set_usb_phy_clk(void); -void enable_usb_phy1_clk(unsigned char enable); -void enable_usb_phy2_clk(unsigned char enable); +void enable_usb_phy1_clk(bool enable); +void enable_usb_phy2_clk(bool enable);  void set_usboh3_clk(void); -void enable_usboh3_clk(unsigned char enable); +void enable_usboh3_clk(bool enable);  void mxc_set_sata_internal_clock(void);  int enable_i2c_clk(unsigned char enable, unsigned i2c_num);  void enable_nfc_clk(unsigned char enable); diff --git a/arch/arm/include/asm/arch-omap3/gpio.h b/arch/arm/include/asm/arch-omap3/gpio.h index d72f5e50a..f664c1199 100644 --- a/arch/arm/include/asm/arch-omap3/gpio.h +++ b/arch/arm/include/asm/arch-omap3/gpio.h @@ -2,20 +2,7 @@   * Copyright (c) 2009 Wind River Systems, Inc.   * Tom Rix <Tom.Rix@windriver.com>   * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * SPDX-License-Identifier:	GPL-2.0   *   * This work is derived from the linux 2.6.27 kernel source   * To fetch, use the kernel repository @@ -30,10 +17,6 @@   *   * Copyright (C) 2003-2005 Nokia Corporation   * Written by Juha Yrjölä <juha.yrjola@nokia.com> - * - * 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 _GPIO_OMAP3_H  #define _GPIO_OMAP3_H diff --git a/arch/arm/include/asm/arch-omap4/gpio.h b/arch/arm/include/asm/arch-omap4/gpio.h index fdf65edab..72ba1d71a 100644 --- a/arch/arm/include/asm/arch-omap4/gpio.h +++ b/arch/arm/include/asm/arch-omap4/gpio.h @@ -2,20 +2,7 @@   * Copyright (c) 2009 Wind River Systems, Inc.   * Tom Rix <Tom.Rix@windriver.com>   * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * SPDX-License-Identifier:	GPL-2.0   *   * This work is derived from the linux 2.6.27 kernel source   * To fetch, use the kernel repository @@ -30,10 +17,6 @@   *   * Copyright (C) 2003-2005 Nokia Corporation   * Written by Juha Yrjölä <juha.yrjola@nokia.com> - * - * 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 _GPIO_OMAP4_H  #define _GPIO_OMAP4_H diff --git a/arch/arm/include/asm/arch-omap5/clock.h b/arch/arm/include/asm/arch-omap5/clock.h index 3adfc090f..9a2166ce4 100644 --- a/arch/arm/include/asm/arch-omap5/clock.h +++ b/arch/arm/include/asm/arch-omap5/clock.h @@ -149,6 +149,23 @@  /* CM_L3INIT_USBPHY_CLKCTRL */  #define USBPHY_CLKCTRL_OPTFCLKEN_PHY_48M_MASK	8 +/* CM_L3INIT_USB_HOST_HS_CLKCTRL */ +#define OPTFCLKEN_FUNC48M_CLK			(1 << 15) +#define OPTFCLKEN_HSIC480M_P2_CLK		(1 << 14) +#define OPTFCLKEN_HSIC480M_P1_CLK		(1 << 13) +#define OPTFCLKEN_HSIC60M_P2_CLK		(1 << 12) +#define OPTFCLKEN_HSIC60M_P1_CLK		(1 << 11) +#define OPTFCLKEN_UTMI_P3_CLK			(1 << 10) +#define OPTFCLKEN_UTMI_P2_CLK			(1 << 9) +#define OPTFCLKEN_UTMI_P1_CLK			(1 << 8) +#define OPTFCLKEN_HSIC480M_P3_CLK		(1 << 7) +#define OPTFCLKEN_HSIC60M_P3_CLK		(1 << 6) + +/* CM_L3INIT_USB_TLL_HS_CLKCTRL */ +#define OPTFCLKEN_USB_CH0_CLK_ENABLE	(1 << 8) +#define OPTFCLKEN_USB_CH1_CLK_ENABLE	(1 << 9) +#define OPTFCLKEN_USB_CH2_CLK_ENABLE	(1 << 10) +  /* CM_MPU_MPU_CLKCTRL */  #define MPU_CLKCTRL_CLKSEL_EMIF_DIV_MODE_SHIFT	24  #define MPU_CLKCTRL_CLKSEL_EMIF_DIV_MODE_MASK	(3 << 24) diff --git a/arch/arm/include/asm/arch-omap5/ehci.h b/arch/arm/include/asm/arch-omap5/ehci.h new file mode 100644 index 000000000..3921e4ab4 --- /dev/null +++ b/arch/arm/include/asm/arch-omap5/ehci.h @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com* + * Author: Govindraj R <govindraj.raja@ti.com> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#ifndef _EHCI_H +#define _EHCI_H + +#define OMAP_EHCI_BASE				(OMAP54XX_L4_CORE_BASE + 0x64C00) +#define OMAP_UHH_BASE				(OMAP54XX_L4_CORE_BASE + 0x64000) +#define OMAP_USBTLL_BASE			(OMAP54XX_L4_CORE_BASE + 0x62000) + +/* TLL Register Set */ +#define OMAP_USBTLL_SYSCONFIG_SIDLEMODE		(1 << 3) +#define OMAP_USBTLL_SYSCONFIG_ENAWAKEUP		(1 << 2) +#define OMAP_USBTLL_SYSCONFIG_SOFTRESET		(1 << 1) +#define OMAP_USBTLL_SYSCONFIG_CACTIVITY		(1 << 8) +#define OMAP_USBTLL_SYSSTATUS_RESETDONE		1 + +#define OMAP_UHH_SYSCONFIG_SOFTRESET		1 +#define OMAP_UHH_SYSSTATUS_EHCI_RESETDONE	(1 << 2) +#define OMAP_UHH_SYSCONFIG_NOIDLE		(1 << 2) +#define OMAP_UHH_SYSCONFIG_NOSTDBY		(1 << 4) + +#define OMAP_UHH_SYSCONFIG_VAL	(OMAP_UHH_SYSCONFIG_NOIDLE | \ +					OMAP_UHH_SYSCONFIG_NOSTDBY) + +#endif /* _EHCI_H */ diff --git a/arch/arm/include/asm/arch-omap5/gpio.h b/arch/arm/include/asm/arch-omap5/gpio.h index 7c82f9036..9dd03c9fa 100644 --- a/arch/arm/include/asm/arch-omap5/gpio.h +++ b/arch/arm/include/asm/arch-omap5/gpio.h @@ -2,20 +2,7 @@   * Copyright (c) 2009 Wind River Systems, Inc.   * Tom Rix <Tom.Rix@windriver.com>   * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * SPDX-License-Identifier:	GPL-2.0   *   * This work is derived from the linux 2.6.27 kernel source   * To fetch, use the kernel repository @@ -30,10 +17,6 @@   *   * Copyright (C) 2003-2005 Nokia Corporation   * Written by Juha Yrjölä <juha.yrjola@nokia.com> - * - * 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 _GPIO_OMAP5_H  #define _GPIO_OMAP5_H diff --git a/arch/arm/include/asm/arch-zynq/hardware.h b/arch/arm/include/asm/arch-zynq/hardware.h index 25f0e3d9c..cd6967772 100644 --- a/arch/arm/include/asm/arch-zynq/hardware.h +++ b/arch/arm/include/asm/arch-zynq/hardware.h @@ -17,6 +17,9 @@  #define ZYNQ_SDHCI_BASEADDR1		0xE0101000  #define ZYNQ_I2C_BASEADDR0		0xE0004000  #define ZYNQ_I2C_BASEADDR1		0xE0005000 +#define ZYNQ_SPI_BASEADDR0		0xE0006000 +#define ZYNQ_SPI_BASEADDR1		0xE0007000 +#define ZYNQ_DDRC_BASEADDR		0xF8006000  /* Reflect slcr offsets */  struct slcr_regs { @@ -84,4 +87,11 @@ struct scu_regs {  #define scu_base ((struct scu_regs *)ZYNQ_SCU_BASEADDR) +struct ddrc_regs { +	u32 ddrc_ctrl; /* 0x0 */ +	u32 reserved[60]; +	u32 ecc_scrub; /* 0xF4 */ +}; +#define ddrc_base ((struct ddrc_regs *)ZYNQ_DDRC_BASEADDR) +  #endif /* _ASM_ARCH_HARDWARE_H */ diff --git a/arch/arm/include/asm/arch-zynq/sys_proto.h b/arch/arm/include/asm/arch-zynq/sys_proto.h index 19a4eec6a..110de9092 100644 --- a/arch/arm/include/asm/arch-zynq/sys_proto.h +++ b/arch/arm/include/asm/arch-zynq/sys_proto.h @@ -14,6 +14,7 @@ extern void zynq_slcr_gem_clk_setup(u32 gem_id, u32 rclk, u32 clk);  extern void zynq_slcr_devcfg_disable(void);  extern void zynq_slcr_devcfg_enable(void);  extern u32 zynq_slcr_get_idcode(void); +extern void zynq_ddrc_init(void);  /* Driver extern functions */  extern int zynq_sdhci_init(u32 regbase); diff --git a/arch/arm/include/asm/ehci-omap.h b/arch/arm/include/asm/ehci-omap.h index 77e81701b..ac83a539a 100644 --- a/arch/arm/include/asm/ehci-omap.h +++ b/arch/arm/include/asm/ehci-omap.h @@ -42,6 +42,7 @@ enum usbhs_omap_port_mode {  /* Values of UHH_REVISION - Note: these are not given in the TRM */  #define OMAP_USBHS_REV1					0x00000010 /* OMAP3 */  #define OMAP_USBHS_REV2					0x50700100 /* OMAP4 */ +#define OMAP_USBHS_REV2_1				0x50700101 /* OMAP5 */  /* UHH Register Set */  #define OMAP_UHH_HOSTCONFIG_INCR4_BURST_EN		(1 << 2) @@ -60,6 +61,7 @@ enum usbhs_omap_port_mode {  #define OMAP_P2_MODE_CLEAR				(3 << 18)  #define OMAP_P2_MODE_TLL				(1 << 18)  #define OMAP_P2_MODE_HSIC				(3 << 18) +#define OMAP_P3_MODE_CLEAR				(3 << 20)  #define OMAP_P3_MODE_HSIC				(3 << 20)  /* EHCI Register Set */ diff --git a/arch/arm/include/asm/imx-common/dma.h b/arch/arm/include/asm/imx-common/dma.h index 5f516ef6e..d5c1f7f25 100644 --- a/arch/arm/include/asm/imx-common/dma.h +++ b/arch/arm/include/asm/imx-common/dma.h @@ -161,4 +161,6 @@ void mxs_dma_init(void);  int mxs_dma_init_channel(int chan);  int mxs_dma_release(int chan); +void mxs_dma_circ_start(int chan, struct mxs_dma_desc *pdesc); +  #endif	/* __DMA_H__ */ diff --git a/arch/arm/include/asm/omap_gpio.h b/arch/arm/include/asm/omap_gpio.h index 1ebfa8694..5d25d04c3 100644 --- a/arch/arm/include/asm/omap_gpio.h +++ b/arch/arm/include/asm/omap_gpio.h @@ -2,20 +2,7 @@   * Copyright (c) 2009 Wind River Systems, Inc.   * Tom Rix <Tom.Rix@windriver.com>   * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * SPDX-License-Identifier:	GPL-2.0   *   * This work is derived from the linux 2.6.27 kernel source   * To fetch, use the kernel repository @@ -30,10 +17,6 @@   *   * Copyright (C) 2003-2005 Nokia Corporation   * Written by Juha Yrjölä <juha.yrjola@nokia.com> - * - * 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 _GPIO_H  #define _GPIO_H |