[Armadeus-commitlog] armadeus branch, master, updated. armadeus-5.3-352-g64f9093
Brought to you by:
sszy
From: jorasse <jo...@us...> - 2014-07-30 08:13:52
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "armadeus". The branch, master has been updated via 64f909377bcd7d89a03d3faf1d8650bc5b017ab8 (commit) from cb5b38a762e49cb7169fecf89a76b8d4940a3e43 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 64f909377bcd7d89a03d3faf1d8650bc5b017ab8 Author: Eric Jarrige <eri...@ar...> Date: Wed Jul 30 10:13:31 2014 +0200 [LINUX] 3.15: Fix patch syntax ----------------------------------------------------------------------- Summary of changes: ...15-armadeus-logo-add_armadeus-project_tux.patch | 18 ++-- patches/linux/3.15/0021-armadeus-apf9328.patch | 50 +++++----- ...s-apf9328-add_board_to_linux_build_system.patch | 18 ++-- .../3.15/0025-armadeus-imx-correct_dma_shift.patch | 12 +- .../0029-armadeus-add_csi_and_spi_registers.patch | 2 +- .../3.15/0029b-armadeus-add_csi_registers.patch | 2 +- ...rmadeus-devices-imx1-add_udc_registration.patch | 2 +- ...35-armadeus-re_add_pwm_and_correct_driver.tofix | 42 ++++---- ...50-armadeus-add_custom_drivers_to_kconfig.patch | 4 +- ...02_integrate_driver_to_linux_build_system.patch | 6 +- ...chscreen-add_driver_to_linux_build_system.patch | 10 +- .../0076-Add-tsc210x-device-tree-support.patch | 42 ++++---- ...eus-clock_correct_mxc_decode_pll_for_imx1.tofix | 20 ++-- ...madeus-clock-imx1_avoid_crash_with_module.tofix | 12 +- ...-tsc210x-device-tree-support-for-apf27dev.patch | 8 +- ...deus-dts-apf27dev-fixes-user-led-polarity.patch | 12 +- ...1-armadeus-dts-apf27-add_i2c_eeprom_24c02.patch | 8 +- ...dts-apf27dev-add_gpio_key_wakeup_behavior.patch | 12 +- ...-armadeus-fixes-vpu-spll-clock-dependency.patch | 2 +- .../3.15/0400-Add-apf51-basic-dt-support.patch | 22 ++-- .../0401-armadeus-add_apf51dev_baseboard.patch | 72 +++++++------- ...-imx51_dts-add_usbphy_for_host1_and_host2.patch | 35 ++++--- ...51-chipidea-usbmisc_imx-add_imx51_support.patch | 26 +++--- ...adeus-chipidea-add_node_to_select_clk_phy.patch | 18 ++-- ...us-imx51-dts-add-pin-definition-for-uart1.patch | 12 +- ...imx-drm-fix_clk_polarity_for_apf51_screen.patch | 12 +- ...dts-apf51dev-add_gpio_key_wakeup_behavior.patch | 30 +----- .../3.15/0420-armadeus-Add-apf28dev-dts.patch | 14 ++-- ...ot_link_otg_phy_clock_directly_to_osc_ref.patch | 12 +- ..._star_completion_for_source_in_menuconfig.patch | 21 ++-- ...low_to_use_the_wakeupalarm_functionnality.patch | 12 +- .../3.15/0444-armadeus-imx27-add-usb.patch.tofix | 80 ++++++++-------- ...deus-add-apf27-apf27dev-dts-for-USB.patch.tofix | 44 ++++---- .../0446-armadeus_add_pm_power_off_function.patch | 8 +- ...around-fec-tx-queue-timeouts-when-SATA-SD.patch | 2 +- ...c-core-Update-ext_csd-if-touched-by-ioctl.patch | 58 ++++++------ ...6qdl-wlcore_remove_quirk_to_hide_irq_flag.patch | 106 ++++++++++---------- ...-remove-pwr_in_suspend-from-platform-data.patch | 48 +++++----- ...-instead-of-enumerations-for-pdata-clocks.patch | 48 +++++----- ...al-device-tree-support-to-the-sdio-module.patch | 38 ++++---- ...-8-wlcore-sdio-add-wilink-clock-providers.patch | 26 +++--- ...8-wlcore-sdio-get-clocks-from-device-tree.patch | 61 ++++++------ ...heck-if-we-got-correct-clock-data-from-DT.patch | 104 ++++++++++---------- ...i-add-platfrom-get_max_timeout_count-hook.patch | 24 ++-- ...mx-fix-incorrect-max_discard_to-for-uSDHC.patch | 16 ++-- ...5-mmc-sdhci-add-platform-set_timeout-hook.patch | 36 ++++---- ...t-the-correct-max-timeout-value-for-uSDHC.patch | 16 ++-- ...y-for-SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK.patch | 38 ++++---- ...04-armadeus-add_sx8674_touchscreen_driver.patch | 10 +- .../0505-armadeus-add_mcp7940x_rtc_driver.patch | 8 +- 50 files changed, 662 insertions(+), 677 deletions(-) diff --git a/patches/linux/3.15/0015-armadeus-logo-add_armadeus-project_tux.patch b/patches/linux/3.15/0015-armadeus-logo-add_armadeus-project_tux.patch index 744c0e0..053b7b8 100644 --- a/patches/linux/3.15/0015-armadeus-logo-add_armadeus-project_tux.patch +++ b/patches/linux/3.15/0015-armadeus-logo-add_armadeus-project_tux.patch @@ -3,9 +3,9 @@ Index: linux-2.6.36/drivers/video/logo/Kconfig --- linux-2.6.36.orig/drivers/video/logo/Kconfig 2010-10-20 22:30:22.000000000 +0200 +++ linux-2.6.36/drivers/video/logo/Kconfig 2010-10-21 14:29:22.000000000 +0200 @@ -82,4 +82,11 @@ - depends on M32R - default y - + depends on M32R + default y + +config LOGO_ARMADEUS_CLUT224 + bool "224-color Armadeus Linux logo" + depends on ARM @@ -19,15 +19,15 @@ Index: linux-2.6.36/drivers/video/logo/logo.c --- linux-2.6.36.orig/drivers/video/logo/logo.c 2010-10-20 22:30:22.000000000 +0200 +++ linux-2.6.36/drivers/video/logo/logo.c 2010-10-21 14:29:22.000000000 +0200 @@ -100,6 +100,10 @@ - /* M32R Linux logo */ - logo = &logo_m32r_clut224; + /* M32R Linux logo */ + logo = &logo_m32r_clut224; #endif +#ifdef CONFIG_LOGO_ARMADEUS_CLUT224 + /* Armadeus Linux logo */ + logo = &logo_armadeus_clut224; +#endif - } - return logo; + } + return logo; } Index: linux-2.6.36/include/linux/linux_logo.h =================================================================== @@ -50,9 +50,9 @@ Index: linux-2.6.36/drivers/video/logo/Makefile obj-$(CONFIG_LOGO_SUPERH_CLUT224) += logo_superh_clut224.o obj-$(CONFIG_LOGO_M32R_CLUT224) += logo_m32r_clut224.o +obj-$(CONFIG_LOGO_ARMADEUS_CLUT224) += logo_armadeus_clut224.o - + obj-$(CONFIG_SPU_BASE) += logo_spe_clut224.o - + Index: linux-2.6.36/drivers/video/logo/logo_armadeus_clut224.ppm =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 diff --git a/patches/linux/3.15/0021-armadeus-apf9328.patch b/patches/linux/3.15/0021-armadeus-apf9328.patch index 7abfd66..103cb6e 100644 --- a/patches/linux/3.15/0021-armadeus-apf9328.patch +++ b/patches/linux/3.15/0021-armadeus-apf9328.patch @@ -369,7 +369,7 @@ Index: linux-3.8-rc1/arch/arm/mach-imx/mach-apf9328.c +#include <asm/system.h> +#include <asm/pgtable.h> +#include <asm/page.h> - + +#include <asm/mach/map.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> @@ -415,17 +415,17 @@ Index: linux-3.8-rc1/arch/arm/mach-imx/mach-apf9328.c +#ifdef CONFIG_ARMADEUS_MAX1027 +#include <linux/spi/max1027.h> +#endif - + static const int apf9328_pins[] __initconst = { - /* UART1 */ + /* UART1 */ @@ -41,10 +87,225 @@ - PB29_PF_UART2_RTS, - PB30_PF_UART2_TXD, - PB31_PF_UART2_RXD, + PB29_PF_UART2_RTS, + PB30_PF_UART2_TXD, + PB31_PF_UART2_RXD, +#ifdef CONFIG_I2C_IMX - /* I2C */ - PA15_PF_I2C_SDA, - PA16_PF_I2C_SCL, + /* I2C */ + PA15_PF_I2C_SDA, + PA16_PF_I2C_SCL, +#endif +#ifdef CONFIG_MXC_PWM + PA2_PF_PWM0, @@ -641,19 +641,19 @@ Index: linux-3.8-rc1/arch/arm/mach-imx/mach-apf9328.c + .id = 0, }; +#endif /* CONFIG_IMX_BACKLIGHT */ - + /* * The APF9328 can have up to 32MB NOR Flash @@ -105,11 +366,19 @@ - .flags = IMXUART_HAVE_RTSCTS, + .flags = IMXUART_HAVE_RTSCTS, }; - + +#ifdef CONFIG_I2C_IMX static const struct imxi2c_platform_data apf9328_i2c_data __initconst = { - .bitrate = 100000, + .bitrate = 100000, }; +#endif /* CONFIG_I2C_IMX */ - + static struct platform_device *devices[] __initdata = { +#ifdef CONFIG_IMX_BACKLIGHT + &imxbl_device, @@ -661,13 +661,13 @@ Index: linux-3.8-rc1/arch/arm/mach-imx/mach-apf9328.c +#if defined(CONFIG_SND_IMX_PCM) || defined(CONFIG_SND_IMX_PCM_MODULE) + &apf9328_ssi_device, +#endif - &apf9328_flash_device, - &dm9000x_device, + &apf9328_flash_device, + &dm9000x_device, }; @@ -125,11 +394,31 @@ - imx1_add_imx_uart0(NULL); - imx1_add_imx_uart1(&uart1_pdata); - + imx1_add_imx_uart0(NULL); + imx1_add_imx_uart1(&uart1_pdata); + +#ifdef CONFIG_SPI_IMX +#if defined(CONFIG_ARMADEUS_MAX1027) || defined(CONFIG_SPIDEV) + mxc_gpio_mode(GPIO_PORTC | IMX_SPI1_SS_PIN | GPIO_OUT | GPIO_GPIO); @@ -680,7 +680,7 @@ Index: linux-3.8-rc1/arch/arm/mach-imx/mach-apf9328.c +#endif +#endif +#ifdef CONFIG_I2C_IMX - imx1_add_imx_i2c(&apf9328_i2c_data); + imx1_add_imx_i2c(&apf9328_i2c_data); +#endif +#ifdef CONFIG_USB_IMX + imx1_add_udc(&apf9328_udc_0_data); @@ -688,13 +688,13 @@ Index: linux-3.8-rc1/arch/arm/mach-imx/mach-apf9328.c +/*#ifdef CONFIG_MXC_PWM + imx1_add_mxc_pwm(); +#endif*/ - - dm9000_resources[2].start = gpio_to_irq(IMX_GPIO_NR(2, 14)); - dm9000_resources[2].end = gpio_to_irq(IMX_GPIO_NR(2, 14)); - platform_add_devices(devices, ARRAY_SIZE(devices)); + + dm9000_resources[2].start = gpio_to_irq(IMX_GPIO_NR(2, 14)); + dm9000_resources[2].end = gpio_to_irq(IMX_GPIO_NR(2, 14)); + platform_add_devices(devices, ARRAY_SIZE(devices)); + apf9328_baseboard_init(); } - + static void __init apf9328_timer_init(void) Index: linux-3.8-rc1/arch/arm/mach-imx/apf9328-dev.c =================================================================== diff --git a/patches/linux/3.15/0024-armadeus-apf9328-add_board_to_linux_build_system.patch b/patches/linux/3.15/0024-armadeus-apf9328-add_board_to_linux_build_system.patch index 8ff0c75..7dfaa54 100644 --- a/patches/linux/3.15/0024-armadeus-apf9328-add_board_to_linux_build_system.patch +++ b/patches/linux/3.15/0024-armadeus-apf9328-add_board_to_linux_build_system.patch @@ -3,18 +3,18 @@ Index: linux-3.8-rc1/arch/arm/mach-imx/Kconfig --- linux-3.8-rc1.orig/arch/arm/mach-imx/Kconfig 2012-12-22 02:19:00.000000000 +0100 +++ linux-3.8-rc1/arch/arm/mach-imx/Kconfig 2013-01-01 21:22:49.000000000 +0100 @@ -202,10 +202,43 @@ - bool "APF9328" - select IMX_HAVE_PLATFORM_IMX_I2C - select IMX_HAVE_PLATFORM_IMX_UART + bool "APF9328" + select IMX_HAVE_PLATFORM_IMX_I2C + select IMX_HAVE_PLATFORM_IMX_UART + select IMX_HAVE_PLATFORM_SPI_IMX + select IMX_HAVE_PLATFORM_IMX_FB + select IMX_HAVE_PLATFORM_MXC_PWM + select IMX_HAVE_PLATFORM_IMX_UDC + select SERIAL_IMX_UART1 - select SOC_IMX1 - help - Say Yes here if you are using the Armadeus APF9328 development board - + select SOC_IMX1 + help + Say Yes here if you are using the Armadeus APF9328 development board + +choice + prompt "Flash available on board" + depends on MACH_APF9328 @@ -44,7 +44,7 @@ Index: linux-3.8-rc1/arch/arm/mach-imx/Kconfig +endchoice + endif - + if ARCH_MULTI_V5 Index: linux-3.8-rc1/arch/arm/mach-imx/Makefile =================================================================== @@ -55,6 +55,6 @@ Index: linux-3.8-rc1/arch/arm/mach-imx/Makefile obj-$(CONFIG_MACH_SCB9328) += mach-scb9328.o obj-$(CONFIG_MACH_APF9328) += mach-apf9328.o +obj-$(CONFIG_MACH_APF9328_DEV) += apf9328-dev.o - + # i.MX21 based machines obj-$(CONFIG_MACH_MX21ADS) += mach-mx21ads.o diff --git a/patches/linux/3.15/0025-armadeus-imx-correct_dma_shift.patch b/patches/linux/3.15/0025-armadeus-imx-correct_dma_shift.patch index a88f110..687c248 100644 --- a/patches/linux/3.15/0025-armadeus-imx-correct_dma_shift.patch +++ b/patches/linux/3.15/0025-armadeus-imx-correct_dma_shift.patch @@ -8,11 +8,11 @@ Index: linux-3.8-rc1/arch/arm/mach-imx/clk-imx1.c --- linux-3.8-rc1.orig/arch/arm/mach-imx/clk-imx1.c 2012-12-22 02:19:00.000000000 +0100 +++ linux-3.8-rc1/arch/arm/mach-imx/clk-imx1.c 2013-01-01 21:19:56.000000000 +0100 @@ -72,7 +72,7 @@ - clk[per3] = imx_clk_divider("per3", "spll", CCM_PCDR, 16, 7); - clk[clko] = imx_clk_mux("clko", CCM_CSCR, 29, 3, clko_sel_clks, - ARRAY_SIZE(clko_sel_clks)); + clk[per3] = imx_clk_divider("per3", "spll", CCM_PCDR, 16, 7); + clk[clko] = imx_clk_mux("clko", CCM_CSCR, 29, 3, clko_sel_clks, + ARRAY_SIZE(clko_sel_clks)); - clk[dma_gate] = imx_clk_gate("dma_gate", "hclk", SCM_GCCR, 4); + clk[dma_gate] = imx_clk_gate("dma_gate", "hclk", SCM_GCCR, 3); - clk[csi_gate] = imx_clk_gate("csi_gate", "hclk", SCM_GCCR, 2); - clk[mma_gate] = imx_clk_gate("mma_gate", "hclk", SCM_GCCR, 1); - clk[usbd_gate] = imx_clk_gate("usbd_gate", "clk48m", SCM_GCCR, 0); + clk[csi_gate] = imx_clk_gate("csi_gate", "hclk", SCM_GCCR, 2); + clk[mma_gate] = imx_clk_gate("mma_gate", "hclk", SCM_GCCR, 1); + clk[usbd_gate] = imx_clk_gate("usbd_gate", "clk48m", SCM_GCCR, 0); diff --git a/patches/linux/3.15/0029-armadeus-add_csi_and_spi_registers.patch b/patches/linux/3.15/0029-armadeus-add_csi_and_spi_registers.patch index 08447f3..5884050 100644 --- a/patches/linux/3.15/0029-armadeus-add_csi_and_spi_registers.patch +++ b/patches/linux/3.15/0029-armadeus-add_csi_and_spi_registers.patch @@ -10,5 +10,5 @@ Index: linux-3.8-rc1/drivers/spi/spi-imx.c +#define MXC_PERIOD 0x14 +#define MXC_DMA 0x18 #define MXC_RESET 0x1c - + /* generic defines to abstract from the different register layouts */ diff --git a/patches/linux/3.15/0029b-armadeus-add_csi_registers.patch b/patches/linux/3.15/0029b-armadeus-add_csi_registers.patch index dace792..856b0b3 100644 --- a/patches/linux/3.15/0029b-armadeus-add_csi_registers.patch +++ b/patches/linux/3.15/0029b-armadeus-add_csi_registers.patch @@ -10,7 +10,7 @@ Index: linux-3.8-rc1/drivers/media/platform/soc_camera/mx1_camera.c #define CSISR 0x08 /* CSI Status Register */ +#define CSISTATR 0x0C #define CSIRXR 0x10 /* CSI RxFIFO Register */ - + +#define CSICR1_RXOR_INTEN (1 << 24) +#define CSICR1_RXFF_INTEN (1 << 18) #define CSICR1_RXFF_LEVEL(x) (((x) & 0x3) << 19) diff --git a/patches/linux/3.15/0030-armadeus-devices-imx1-add_udc_registration.patch b/patches/linux/3.15/0030-armadeus-devices-imx1-add_udc_registration.patch index bf94207..6a4a7c2 100644 --- a/patches/linux/3.15/0030-armadeus-devices-imx1-add_udc_registration.patch +++ b/patches/linux/3.15/0030-armadeus-devices-imx1-add_udc_registration.patch @@ -8,7 +8,7 @@ Index: linux-3.8-rc1/arch/arm/mach-imx/devices-imx1.h --- linux-3.8-rc1.orig/arch/arm/mach-imx/devices-imx1.h 2012-12-22 02:19:00.000000000 +0100 +++ linux-3.8-rc1/arch/arm/mach-imx/devices-imx1.h 2013-01-01 21:19:56.000000000 +0100 @@ -28,3 +28,7 @@ - + #define imx1_add_spi_imx0(pdata) imx1_add_cspi(0, pdata) #define imx1_add_spi_imx1(pdata) imx1_add_cspi(1, pdata) + diff --git a/patches/linux/3.15/0035-armadeus-re_add_pwm_and_correct_driver.tofix b/patches/linux/3.15/0035-armadeus-re_add_pwm_and_correct_driver.tofix index 7746b71..16468ce 100644 --- a/patches/linux/3.15/0035-armadeus-re_add_pwm_and_correct_driver.tofix +++ b/patches/linux/3.15/0035-armadeus-re_add_pwm_and_correct_driver.tofix @@ -3,9 +3,9 @@ Index: linux-3.3.5/arch/arm/mach-imx/clock-imx1.c --- linux-3.3.5.orig/arch/arm/mach-imx/clock-imx1.c +++ linux-3.3.5/arch/arm/mach-imx/clock-imx1.c @@ -535,6 +535,12 @@ static struct clk uart_clk = { - .set_rate = _clk_parent_set_rate, + .set_rate = _clk_parent_set_rate, }; - + +static struct clk pwm_clk = { + .parent = &perclk[0], + .round_rate = _clk_parent_round_rate, @@ -13,24 +13,24 @@ Index: linux-3.3.5/arch/arm/mach-imx/clock-imx1.c +}; + static struct clk i2c_clk = { - .parent = &hclk, - .round_rate = _clk_parent_round_rate, + .parent = &hclk, + .round_rate = _clk_parent_round_rate, @@ -590,6 +596,7 @@ static struct clk_lookup lookups[] __ini - _REGISTER_CLOCK("imx1-uart.0", NULL, uart_clk) - _REGISTER_CLOCK("imx1-uart.1", NULL, uart_clk) - _REGISTER_CLOCK("imx1-uart.2", NULL, uart_clk) + _REGISTER_CLOCK("imx1-uart.0", NULL, uart_clk) + _REGISTER_CLOCK("imx1-uart.1", NULL, uart_clk) + _REGISTER_CLOCK("imx1-uart.2", NULL, uart_clk) + _REGISTER_CLOCK(NULL, "pwm", pwm_clk) - _REGISTER_CLOCK("imx-i2c.0", NULL, i2c_clk) - _REGISTER_CLOCK("imx1-cspi.0", NULL, spi_clk) - _REGISTER_CLOCK("imx1-cspi.1", NULL, spi_clk) + _REGISTER_CLOCK("imx-i2c.0", NULL, i2c_clk) + _REGISTER_CLOCK("imx1-cspi.0", NULL, spi_clk) + _REGISTER_CLOCK("imx1-cspi.1", NULL, spi_clk) Index: linux-3.3.5/arch/arm/plat-mxc/devices/platform-mxc_pwm.c =================================================================== --- linux-3.3.5.orig/arch/arm/plat-mxc/devices/platform-mxc_pwm.c +++ linux-3.3.5/arch/arm/plat-mxc/devices/platform-mxc_pwm.c @@ -19,6 +19,11 @@ #define imx_mxc_pwm_data_entry(soc, _id, _hwid, _size) \ - [_id] = imx_mxc_pwm_data_entry_single(soc, _id, _hwid, _size) - + [_id] = imx_mxc_pwm_data_entry_single(soc, _id, _hwid, _size) + +#ifdef CONFIG_SOC_IMX1 +const struct imx_mxc_pwm_data imx1_mxc_pwm_data __initconst = + imx_mxc_pwm_data_entry_single(MX1, 0, , SZ_4K); @@ -38,15 +38,15 @@ Index: linux-3.3.5/arch/arm/plat-mxc/devices/platform-mxc_pwm.c + #ifdef CONFIG_SOC_IMX21 const struct imx_mxc_pwm_data imx21_mxc_pwm_data __initconst = - imx_mxc_pwm_data_entry_single(MX21, 0, , SZ_4K); + imx_mxc_pwm_data_entry_single(MX21, 0, , SZ_4K); Index: linux-3.3.5/arch/arm/plat-mxc/pwm.c =================================================================== --- linux-3.3.5.orig/arch/arm/plat-mxc/pwm.c +++ linux-3.3.5/arch/arm/plat-mxc/pwm.c @@ -116,9 +116,35 @@ int pwm_config(struct pwm_device *pwm, i - * both the prescaler (/1 .. /128) and then by CLKSEL - * (/2 .. /16). - */ + * both the prescaler (/1 .. /128) and then by CLKSEL + * (/2 .. /16). + */ - u32 max = readl(pwm->mmio_base + MX1_PWMP); - u32 p = max * duty_ns / period_ns; - writel(max - p, pwm->mmio_base + MX1_PWMS); @@ -79,9 +79,9 @@ Index: linux-3.3.5/arch/arm/plat-mxc/pwm.c + cr |= (((prescale-1)&0xef)<<8)|1<<4; + writel(cr, pwm->mmio_base+MX1_PWMC); + - } else { - BUG(); - } + } else { + BUG(); + } Index: linux-3.3.5/arch/arm/plat-mxc/include/mach/mx1.h =================================================================== --- linux-3.3.5.orig/arch/arm/plat-mxc/include/mach/mx1.h @@ -102,11 +102,11 @@ Index: linux-3.3.5/arch/arm/mach-imx/devices-imx1.h @@ -30,6 +30,10 @@ extern const struct imx_spi_imx_data imx #define imx1_add_spi_imx0(pdata) imx1_add_cspi(0, pdata) #define imx1_add_spi_imx1(pdata) imx1_add_cspi(1, pdata) - + +extern struct imx_mxc_pwm_data imx1_mxc_pwm_data[]; +#define imx1_add_mxc_pwm() \ + imx_add_mxc_pwm(&imx1_mxc_pwm_data[0]) + extern const struct imx_imx_udc_data imx1_imx_udc_data; #define imx1_add_udc(pdata) \ - imx_add_imx_udc(&imx1_imx_udc_data, pdata) + imx_add_imx_udc(&imx1_imx_udc_data, pdata) diff --git a/patches/linux/3.15/0050-armadeus-add_custom_drivers_to_kconfig.patch b/patches/linux/3.15/0050-armadeus-add_custom_drivers_to_kconfig.patch index 03d3a87..9a18198 100644 --- a/patches/linux/3.15/0050-armadeus-add_custom_drivers_to_kconfig.patch +++ b/patches/linux/3.15/0050-armadeus-add_custom_drivers_to_kconfig.patch @@ -5,9 +5,9 @@ Index: linux-3.8-rc1/drivers/Kconfig --- linux-3.8-rc1.orig/drivers/Kconfig 2012-12-22 02:19:00.000000000 +0100 +++ linux-3.8-rc1/drivers/Kconfig 2013-01-02 20:28:02.000000000 +0100 @@ -158,4 +158,6 @@ - + source "drivers/ipack/Kconfig" - + +source "drivers/armadeus/Kconfig" + endmenu diff --git a/patches/linux/3.15/0073-armadeus-tsc2102_integrate_driver_to_linux_build_system.patch b/patches/linux/3.15/0073-armadeus-tsc2102_integrate_driver_to_linux_build_system.patch index 0a13beb..3e76095 100644 --- a/patches/linux/3.15/0073-armadeus-tsc2102_integrate_driver_to_linux_build_system.patch +++ b/patches/linux/3.15/0073-armadeus-tsc2102_integrate_driver_to_linux_build_system.patch @@ -3,9 +3,9 @@ Index: linux-3.8-rc1/drivers/spi/Kconfig --- linux-3.8-rc1.orig/drivers/spi/Kconfig 2012-12-22 02:19:00.000000000 +0100 +++ linux-3.8-rc1/drivers/spi/Kconfig 2013-01-01 21:19:56.000000000 +0100 @@ -494,6 +494,14 @@ - sysfs interface, with each line presented as a kind of GPIO - exposing both switch control and diagnostic feedback. - + sysfs interface, with each line presented as a kind of GPIO + exposing both switch control and diagnostic feedback. + +config SPI_TSC2102 + depends on SPI_MASTER + depends on HWMON = n || HWMON diff --git a/patches/linux/3.15/0074-armadeus-tsc2102-touchscreen-add_driver_to_linux_build_system.patch b/patches/linux/3.15/0074-armadeus-tsc2102-touchscreen-add_driver_to_linux_build_system.patch index 5618f12..2640882 100644 --- a/patches/linux/3.15/0074-armadeus-tsc2102-touchscreen-add_driver_to_linux_build_system.patch +++ b/patches/linux/3.15/0074-armadeus-tsc2102-touchscreen-add_driver_to_linux_build_system.patch @@ -3,9 +3,9 @@ Index: linux-3.8-rc1/drivers/input/touchscreen/Kconfig --- linux-3.8-rc1.orig/drivers/input/touchscreen/Kconfig 2012-12-22 02:19:00.000000000 +0100 +++ linux-3.8-rc1/drivers/input/touchscreen/Kconfig 2013-01-01 21:19:56.000000000 +0100 @@ -541,6 +541,20 @@ - To compile this driver as a module, choose M here: the - module will be called atmel_tsadcc. - + To compile this driver as a module, choose M here: the + module will be called atmel_tsadcc. + +config TOUCHSCREEN_TSC2102 + tristate "TSC 2102 based touchscreens" + depends on SPI_MASTER @@ -21,8 +21,8 @@ Index: linux-3.8-rc1/drivers/input/touchscreen/Kconfig + module will be called tsc2102_ts. + config TOUCHSCREEN_UCB1400 - tristate "Philips UCB1400 touchscreen" - depends on AC97_BUS + tristate "Philips UCB1400 touchscreen" + depends on AC97_BUS Index: linux-3.8-rc1/drivers/input/touchscreen/Makefile =================================================================== --- linux-3.8-rc1.orig/drivers/input/touchscreen/Makefile 2012-12-22 02:19:00.000000000 +0100 diff --git a/patches/linux/3.15/0076-Add-tsc210x-device-tree-support.patch b/patches/linux/3.15/0076-Add-tsc210x-device-tree-support.patch index 72c80e6..32ea2d4 100644 --- a/patches/linux/3.15/0076-Add-tsc210x-device-tree-support.patch +++ b/patches/linux/3.15/0076-Add-tsc210x-device-tree-support.patch @@ -13,7 +13,7 @@ index 47e67a3..d19cba2 100644 @@ -41,6 +41,10 @@ #include <asm/irq.h> #include <asm/io.h> - + +#ifdef CONFIG_OF +#include <linux/of_device.h> +#endif @@ -24,7 +24,7 @@ index 47e67a3..d19cba2 100644 @@ -83,6 +87,16 @@ #define SM_TEMP1 1 #define SM_SUSPENDED 2 - + +#ifdef CONFIG_OF +static struct of_device_id tsc210x_spi_of_match[] = { + { @@ -36,24 +36,24 @@ index 47e67a3..d19cba2 100644 +#endif + struct tsc210x_spi_req { - struct spi_device *dev; - uint16_t command; + struct spi_device *dev; + uint16_t command; @@ -380,7 +394,6 @@ static irqreturn_t tsc2102_handler(int irq, void *dev_id) - - schedule_work(&dev->work); - } + + schedule_work(&dev->work); + } - - return IRQ_HANDLED; + return IRQ_HANDLED; } - + @@ -1075,7 +1088,54 @@ static int tsc210x_probe(struct spi_device *spi) - struct spi_transfer *spi_buffer; - int err = -EINVAL; - u16 rev_id = 0; + struct spi_transfer *spi_buffer; + int err = -EINVAL; + u16 rev_id = 0; +#ifdef CONFIG_OF + const struct of_device_id *match; + int status; - + + pdata = kzalloc(sizeof(struct tsc210x_config), GFP_KERNEL); + if (!pdata) { + dev_err(&spi->dev, "No memory for tsc210x_config\n"); @@ -98,19 +98,19 @@ index 47e67a3..d19cba2 100644 + return -ENODEV; + } +#endif - if (!pdata) { - printk(KERN_ERR "TSC210x: Platform data not supplied\n"); - return -ENOENT; + if (!pdata) { + printk(KERN_ERR "TSC210x: Platform data not supplied\n"); + return -ENOENT; @@ -1263,7 +1323,9 @@ static int tsc210x_remove(struct spi_device *spi) - apm_get_power_status = 0; + apm_get_power_status = 0; #endif - free_irq(spi->irq, &tsc); + free_irq(spi->irq, &tsc); - +#ifdef CONFIG_OF + kfree(dev->pdata); +#endif - mutex_unlock(&dev->lock_sync); - - return 0; + mutex_unlock(&dev->lock_sync); + + return 0; -- 1.8.4.2 diff --git a/patches/linux/3.15/0100-armadeus-clock_correct_mxc_decode_pll_for_imx1.tofix b/patches/linux/3.15/0100-armadeus-clock_correct_mxc_decode_pll_for_imx1.tofix index 54ce9f8..ee5940b 100644 --- a/patches/linux/3.15/0100-armadeus-clock_correct_mxc_decode_pll_for_imx1.tofix +++ b/patches/linux/3.15/0100-armadeus-clock_correct_mxc_decode_pll_for_imx1.tofix @@ -10,15 +10,15 @@ Index: linux-2.6.36/arch/arm/plat-mxc/clock.c @@ -212,6 +212,7 @@ unsigned long mxc_decode_pll(unsigned int reg_val, u32 freq) { - long long ll; + long long ll; + unsigned long quot; - int mfn_abs; - unsigned int mfi, mfn, mfd, pd; - + int mfn_abs; + unsigned int mfi, mfn, mfd, pd; + @@ -222,6 +223,15 @@ - - mfi = mfi <= 5 ? 5 : mfi; - + + mfi = mfi <= 5 ? 5 : mfi; + + if (cpu_is_mx1()) { + ll = 2 * (unsigned long long)freq * + ((mfi << 16) + (mfn << 16) / (mfd + 1)); @@ -28,6 +28,6 @@ Index: linux-2.6.36/arch/arm/plat-mxc/clock.c + return (unsigned long)ll; + } + - mfn_abs = mfn; - - /* On all i.MXs except i.MX1 and i.MX21 mfn is a 10bit + mfn_abs = mfn; + + /* On all i.MXs except i.MX1 and i.MX21 mfn is a 10bit diff --git a/patches/linux/3.15/0101-armadeus-clock-imx1_avoid_crash_with_module.tofix b/patches/linux/3.15/0101-armadeus-clock-imx1_avoid_crash_with_module.tofix index 90cc05a..d6a1205 100644 --- a/patches/linux/3.15/0101-armadeus-clock-imx1_avoid_crash_with_module.tofix +++ b/patches/linux/3.15/0101-armadeus-clock-imx1_avoid_crash_with_module.tofix @@ -2,11 +2,11 @@ This patch suppress kernel oops when a driver, compiled as module, get a clock. --- a/arch/arm/mach-imx/clock-imx1.c 2011-01-09 16:11:35.000000000 +0100 +++ b/arch/arm/mach-imx/clock-imx1.c 2011-01-09 16:11:47.000000000 +0100 @@ -582,7 +582,7 @@ - .con_id = n, \ - .clk = &c, \ - }, + .con_id = n, \ + .clk = &c, \ + }, -static struct clk_lookup lookups[] __initdata = { +static struct clk_lookup lookups[] = { - _REGISTER_CLOCK(NULL, "dma", dma_clk) - _REGISTER_CLOCK("mx1-camera.0", NULL, csi_clk) - _REGISTER_CLOCK(NULL, "mma", mma_clk) + _REGISTER_CLOCK(NULL, "dma", dma_clk) + _REGISTER_CLOCK("mx1-camera.0", NULL, csi_clk) + _REGISTER_CLOCK(NULL, "mma", mma_clk) diff --git a/patches/linux/3.15/0219-Add-tsc210x-device-tree-support-for-apf27dev.patch b/patches/linux/3.15/0219-Add-tsc210x-device-tree-support-for-apf27dev.patch index 548c8ea..9e03c13 100644 --- a/patches/linux/3.15/0219-Add-tsc210x-device-tree-support-for-apf27dev.patch +++ b/patches/linux/3.15/0219-Add-tsc210x-device-tree-support-for-apf27dev.patch @@ -11,9 +11,9 @@ index 39a8cb4..cfa797f 100644 --- a/arch/arm/boot/dts/imx27-apf27dev.dts +++ b/arch/arm/boot/dts/imx27-apf27dev.dts @@ -72,6 +72,18 @@ - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_cspi2_1>; - status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_cspi2_1>; + status = "okay"; + tsc210x@0 { + compatible = "tsc210x"; + reg = <0>; @@ -27,7 +27,7 @@ index 39a8cb4..cfa797f 100644 + tsc210x-irq = <257>; /* GPIO port 6 pin 17 (6-1)*32 + 17 + 64 + 16 */ + }; }; - + &i2c1 { -- 1.8.4.2 diff --git a/patches/linux/3.15/0220-armadeus-dts-apf27dev-fixes-user-led-polarity.patch b/patches/linux/3.15/0220-armadeus-dts-apf27dev-fixes-user-led-polarity.patch index 2d341bf..e7f0fc9 100644 --- a/patches/linux/3.15/0220-armadeus-dts-apf27dev-fixes-user-led-polarity.patch +++ b/patches/linux/3.15/0220-armadeus-dts-apf27dev-fixes-user-led-polarity.patch @@ -7,11 +7,11 @@ Index: linux-3.15-rc1/arch/arm/boot/dts/imx27-apf27dev.dts --- linux-3.15-rc1.orig/arch/arm/boot/dts/imx27-apf27dev.dts +++ linux-3.15-rc1/arch/arm/boot/dts/imx27-apf27dev.dts @@ -55,7 +55,7 @@ - - user { - label = "Heartbeat"; + + user { + label = "Heartbeat"; - gpios = <&gpio6 14 GPIO_ACTIVE_HIGH>; + gpios = <&gpio6 14 GPIO_ACTIVE_LOW>; - linux,default-trigger = "heartbeat"; - }; - }; + linux,default-trigger = "heartbeat"; + }; + }; diff --git a/patches/linux/3.15/0221-armadeus-dts-apf27-add_i2c_eeprom_24c02.patch b/patches/linux/3.15/0221-armadeus-dts-apf27-add_i2c_eeprom_24c02.patch index cb51ef9..8d5b1e4 100644 --- a/patches/linux/3.15/0221-armadeus-dts-apf27-add_i2c_eeprom_24c02.patch +++ b/patches/linux/3.15/0221-armadeus-dts-apf27-add_i2c_eeprom_24c02.patch @@ -7,9 +7,9 @@ Index: linux-3.15-rc1/arch/arm/boot/dts/imx27-apf27.dts --- linux-3.15-rc1.orig/arch/arm/boot/dts/imx27-apf27.dts +++ linux-3.15-rc1/arch/arm/boot/dts/imx27-apf27.dts @@ -80,6 +80,18 @@ - status = "okay"; + status = "okay"; }; - + +&i2c2 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c2_1>; @@ -23,5 +23,5 @@ Index: linux-3.15-rc1/arch/arm/boot/dts/imx27-apf27.dts +}; + &nfc { - status = "okay"; - nand-bus-width = <16>; + status = "okay"; + nand-bus-width = <16>; diff --git a/patches/linux/3.15/0222-armadeus-dts-apf27dev-add_gpio_key_wakeup_behavior.patch b/patches/linux/3.15/0222-armadeus-dts-apf27dev-add_gpio_key_wakeup_behavior.patch index d83819d..b030473 100644 --- a/patches/linux/3.15/0222-armadeus-dts-apf27dev-add_gpio_key_wakeup_behavior.patch +++ b/patches/linux/3.15/0222-armadeus-dts-apf27dev-add_gpio_key_wakeup_behavior.patch @@ -7,11 +7,11 @@ Index: linux-3.13.1/arch/arm/boot/dts/imx27-apf27dev.dts --- linux-3.13.1/arch/arm/boot/dts/imx27-apf27dev.dts +++ linux-3.13.1/arch/arm/boot/dts/imx27-apf27dev.dts @@ -43,6 +43,7 @@ - label = "user"; - gpios = <&gpio6 13 0>; - linux,code = <276>; /* BTN_EXTRA */ + label = "user"; + gpios = <&gpio6 13 0>; + linux,code = <276>; /* BTN_EXTRA */ + gpio-key,wakeup; - }; - }; - + }; + }; + -- diff --git a/patches/linux/3.15/0230-armadeus-fixes-vpu-spll-clock-dependency.patch b/patches/linux/3.15/0230-armadeus-fixes-vpu-spll-clock-dependency.patch index 3ce46cd..43d37fa 100644 --- a/patches/linux/3.15/0230-armadeus-fixes-vpu-spll-clock-dependency.patch +++ b/patches/linux/3.15/0230-armadeus-fixes-vpu-spll-clock-dependency.patch @@ -10,7 +10,7 @@ Index: linux-3.13/arch/arm/mach-imx/clk-imx27.c @@ -49,7 +49,7 @@ #define CCM_SPCTL1_LF (1 << 15) #define CCM_SPCTL1_BRMO (1 << 6) - + -static const char *vpu_sel_clks[] = { "spll", "mpll_main2", }; +static const char *vpu_sel_clks[] = { "spll_gate", "mpll_main2", }; static const char *cpu_sel_clks[] = { "mpll_main2", "mpll", }; diff --git a/patches/linux/3.15/0400-Add-apf51-basic-dt-support.patch b/patches/linux/3.15/0400-Add-apf51-basic-dt-support.patch index 9136025..d466dac 100644 --- a/patches/linux/3.15/0400-Add-apf51-basic-dt-support.patch +++ b/patches/linux/3.15/0400-Add-apf51-basic-dt-support.patch @@ -8,9 +8,9 @@ Index: linux-3.13-rc2/arch/arm/boot/dts/imx51-apf51.dts --- linux-3.13-rc2.orig/arch/arm/boot/dts/imx51-apf51.dts +++ linux-3.13-rc2/arch/arm/boot/dts/imx51-apf51.dts @@ -30,6 +30,19 @@ - clock-frequency = <33554432>; - }; - }; + clock-frequency = <33554432>; + }; + }; + + regulators { + compatible = "simple-bus"; @@ -25,12 +25,12 @@ Index: linux-3.13-rc2/arch/arm/boot/dts/imx51-apf51.dts + }; + }; }; - + &fec { @@ -72,6 +72,43 @@ - MX51_PAD_UART3_TXD__UART3_TXD 0x1c5 - >; - }; + MX51_PAD_UART3_TXD__UART3_TXD 0x1c5 + >; + }; + usbh1 { + pinctrl_usbh1_1: usbh1grp-1 { + fsl,pins = < @@ -68,12 +68,12 @@ Index: linux-3.13-rc2/arch/arm/boot/dts/imx51-apf51.dts + >; + }; + }; - }; + }; }; - + @@ -87,3 +100,31 @@ - pinctrl-0 = <&pinctrl_uart3>; - status = "okay"; + pinctrl-0 = <&pinctrl_uart3>; + status = "okay"; }; + +&usbphy1 { diff --git a/patches/linux/3.15/0401-armadeus-add_apf51dev_baseboard.patch b/patches/linux/3.15/0401-armadeus-add_apf51dev_baseboard.patch index c490052..f456c61 100644 --- a/patches/linux/3.15/0401-armadeus-add_apf51dev_baseboard.patch +++ b/patches/linux/3.15/0401-armadeus-add_apf51dev_baseboard.patch @@ -8,22 +8,22 @@ Index: linux-3.14-rc4/arch/arm/boot/dts/imx51-apf51dev.dts --- linux-3.14-rc4.orig/arch/arm/boot/dts/imx51-apf51dev.dts +++ linux-3.14-rc4/arch/arm/boot/dts/imx51-apf51dev.dts @@ -66,6 +66,12 @@ - gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>; - linux,default-trigger = "heartbeat"; - }; + gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "heartbeat"; + }; + + backlight { + label = "Backlight"; + gpios = <&gpio3 4 0>; + default-state = "on"; + }; - }; + }; }; - + @@ -85,6 +91,14 @@ - cs-gpios = <&gpio3 28 GPIO_ACTIVE_LOW>, - <&gpio3 27 GPIO_ACTIVE_LOW>; - status = "okay"; + cs-gpios = <&gpio3 28 GPIO_ACTIVE_LOW>, + <&gpio3 27 GPIO_ACTIVE_LOW>; + status = "okay"; + + spidev: spidev@1 { + #address-cells = <1>; @@ -33,20 +33,20 @@ Index: linux-3.14-rc4/arch/arm/boot/dts/imx51-apf51dev.dts + reg = <1>; + }; }; - + &esdhc1 { @@ -99,7 +113,6 @@ - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_esdhc2>; - bus-width = <4>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_esdhc2>; + bus-width = <4>; - non-removable; - status = "okay"; + status = "okay"; }; - -@@ -109,6 +122,13 @@ - status = "okay"; + +@@ -102,6 +115,13 @@ + status = "okay"; }; - + +&uart2 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_uart2_1>; @@ -55,29 +55,29 @@ Index: linux-3.14-rc4/arch/arm/boot/dts/imx51-apf51dev.dts +}; + &iomuxc { - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_hog>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_hog>; @@ -116,6 +136,7 @@ - imx51-apf51dev { - pinctrl_hog: hoggrp { - fsl,pins = < + imx51-apf51dev { + pinctrl_hog: hoggrp { + fsl,pins = < + MX51_PAD_GPIO1_8__GPIO1_8 0x0C5 - MX51_PAD_EIM_EB2__GPIO2_22 0x0C5 - MX51_PAD_EIM_EB3__GPIO2_23 0x0C5 - MX51_PAD_EIM_CS4__GPIO2_29 0x100 + MX51_PAD_EIM_EB2__GPIO2_22 0x0C5 + MX51_PAD_EIM_EB3__GPIO2_23 0x0C5 + MX51_PAD_EIM_CS4__GPIO2_29 0x100 @@ -125,6 +146,8 @@ - MX51_PAD_CSPI1_SS1__GPIO4_25 0x0C5 - MX51_PAD_GPIO1_2__GPIO1_2 0x0C5 - MX51_PAD_GPIO1_3__GPIO1_3 0x0C5 + MX51_PAD_CSPI1_SS1__GPIO4_25 0x0C5 + MX51_PAD_GPIO1_2__GPIO1_2 0x0C5 + MX51_PAD_GPIO1_3__GPIO1_3 0x0C5 + MX51_PAD_DI1_D1_CS__GPIO3_4 0x0C5 + MX51_PAD_EIM_CS3__GPIO2_28 0x0C5 - >; - }; - + >; + }; + @@ -203,6 +203,14 @@ - MX51_PAD_DI1_PIN3__DI1_PIN3 0x5 - >; - }; + MX51_PAD_DI1_PIN3__DI1_PIN3 0x5 + >; + }; + uart2 { + pinctrl_uart2_1: uart2grp-1 { + fsl,pins = < @@ -86,6 +86,6 @@ Index: linux-3.14-rc4/arch/arm/boot/dts/imx51-apf51dev.dts + >; + }; + }; - }; + }; }; - + diff --git a/patches/linux/3.15/0407-armadeus-imx51_dts-add_usbphy_for_host1_and_host2.patch b/patches/linux/3.15/0407-armadeus-imx51_dts-add_usbphy_for_host1_and_host2.patch index 0753b0e..40e8ce1 100644 --- a/patches/linux/3.15/0407-armadeus-imx51_dts-add_usbphy_for_host1_and_host2.patch +++ b/patches/linux/3.15/0407-armadeus-imx51_dts-add_usbphy_for_host1_and_host2.patch @@ -7,9 +7,9 @@ Index: linux-3.14-rc4/arch/arm/boot/dts/imx51.dtsi --- linux-3.14-rc4.orig/arch/arm/boot/dts/imx51.dtsi +++ linux-3.14-rc4/arch/arm/boot/dts/imx51.dtsi @@ -195,6 +195,13 @@ - status = "okay"; - }; - + status = "okay"; + }; + + usbphy1: usbphy@1 { + compatible = "usb-nop-xceiv"; + clocks = <&clks 0>; @@ -17,21 +17,22 @@ Index: linux-3.14-rc4/arch/arm/boot/dts/imx51.dtsi + status = "okay"; + }; + - usbotg: usb@73f80000 { - compatible = "fsl,imx51-usb", "fsl,imx27-usb"; - reg = <0x73f80000 0x0200>; + usbotg: usb@73f80000 { + compatible = "fsl,imx51-usb", "fsl,imx27-usb"; + reg = <0x73f80000 0x0200>; @@ -211,6 +218,7 @@ - interrupts = <14>; - clocks = <&clks 108>; - fsl,usbmisc = <&usbmisc 1>; + interrupts = <14>; + clocks = <&clks 108>; + fsl,usbmisc = <&usbmisc 1>; + fsl,usbphy = <&usbphy1>; - status = "disabled"; - }; - + status = "disabled"; + }; + @@ -220,6 +228,7 @@ - interrupts = <16>; - clocks = <&clks 108>; - fsl,usbmisc = <&usbmisc 2>; + interrupts = <16>; + clocks = <&clks 108>; + fsl,usbmisc = <&usbmisc 2>; + fsl,usbphy = <&usbphy1>; - status = "disabled"; - }; + status = "disabled"; + }; + diff --git a/patches/linux/3.15/0408-armadeus-imx51-chipidea-usbmisc_imx-add_imx51_support.patch b/patches/linux/3.15/0408-armadeus-imx51-chipidea-usbmisc_imx-add_imx51_support.patch index 1bca689..76a8fd5 100644 --- a/patches/linux/3.15/0408-armadeus-imx51-chipidea-usbmisc_imx-add_imx51_support.patch +++ b/patches/linux/3.15/0408-armadeus-imx51-chipidea-usbmisc_imx-add_imx51_support.patch @@ -5,7 +5,7 @@ Index: linux-3.12-rc1/drivers/usb/chipidea/usbmisc_imx.c @@ -21,6 +21,23 @@ #define MX25_USB_PHY_CTRL_OFFSET 0x08 #define MX25_BM_EXTERNAL_VBUS_DIVIDER BIT(23) - + +#define MX51_USB_OTG_PHY_CTRL_OFFSET 0x00 +#define MX51_USB_OTG_PHY_CTRL_0_OFFSET 0x08 +#define MX51_USB_OTG_PHY_CTRL_1_OFFSET 0x0c @@ -27,9 +27,9 @@ Index: linux-3.12-rc1/drivers/usb/chipidea/usbmisc_imx.c #define MX53_USB_UH2_CTRL_OFFSET 0x14 #define MX53_USB_UH3_CTRL_OFFSET 0x18 @@ -68,6 +85,91 @@ static int usbmisc_imx25_post(struct imx - return 0; + return 0; } - + +static int usbmisc_imx51_init(struct imx_usbmisc_data *data) +{ + void __iomem *reg = NULL; @@ -117,27 +117,27 @@ Index: linux-3.12-rc1/drivers/usb/chipidea/usbmisc_imx.c + static int usbmisc_imx53_init(struct imx_usbmisc_data *data) { - void __iomem *reg = NULL; + void __iomem *reg = NULL; @@ -128,6 +230,11 @@ static const struct usbmisc_ops imx25_us - .post = usbmisc_imx25_post, + .post = usbmisc_imx25_post, }; - + +static const struct usbmisc_ops imx51_usbmisc_ops = { + .init = usbmisc_imx51_init, + .post = usbmisc_imx51_post, +}; + static const struct usbmisc_ops imx53_usbmisc_ops = { - .init = usbmisc_imx53_init, + .init = usbmisc_imx53_init, }; @@ -162,6 +269,10 @@ static const struct of_device_id usbmisc - .data = &imx25_usbmisc_ops, - }, - { + .data = &imx25_usbmisc_ops, + }, + { + .compatible = "fsl,imx51-usbmisc", + .data = &imx51_usbmisc_ops, + }, + { - .compatible = "fsl,imx53-usbmisc", - .data = &imx53_usbmisc_ops, - }, + .compatible = "fsl,imx53-usbmisc", + .data = &imx53_usbmisc_ops, + }, diff --git a/patches/linux/3.15/0409-armadeus-chipidea-add_node_to_select_clk_phy.patch b/patches/linux/3.15/0409-armadeus-chipidea-add_node_to_select_clk_phy.patch index a2b709a..1b5a3a0 100644 --- a/patches/linux/3.15/0409-armadeus-chipidea-add_node_to_select_clk_phy.patch +++ b/patches/linux/3.15/0409-armadeus-chipidea-add_node_to_select_clk_phy.patch @@ -6,24 +6,24 @@ Index: linux-3.12-rc1/drivers/usb/chipidea/ci_hdrc_imx.c --- linux-3.12-rc1.orig/drivers/usb/chipidea/ci_hdrc_imx.c +++ linux-3.12-rc1/drivers/usb/chipidea/ci_hdrc_imx.c @@ -67,6 +67,9 @@ static struct imx_usbmisc_data *usbmisc_ - if (of_find_property(np, "external-vbus-divider", NULL)) - data->evdo = 1; - + if (of_find_property(np, "external-vbus-divider", NULL)) + data->evdo = 1; + + if (!of_find_property(np, "ext-clk-en", NULL)) + data->ext_clk_en = 1; + - return data; + return data; } - + Index: linux-3.12-rc1/drivers/usb/chipidea/ci_hdrc_imx.h =================================================================== --- linux-3.12-rc1.orig/drivers/usb/chipidea/ci_hdrc_imx.h +++ linux-3.12-rc1/drivers/usb/chipidea/ci_hdrc_imx.h @@ -14,6 +14,7 @@ struct imx_usbmisc_data { - - unsigned int disable_oc:1; /* over current detect disabled */ - unsigned int evdo:1; /* set external vbus divider option */ + + unsigned int disable_oc:1; /* over current detect disabled */ + unsigned int evdo:1; /* set external vbus divider option */ + unsigned int ext_clk_en:1; /* select the clock from external PHY*/ }; - + int imx_usbmisc_init(struct imx_usbmisc_data *); diff --git a/patches/linux/3.15/0412-armadeus-imx51-dts-add-pin-definition-for-uart1.patch b/patches/linux/3.15/0412-armadeus-imx51-dts-add-pin-definition-for-uart1.patch index 077ecfd..38521dd 100644 --- a/patches/linux/3.15/0412-armadeus-imx51-dts-add-pin-definition-for-uart1.patch +++ b/patches/linux/3.15/0412-armadeus-imx51-dts-add-pin-definition-for-uart1.patch @@ -13,17 +13,17 @@ index 524ac61..c863f6c 100644 --- a/arch/arm/boot/dts/imx51.dtsi +++ b/arch/arm/boot/dts/imx51.dtsi @@ -760,6 +760,12 @@ - MX51_PAD_UART1_CTS__UART1_CTS 0x1c5 - >; - }; + MX51_PAD_UART1_CTS__UART1_CTS 0x1c5 + >; + }; + pinctrl_uart1_2: uart1grp-2 { + fsl,pins = < + MX51_PAD_UART1_RXD__UART1_RXD 0x1c5 + MX51_PAD_UART1_TXD__UART1_TXD 0x1c5 + >; + }; - }; - - uart2 { + }; + + uart2 { -- 1.7.4.4 diff --git a/patches/linux/3.15/0413-armadeus-imx-drm-fix_clk_polarity_for_apf51_screen.patch b/patches/linux/3.15/0413-armadeus-imx-drm-fix_clk_polarity_for_apf51_screen.patch index ae4f19e..825de4a 100644 --- a/patches/linux/3.15/0413-armadeus-imx-drm-fix_clk_polarity_for_apf51_screen.patch +++ b/patches/linux/3.15/0413-armadeus-imx-drm-fix_clk_polarity_for_apf51_screen.patch @@ -5,11 +5,11 @@ Index: linux-3.13-rc5/drivers/staging/imx-drm/ipuv3-crtc.c --- linux-3.13-rc5.orig/drivers/staging/imx-drm/ipuv3-crtc.c +++ linux-3.13-rc5/drivers/staging/imx-drm/ipuv3-crtc.c @@ -157,7 +157,7 @@ static int ipu_crtc_mode_set(struct drm_ - sig_cfg.Vsync_pol = 1; - - sig_cfg.enable_pol = 1; + sig_cfg.Vsync_pol = 1; + + sig_cfg.enable_pol = 1; - sig_cfg.clk_pol = 1; + sig_cfg.clk_pol = 0; - sig_cfg.width = mode->hdisplay; - sig_cfg.height = mode->vdisplay; - sig_cfg.pixel_fmt = out_pixel_fmt; + sig_cfg.width = mode->hdisplay; + sig_cfg.height = mode->vdisplay; + sig_cfg.pixel_fmt = out_pixel_fmt; diff --git a/patches/linux/3.15/0414-armadeus-dts-apf51dev-add_gpio_key_wakeup_behavior.patch b/patches/linux/3.15/0414-armadeus-dts-apf51dev-add_gpio_key_wakeup_behavior.patch index 98fe714..48c2c01 100644 --- a/patches/linux/3.15/0414-armadeus-dts-apf51dev-add_gpio_key_wakeup_behavior.patch +++ b/patches/linux/3.15/0414-armadeus-dts-apf51dev-add_gpio_key_wakeup_behavior.patch @@ -6,29 +6,11 @@ Index: linux-3.15-rc1/arch/arm/boot/dts/imx51-apf51dev.dts =================================================================== --- linux-3.15-rc1.orig/arch/arm/boot/dts/imx51-apf51dev.dts +++ linux-3.15-rc1/arch/arm/boot/dts/imx51-apf51dev.dts -@@ -36,15 +36,15 @@ - vsync-len = <4>; - hsync-active = <1>; - vsync-active = <1>; -- de-active = <1>; -+ de-active = <1>; - pixelclk-active = <0>; - }; - }; - - port { - display_in: endpoint { -- remote-endpoint = <&ipu_di0_disp0>; -- }; -+ remote-endpoint = <&ipu_di0_disp0>; -+ }; - }; - }; - @@ -55,6 +55,7 @@ - label = "user"; - gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>; - linux,code = <256>; /* BTN_0 */ + label = "user"; + gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>; + linux,code = <256>; /* BTN_0 */ + gpio-key,wakeup; - }; - }; + }; + }; + diff --git a/patches/linux/3.15/0420-armadeus-Add-apf28dev-dts.patch b/patches/linux/3.15/0420-armadeus-Add-apf28dev-dts.patch index 8639882..16f48ad 100644 --- a/patches/linux/3.15/0420-armadeus-Add-apf28dev-dts.patch +++ b/patches/linux/3.15/0420-armadeus-Add-apf28dev-dts.patch @@ -5,13 +5,13 @@ Subject: [PATCH] Fix spidev Signed-off-by: Julien Boibessot <jul...@ar...> --- -Index: linux-3.15.5/arch/arm/boot/dts/imx28-apf28dev.dts +Index: linux-3.15-rc1/arch/arm/boot/dts/imx28-apf28dev.dts =================================================================== ---- linux-3.15.5.orig/arch/arm/boot/dts/imx28-apf28dev.dts -+++ linux-3.15.5/arch/arm/boot/dts/imx28-apf28dev.dts -@@ -77,6 +77,15 @@ - fsl,voltage = <MXS_VOLTAGE_HIGH>; - fsl,pull-up = <MXS_PULL_DISABLE>; +--- linux-3.15-rc1.orig/arch/arm/boot/dts/imx28-apf28dev.dts ++++ linux-3.15-rc1/arch/arm/boot/dts/imx28-apf28dev.dts +@@ -109,6 +109,15 @@ + }; + }; }; + + apf28dev_usb0_id_pins: apf28dev-usb0-id-pins@0 { @@ -23,8 +23,8 @@ Index: linux-3.15.5/arch/arm/boot/dts/imx28-apf28dev.dts + fsl,pull-up = <MXS_PULL_ENABLE>; + }; }; + }; - lcdif@80030000 { @@ -143,7 +152,8 @@ ahb@80080000 { usb0: usb@80080000 { diff --git a/patches/linux/3.15/0431-armadeus-clock-mx51-do_not_link_otg_phy_clock_directly_to_osc_ref.patch b/patches/linux/3.15/0431-armadeus-clock-mx51-do_not_link_otg_phy_clock_directly_to_osc_ref.patch index 4201d7f..43422c2 100644 --- a/patches/linux/3.15/0431-armadeus-clock-mx51-do_not_link_otg_phy_clock_directly_to_osc_ref.patch +++ b/patches/linux/3.15/0431-armadeus-clock-mx51-do_not_link_otg_phy_clock_directly_to_osc_ref.patch @@ -7,11 +7,11 @@ Index: linux-3.14-rc3/arch/arm/mach-imx/clk-imx51-imx53.c --- linux-3.14-rc3.orig/arch/arm/mach-imx/clk-imx51-imx53.c +++ linux-3.14-rc3/arch/arm/mach-imx/clk-imx51-imx53.c @@ -304,7 +304,7 @@ static void __init mx5_clocks_common_ini - clk_set_parent(clk[IMX5_CLK_ESDHC_B_SEL], clk[IMX5_CLK_PLL2_SW]); - - /* move usb phy clk to 24MHz */ + clk_set_parent(clk[IMX5_CLK_ESDHC_B_SEL], clk[IMX5_CLK_PLL2_SW]); + + /* move usb phy clk to 24MHz */ - clk_set_parent(clk[IMX5_CLK_USB_PHY_SEL], clk[IMX5_CLK_OSC]); + /*clk_set_parent(clk[IMX5_CLK_USB_PHY_SEL], clk[IMX5_CLK_OSC]);*/ - - clk_prepare_enable(clk[IMX5_CLK_GPC_DVFS]); - clk_prepare_enable(clk[IMX5_CLK_AHB_MAX]); /* esdhc3 */ + + clk_prepare_enable(clk[IMX5_CLK_GPC_DVFS]); + clk_prepare_enable(clk[IMX5_CLK_AHB_MAX]); /* esdhc3 */ diff --git a/patches/linux/3.15/0441-armadeus-adding_star_completion_for_source_in_menuconfig.patch b/patches/linux/3.15/0441-armadeus-adding_star_completion_for_source_in_menuconfig.patch index 600752a..59e54f3 100644 --- a/patches/linux/3.15/0441-armadeus-adding_star_completion_for_source_in_menuconfig.patch +++ b/patches/linux/3.15/0441-armadeus-adding_star_completion_for_source_in_menuconfig.patch @@ -8,21 +8,21 @@ Index: linux-3.12-rc1/scripts/kconfig/zconf.tab.c_shipped #include <stdbool.h> +#include <dirent.h> +#include <sys/stat.h> - + #include "lkc.h" - + @@ -92,6 +94,7 @@ - + #define PRINTD 0x0001 #define DEBUG_PARSE 0x0002 +#define BUFF_SIZE 300 - + int cdebug = PRINTD; - + @@ -108,6 +111,27 @@ static struct menu *current_menu, *curre - - - + + + + +static int isDir(const char *, const char *); + @@ -49,7 +49,7 @@ Index: linux-3.12-rc1/scripts/kconfig/zconf.tab.c_shipped # define YYDEBUG 1 @@ -1922,8 +1946,31 @@ yyreduce: case 83: - + { + char *name; + char *ptr; @@ -58,7 +58,7 @@ Index: linux-3.12-rc1/scripts/kconfig/zconf.tab.c_shipped + struct dirent *lecture; + DIR *rep; + - printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string)); + printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string)); - zconf_nextfile((yyvsp[(2) - (3)].string)); + name = (yyvsp[(2) -(3)].string); + ptr = strchr(name, '*'); @@ -79,3 +79,4 @@ Index: linux-3.12-rc1/scripts/kconfig/zconf.tab.c_shipped + } } break; + diff --git a/patches/linux/3.15/0442-armadeus-rtc-mxs-allow_to_use_the_wakeupalarm_functionnality.patch b/patches/linux/3.15/0442-armadeus-rtc-mxs-allow_to_use_the_wakeupalarm_functionnality.patch index c5d2671..1c4ab18 100644 --- a/patches/linux/3.15/0442-armadeus-rtc-mxs-allow_to_use_the_wakeupalarm_functionnality.patch +++ b/patches/linux/3.15/0442-armadeus-rtc-mxs-allow_to_use_the_wakeupalarm_functionnality.patch @@ -13,10 +13,10 @@ Index: linux-3.10-rc2/drivers/rtc/rtc-stmp3xxx.c --- linux-3.10-rc2.orig/drivers/rtc/rtc-stmp3xxx.c +++ linux-3.10-rc2/drivers/rtc/rtc-stmp3xxx.c @@ -272,6 +272,7 @@ static int stmp3xxx_rtc_probe(struct pla - STMP3XXX_RTC_CTRL_ALARM_IRQ_EN, - rtc_data->io + STMP3XXX_RTC_CTRL_CLR); - + STMP3XXX_RTC_CTRL_ALARM_IRQ_EN, + rtc_data->io + STMP3XXX_RTC_CTRL_CLR); + + device_set_wakeup_capable(&pdev->dev, 1); - rtc_data->rtc = devm_rtc_device_register(&pdev->dev, pdev->name, - &stmp3xxx_rtc_ops, THIS_MODULE); - if (IS_ERR(rtc_data->rtc)) { + rtc_data->rtc = devm_rtc_device_register(&pdev->dev, pdev->name, + &stmp3xxx_rtc_ops, THIS_MODULE); + if (IS_ERR(rtc_data->rtc)) { diff --git a/patches/linux/3.15/0444-armadeus-imx27-add-usb.patch.tofix b/patches/linux/3.15/0444-armadeus-imx27-add-usb.patch.tofix index 11de36c..ec38f11 100644 --- a/patches/linux/3.15/0444-armadeus-imx27-add-usb.patch.tofix +++ b/patches/linux/3.15/0444-armadeus-imx27-add-usb.patch.tofix @@ -7,19 +7,19 @@ Signed-off-by: Eric Jarrige <eri...@ar...> --- linux-3.13-rc8/arch/arm/boot/dts/imx27.dtsi +++ linux-3.13-rc8/arch/arm/boot/dts/imx27.dtsi @@ -31,6 +31,9 @@ - spi0 = &cspi1; - spi1 = &cspi2; - spi2 = &cspi3; + spi0 = &cspi1; + spi1 = &cspi2; + spi2 = &cspi3; + usb0 = &usbotg; + usb1 = &usbh1; + usb2 = &usbh2; - }; - - aitc: aitc-interrupt-controller@e0000000 { + }; + + aitc: aitc-interrupt-controller@e0000000 { @@ -411,6 +414,44 @@ - iram = <&iram>; - }; - + iram = <&iram>; + }; + + usbotg: usb@10024000 { + compatible = "fsl,imx27-usb"; + reg = <0x10024000 0x200>; @@ -58,23 +58,23 @@ Signed-off-by: Eric Jarrige <eri...@ar...> + status = "disabled"; + }; + - sahara2: sahara@10025000 { - compatible = "fsl,imx27-sahara"; - reg = <0x10025000 0x1000>; + sahara2: sahara@10025000 { + compatible = "fsl,imx27-sahara"; + reg = <0x10025000 0x1000>; --- linux-3.13-rc8/drivers/usb/chipidea/ci_hdrc_imx.c +++ linux-3.13-rc8/drivers/usb/chipidea/ci_hdrc_imx.c @@ -37,6 +37,7 @@ static struct imx_usbmisc_data *usbmisc_ - struct device_node *np = dev->of_node; - struct of_phandle_args args; - struct imx_usbmisc_data *data; + struct device_node *np = dev->of_node; + struct of_phandle_args args; + struct imx_usbmisc_data *data; + u32 sic; - int ret; - - /* + int ret; + + /* @@ -70,6 +71,14 @@ static struct imx_usbmisc_data *usbmisc_ - if (!of_find_property(np, "ext-clk-en", NULL)) - data->ext_clk_en = 1; - + if (!of_find_property(np, "ext-clk-en", NULL)) + data->ext_clk_en = 1; + + if (of_find_property(np, "disable-tll", NULL)) + data->disable_tll = 1; + @@ -83,27 +83,27 @@ Signed-off-by: Eric Jarrige <eri...@ar...> + data->sic = sic & 0x3; + } + - return data; + return data; } - + --- linux-3.13-rc8.ref2/drivers/usb/chipidea/ci_hdrc_imx.h +++ linux-3.13-rc8/drivers/usb/chipidea/ci_hdrc_imx.h @@ -15,6 +15,9 @@ struct imx_usbmisc_data { - unsigned int disable_oc:1; /* over current detect disabled */ - unsigned int evdo:1; /* set external vbus divider option */ - unsigned int ext_clk_en:1; /* select the clock from external PHY*/ + unsigned int disable_oc:1; /* over current detect disabled */ + unsigned int evdo:1; /* set external vbus divider option */ + unsigned int ext_clk_en:1; /* select the clock from external PHY*/ + unsigned int disable_tll:1; /* disable transceiver-less link logic */ + unsigned int enable_sic:1; /* enable serial interface configuration */ + unsigned int sic:2; /* serial interface configuration */ }; - + int imx_usbmisc_init(struct imx_usbmisc_data *); --- linux-3.13-rc8/drivers/usb/chipidea/usbmisc_imx.c +++ linux-3.13-rc8/drivers/usb/chipidea/usbmisc_imx.c @@ -21,6 +21,18 @@ #define MX25_USB_PHY_CTRL_OFFSET 0x08 #define MX25_BM_EXTERNAL_VBUS_DIVIDER BIT(23) - + +#define MX27_H1_PM_BIT BIT(8) +#define MX27_H1_SIC_OFFSET 13 +#define MX27_H1_SIC_MASK 0x00006000 @@ -120,9 +120,9 @@ Signed-off-by: Eric Jarrige <eri...@ar...> #define MX51_USB_OTG_PHY_CTRL_0_OFFSET 0x08 #define MX51_USB_OTG_PHY_CTRL_1_OFFSET 0x0c @@ -170,6 +182,66 @@ static int usbmisc_imx51_post(struct imx - return 0; + return 0; } - + +static int usbmisc_imx27_init(struct imx_usbmisc_data *data) +{ + unsigned long flags; @@ -185,28 +185,28 @@ Signed-off-by: Eric Jarrige <eri...@ar...> + static int usbmisc_imx53_init(struct imx_usbmisc_data *data) { - void __iomem *reg = NULL; + void __iomem *reg = NULL; @@ -235,6 +307,10 @@ static const struct usbmisc_ops imx51_us - .post = usbmisc_imx51_post, + .post = usbmisc_imx51_post, }; - + +static const struct usbmisc_ops imx27_usbmisc_ops = { + .init = usbmisc_imx27_init, +}; + static const struct usbmisc_ops imx53_usbmisc_ops = { - .init = usbmisc_imx53_init, + .init = usbmisc_imx53_init, }; @@ -273,7 +349,10 @@ static const struct of_device_id usbmisc - .data = &imx51_usbmisc_ops, - }, - { + .data = &imx51_usbmisc_ops, + }, + { - .compatible = "fsl,imx53-usbmisc", + .compatible = "fsl,imx27-usbmisc", + .data = &imx27_usbmisc_ops, + }, + { .compatible = "fsl,imx53-usbmisc", - .data = &imx53_usbmisc_ops, - }, - { + .data = &imx53_usbmisc_ops, + }, + { -- diff --git a/patches/linux/3.15/0445-armadeus-add-apf27-apf27dev-dts-for-USB.patch.tofix b/patches/linux/3.15/0445-armadeus-add-apf27-apf27dev-dts-for-USB.patch.tofix index 0a50809..836eaad 100644 --- a/patches/linux/3.15/0445-armadeus-add-apf27-apf27dev-dts-for-USB.patch.tofix +++ b/patches/linux/3.15/0445-armadeus-add-apf27-apf27dev-dts-for-USB.patch.tofix @@ -5,9 +5,9 @@ Signed-off-by: Eric Jarrige <eri...@ar...> --- linux-3.13-rc8/arch/arm/boot/dts/imx27-apf27dev.dts +++ linux-3.13-rc8/arch/arm/boot/dts/imx27-apf27dev.dts @@ -16,6 +16,17 @@ - model = "Armadeus Systems APF27Dev docking/development board"; - compatible = "armadeus,imx27-apf27dev", "armadeus,imx27-apf27", "fsl,imx27"; - + model = "Armadeus Systems APF27Dev docking/development board"; + compatible = "armadeus,imx27-apf27dev", "armadeus,imx27-apf27", "fsl,imx27"; + + regulators { + compatible = "simple-bus"; + @@ -19,13 +19,13 @@ Signed-off-by: Eric Jarrige <eri...@ar...> + }; + }; + - display: display { - model = "Chimei-LW700AT9003"; - native-mode = <&timing0>; + display: display { + model = "Chimei-LW700AT9003"; + native-mode = <&timing0>; @@ -56,6 +67,12 @@ - }; - }; - + }; + }; + + usbphy1: usbphy@1 { + compatible = "usb-nop-xceiv"; + clocks = <&clks 75>; @@ -33,12 +33,12 @@ Signed-off-by: Eric Jarrige <eri...@ar...> + status = "okay"; + }; }; - + &cspi1 { @@ -130,6 +147,23 @@ - >; - }; - }; + >; + }; + }; + + usbh1 { + pinctrl_usbh1: usbh1 { @@ -57,11 +57,11 @@ Signed-off-by: Eric Jarrige <eri...@ar...> + }; + }; }; - + &sdhci2 { @@ -139,3 +173,16 @@ - pinctrl-0 = <&pinctrl_sdhc2_1>; - status = "okay"; + pinctrl-0 = <&pinctrl_sdhc2_1>; + status = "okay"; }; + +&usbh1 { @@ -79,9 +79,9 @@ Signed-off-by: Eric Jarrige <eri...@ar...> --- linux-3.13-rc8/arch/arm/boot/dts/imx27-apf27.dts +++ linux-3.13-rc8/arch/arm/boot/dts/imx27-apf27.dts @@ -32,6 +32,24 @@ - clock-frequency = <0>; - }; - }; + clock-frequency = <0>; + }; + }; + + regulators { + compatible = "simple-bus"; @@ -101,11 +101,11 @@ Signed-off-by: Eric Jarrige <eri...@ar...> + status = "okay"; + }; }; - + &uart1 { @@ -87,3 +105,40 @@ - reg = <0x800000 0xf800000>; - }; + reg = <0x800000 0xf800000>; + }; }; + +&usbmisc { diff --git a/patches/linux/3.15/0446-armadeus_add_pm_power_off_function.patch b/patches/linux/3.15/0446-armadeus_add_pm_power_off_function.patch index 42d0968..ce4a7df 100644 --- a/patches/linux/3.15/0446-armadeus_add_pm_power_off_function.patch +++ b/patches/linux/3.15/0446-armadeus_add_pm_power_off_function.patch @@ -3,9 +3,9 @@ Index: linux-3.14-rc7/arch/arm/mach-mxs/mach-mxs.c --- linux-3.14-rc7.orig/arch/arm/mach-mxs/mach-mxs.c +++ linux-3.14-rc7/arch/arm/mach-mxs/mach-mxs.c @@ -242,9 +242,34 @@ static void __init imx28_evk_init(void) - mxs_saif_clkmux_select(MXS_DIGCTL_SAIF_CLKMUX_EXTMSTR0); + mxs_saif_clkmux_select(MXS_DIGCTL_SAIF_CLKMUX_EXTMSTR0); } - + +#define BM_POWER_RESET_UNLOCK 0xFFFF0000 +#define BV_POWER_RESET_UNLOCK__KEY 0x3E77 +#define BM_POWER_RESET_PWD 0x00000001 @@ -32,8 +32,8 @@ Index: linux-3.14-rc7/arch/arm/mach-mxs/mach-mxs.c + static void __init imx28_apf28_init(void) { - update_fec_mac_prop(OUI_ARMADEUS); + update_fec_mac_prop(OUI_ARMADEUS); + pm_power_off = apf28_power_off; } - + static int apx4devkit_phy_fixup(struct phy_device *phy) diff --git a/patches/linux/3.15/0453-linux-0001-imx6q-work-around-fec-tx-queue-timeouts-when-SATA-SD.patch b/patches/linux/3.15/0453-linux-0001-imx6q-work-around-fec-tx-queue-timeouts-when-SATA-SD.patch index 354d6ba..34d5655 100644 --- a/patches/linux/3.15/0453-linux-0001-imx6q-work-around-fec-tx-queue-timeouts-when-SATA-SD.patch +++ b/patches/linux/3.15/0453-linux-0001-imx6q-work-around-fec-tx-queue-timeouts-when-SATA-SD.patch @@ -44,7 +44,7 @@ index 0120217..ee9a1da 100644 -#define TX_RING_SIZE 16 /* Must be power of two */ +#define TX_RING_SIZE 64 /* Must be power of two */ #define TX_RING_MOD_MASK 15 /* for this to work */ - + #define BD_ENET_RX_INT 0x00800000 -- 1.8.4.rc3 diff --git a/patches/linux/3.15/0480-RFC-mmc-core-Update-ext_csd-if-touched-by-ioctl.patch b/patches/linux/3.15/0480-RFC-mmc-core-Update-ext_csd-if-touched-by-ioctl.patch index dedb258..6ceeb97 100644 --- a/patches/linux/3.15/0480-RFC-mmc-core-Update-ext_csd-if-touched-by-ioctl.patch +++ b/patches/linux/3.15/0480-RFC-mmc-core-Update-ext_csd-if-touched-by-ioctl.patch @@ -62,16 +62,16 @@ index 1a3163f..0a4bd62 100644 @@ -132,6 +132,8 @@ enum { module_param(perdev_minors, int, 0444); MODULE_PARM_DESC(perdev_minors, "Minors numbers to allocate per device"); - + +int mmc_update_ext_csd(struct mmc_card *card); + static inline int mmc_blk_part_switch(struct mmc_card *card, - struct mmc_blk_data *md); + struct mmc_blk_data *md); static int get_card_status(struct mmc_card *card, u32 *status, int retries); @@ -600,6 +602,18 @@ static int mmc_blk_ioctl_cmd(struct block_device *bdev, - __func__, status, err); - } - + __func__, status, err); + } + + if ((cmd.opcode == MMC_SWITCH) && ((cmd.arg >> 24) & 0x3)) { + /* + * In case the IOCTL has modified the EXT_CSD, @@ -85,8 +85,8 @@ index 1a3163f..0a4bd62 100644 + } + cmd_rel_host: - mmc_put_card(card); - + mmc_put_card(card); + diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c index 6d02012..5db9d8c 100644 --- a/drivers/mmc/core/mmc.c @@ -98,41 +98,41 @@ index 6d02012..5db9d8c 100644 -static int mmc_read_ext_csd(struct mmc_card *card, u8 *ext_csd) +static int mmc_read_ext_csd(struct mmc_card *card, u8 *ext_csd, int update) { - int err = 0, idx; - unsigned int part_size; + int err = 0, idx; + unsigned int part_size; @@ -348,7 +348,8 @@ static int mmc_read_ext_csd(struct mmc_card *card, u8 *ext_csd) - * There are two boot regions of equal size, defined in - * multiples of 128K. - */ + * There are two boot regions of equal size, defined in + * multiples of 128K. + */ - if (ext_csd[EXT_CSD_BOOT_MULT] && mmc_boot_partition_access(card->host)) { + if (ext_csd[EXT_CSD_BOOT_MULT] && mmc_boot_partition_access(card->host) && + !update) { - for (idx = 0; idx < MMC_NUM_BOOT_PARTITION; idx++) { - part_size = ext_csd[EXT_CSD_BOOT_MULT] << 17; - mmc_part_add(card, part_size, + for (idx = 0; idx < MMC_NUM_BOOT_PARTITION; idx++) { + part_size = ext_csd[EXT_CSD_BOOT_MULT] << 17; + mmc_part_add(card, part_size, @@ -519,7 +520,8 @@ static int mmc_read_ext_csd(struct mmc_card *card, u8 *ext_csd) - * RPMB regions are defined in multiples of 128K. - */ - card->ext_csd.raw_rpmb_size_mult = ext_csd[EXT_CSD_RPMB_MULT]; + * RPMB regions are defined in multiples of 128K. + */ + card->ext_csd.raw_rpmb_size_mult = ext_csd[EXT_CSD_RPMB_MULT]; - if (ext_csd[EXT_CSD_RPMB_MULT] && mmc_host_cmd23(card->host)) { + if (ext_csd[EXT_CSD_RPMB_MULT] && mmc_host_cmd23(card->host) && + !update) { - mmc_part_add(card, ext_csd[EXT_CSD_RPMB_MULT] << 17, - EXT_CSD_PART_CONFIG_ACC_RPMB, - "rpmb", 0, false, + mmc_part_add(card, ext_csd[EXT_CSD_RPMB_MULT] << 17, + EXT_CSD_PART_CONFIG_ACC_RPMB, + "rpmb", 0, false, @@ -983,7 +985,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr, - err = mmc_get_ext_csd(card, &ext_csd); - if (err) - goto free_card; + err = mmc_get_ext_csd(card, &ext_csd); + if (err) + goto free_card; - err = mmc_read_ext_csd(card, ext_csd); + err = mmc_read_ext_csd(card, ext_csd, 0); - if (err) - goto free_card; - + if (err) + goto free_card; + @@ -1634,6 +1636,22 @@ static void mmc_attach_bus_ops(struct mmc_host *host) - mmc_attach_bus(host, bus_ops); + mmc_attach_bus(host, bus_ops); } - + +int mmc_update_ext_csd(struct mmc_card *card) +{ + u8 *new_ext_csd; diff --git a/patches/linux/3.15/0490-imx6qdl-wlcore_remove_quirk_to_hide_irq_flag.patch b/patches/linux/3.15/0490-imx6qdl-wlcore_remove_quirk_to_hide_irq_flag.patch index e471dcb..c4ddb08 100644 --- a/patches/linux/3.15/0490-imx6qdl-wlcore_remove_quirk_to_hide_irq_flag.patch +++ b/patches/linux/3.15/0490-imx6qdl-wlcore_remove_quirk_to_hide_irq_flag.patch @@ -3,14 +3,14 @@ Index: linux-3.13/drivers/net/wireless/ti/wlcore/debugfs.c --- linux-3.13.orig/drivers/net/wireless/ti/wlcore/debugfs.c +++... [truncated message content] |