my imx patches for 2.6.39
Subsystems (3)
cover my imx patches for 2.6.39
Hello Sascha,
apart from the patches below there is another patch not yet applied. That's "mxs: irq_data conversion" that was already sent on this list. Because I assumed that it belongs to Russells domain I sent it to the patch system as
http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=6744/1
. If you prefer, I can add it to this series; just tell me.
The following changes since commit b807afe41ceefef11a0d965cd9970142afc53d25:
ARM: imx50: correct iomux-mx50.h wrong daisy chain settings (2011-02-18 11:01:34 +0100)
are available in the git repository at:
git://git.pengutronix.de/git/ukl/linux-2.6.git imx-for-2.6.39
Lothar Wa?mann (2):
ARM: mxs: free dma_mask in error path
ARM: mxs: add a dma mask to fec devices
Sascha Hauer (1):
ARM: mxs: Add pwm clocks and device registration
Uwe Kleine-K?nig (2):
ARM: mxc: free dma_mask in error path
ARM: mxc: add a dma mask to fec devices
arch/arm/mach-mxs/Kconfig | 2 ++ arch/arm/mach-mxs/clock-mx23.c | 6 +++++- arch/arm/mach-mxs/clock-mx28.c | 9 ++++++++- arch/arm/mach-mxs/devices-mx23.h | 2 ++ arch/arm/mach-mxs/devices-mx28.h | 2 ++ arch/arm/mach-mxs/devices.c | 2 ++ arch/arm/mach-mxs/devices/Kconfig | 3 +++ arch/arm/mach-mxs/devices/Makefile | 1 + arch/arm/mach-mxs/devices/platform-fec.c | 5 +++-- arch/arm/mach-mxs/devices/platform-mxs-pwm.c | 22 ++++++++++++++++++++++ arch/arm/mach-mxs/include/mach/devices-common.h | 4 ++++ arch/arm/plat-mxc/devices.c | 2 ++ arch/arm/plat-mxc/devices/platform-fec.c | 4 ++-- 13 files changed, 58 insertions(+), 6 deletions(-) create mode 100644 arch/arm/mach-mxs/devices/platform-mxs-pwm.c
I will follow up with the patches as reply to this mail.
Best regards
Uwe
Signature · 2 lines
Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ |
PATCH 1/5 ARM: mxs: free dma_mask in error path
From: Lothar Wa?mann <[email protected]>
This fixes a small memory leak that was only hit in very unlikely error paths.
--- arch/arm/mach-mxs/devices.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
arch/arm/mach-mxs/devices.c +2 -0
@@ -66,6 +66,8 @@ struct platform_device *__init mxs_add_platform_device_dmamask( ret =platform_device_add (pdev);if (ret) { err: +if (dmamask) +kfree (pdev->dev.dma_mask);platform_device_put (pdev);return ERR_PTR (ret); }
Signature · 1 line
1.7.2.3
PATCH 2/5 ARM: mxc: free dma_mask in error path
In reply to Uwe Kleine-KönigThis fixes a small memory leak that was only hit in very unlikely error paths
--- arch/arm/plat-mxc/devices.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
arch/arm/plat-mxc/devices.c +2 -0
@@ -81,6 +81,8 @@ struct platform_device *__init imx_add_platform_device_dmamask( ret =platform_device_add (pdev);if (ret) { err: +if (dmamask) +kfree (pdev->dev.dma_mask);platform_device_put (pdev);return ERR_PTR (ret); }
Signature · 1 line
1.7.2.3
PATCH 3/5 ARM: mxs: add a dma mask to fec devices
In reply to Uwe Kleine-KönigFrom: Lothar Wa?mann <[email protected]>
This is not strictly necessary but the right thing to do.
--- arch/arm/mach-mxs/devices/platform-fec.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
arch/arm/mach-mxs/devices/platform-fec.c +3 -2
@@ -45,6 +45,7 @@ struct platform_device *__init mxs_add_fec( }, }; -return mxs_add_platform_device ("imx28-fec" , data->id, - res,ARRAY_SIZE (res), pdata,sizeof (*pdata)); +return mxs_add_platform_device_dmamask ("imx28-fec" , data->id, + res,ARRAY_SIZE (res), pdata,sizeof (*pdata), +DMA_BIT_MASK (32 )); }
Signature · 1 line
1.7.2.3
PATCH 4/5 ARM: mxc: add a dma mask to fec devices
In reply to Uwe Kleine-KönigThis is not strictly necessary but the right thing to do.
--- arch/arm/plat-mxc/devices/platform-fec.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
arch/arm/plat-mxc/devices/platform-fec.c +2 -2
@@ -62,7 +62,7 @@ struct platform_device *__init imx_add_fec( }, }; -return imx_add_platform_device ("fec" ,0 /* -1? */ , +return imx_add_platform_device_dmamask ("fec" ,0 , res,ARRAY_SIZE (res), - pdata,sizeof (*pdata)); + pdata,sizeof (*pdata),DMA_BIT_MASK (32 )); }
Signature · 1 line
1.7.2.3
PATCH 5/5 ARM: mxs: Add pwm clocks and device registration
In reply to Uwe Kleine-KönigFrom: Sascha Hauer <[email protected]>
--- arch/arm/mach-mxs/Kconfig | 2 ++ arch/arm/mach-mxs/clock-mx23.c | 6 +++++- arch/arm/mach-mxs/clock-mx28.c | 9 ++++++++- arch/arm/mach-mxs/devices-mx23.h | 2 ++ arch/arm/mach-mxs/devices-mx28.h | 2 ++ arch/arm/mach-mxs/devices/Kconfig | 3 +++ arch/arm/mach-mxs/devices/Makefile | 1 + arch/arm/mach-mxs/devices/platform-mxs-pwm.c | 22 ++++++++++++++++++++++ arch/arm/mach-mxs/include/mach/devices-common.h | 4 ++++ 9 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 arch/arm/mach-mxs/devices/platform-mxs-pwm.c
arch/arm/mach-mxs/Kconfig +2 -0
@@ -8,10 +8,12 @@ config MXS_OCOTP config SOC_IMX23 bool select CPU_ARM926T + select HAVE_PWM config SOC_IMX28 bool select CPU_ARM926T + select HAVE_PWM comment "MXS platforms:"
arch/arm/mach-mxs/clock-mx23.c +5 -1
@@ -447,7 +447,11 @@ static struct clk_lookup lookups[] = { _REGISTER_CLOCK(NULL, "hclk", hbus_clk) _REGISTER_CLOCK(NULL, "usb", usb_clk) _REGISTER_CLOCK(NULL, "audio", audio_clk) - _REGISTER_CLOCK(NULL, "pwm", pwm_clk) + _REGISTER_CLOCK("mxs-pwm.0", NULL, pwm_clk) + _REGISTER_CLOCK("mxs-pwm.1", NULL, pwm_clk) + _REGISTER_CLOCK("mxs-pwm.2", NULL, pwm_clk) + _REGISTER_CLOCK("mxs-pwm.3", NULL, pwm_clk) + _REGISTER_CLOCK("mxs-pwm.4", NULL, pwm_clk) };static int clk_misc_init (void )
arch/arm/mach-mxs/clock-mx28.c +8 -1
@@ -622,7 +622,14 @@ static struct clk_lookup lookups[] = { _REGISTER_CLOCK("flexcan.1", NULL, can1_clk) _REGISTER_CLOCK(NULL, "usb0", usb0_clk) _REGISTER_CLOCK(NULL, "usb1", usb1_clk) - _REGISTER_CLOCK(NULL, "pwm", pwm_clk) + _REGISTER_CLOCK("mxs-pwm.0", NULL, pwm_clk) + _REGISTER_CLOCK("mxs-pwm.1", NULL, pwm_clk) + _REGISTER_CLOCK("mxs-pwm.2", NULL, pwm_clk) + _REGISTER_CLOCK("mxs-pwm.3", NULL, pwm_clk) + _REGISTER_CLOCK("mxs-pwm.4", NULL, pwm_clk) + _REGISTER_CLOCK("mxs-pwm.5", NULL, pwm_clk) + _REGISTER_CLOCK("mxs-pwm.6", NULL, pwm_clk) + _REGISTER_CLOCK("mxs-pwm.7", NULL, pwm_clk) _REGISTER_CLOCK(NULL, "lradc", lradc_clk) _REGISTER_CLOCK(NULL, "spdif", spdif_clk) };
arch/arm/mach-mxs/devices-mx23.h +2 -0
@@ -19,3 +19,5 @@ extern const struct mxs_auart_data mx23_auart_data[] __initconst;#define mx23_add_auart (id) mxs_add_auart(&mx23_auart_data[id])#define mx23_add_auart0 () mx23_add_auart(0)#define mx23_add_auart1 () mx23_add_auart(1) + +#define mx23_add_mxs_pwm (id) mxs_add_mxs_pwm(MX23_PWM_BASE_ADDR, id)
arch/arm/mach-mxs/devices-mx28.h +2 -0
@@ -32,3 +32,5 @@ extern const struct mxs_flexcan_data mx28_flexcan_data[] __initconst; mxs_add_flexcan(&mx28_flexcan_data[id], pdata)#define mx28_add_flexcan0 (pdata) mx28_add_flexcan(0, pdata)#define mx28_add_flexcan1 (pdata) mx28_add_flexcan(1, pdata) + +#define mx28_add_mxs_pwm (id) mxs_add_mxs_pwm(MX28_PWM_BASE_ADDR, id)
arch/arm/mach-mxs/devices/Kconfig +3 -0
@@ -11,3 +11,6 @@ config MXS_HAVE_PLATFORM_FEC config MXS_HAVE_PLATFORM_FLEXCAN select HAVE_CAN_FLEXCAN if CAN bool + +config MXS_HAVE_PLATFORM_MXS_PWM + bool
arch/arm/mach-mxs/devices/Makefile +1 -0
@@ -2,3 +2,4 @@ obj-$(CONFIG_MXS_HAVE_AMBA_DUART) += amba-duart.o obj-$(CONFIG_MXS_HAVE_PLATFORM_AUART) += platform-auart.o obj-$(CONFIG_MXS_HAVE_PLATFORM_FEC) += platform-fec.o obj-$(CONFIG_MXS_HAVE_PLATFORM_FLEXCAN) += platform-flexcan.o +obj-$(CONFIG_MXS_HAVE_PLATFORM_MXS_PWM) += platform-mxs-pwm.o
arch/arm/mach-mxs/devices/platform-mxs-pwm.c new file +22 -0
@@ -0,0 +1,22 @@ +/* +* Copyright (C) 2010 Pengutronix +* Sascha Hauer <[email protected]> +* +* 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. +*/ +#include <asm/sizes.h> +#include <mach/devices-common.h> + +struct platform_device *__init mxs_add_mxs_pwm (resource_size_t iobase,int id) +{ +struct resource res = { + .flags =IORESOURCE_MEM , + }; + + res.start = iobase +0x10 +0x20 * id; + res.end = res.start +0x1f ; + +return mxs_add_platform_device ("mxs-pwm" , id, &res,1 ,NULL ,0 ); +}
arch/arm/mach-mxs/include/mach/devices-common.h +4 -0
@@ -63,3 +63,7 @@ struct mxs_flexcan_data {struct platform_device *__init mxs_add_flexcan (const struct mxs_flexcan_data *data,const struct flexcan_platform_data *pdata); + +/* pwm */ +struct platform_device *__init mxs_add_mxs_pwm ( +resource_size_t iobase,int id);
Signature · 1 line
1.7.2.3
cover my imx patches for 2.6.39
In reply to Uwe Kleine-KönigHello
Quoted 6 lines · Uwe Kleine-K?nig
apart from the patches below there is another patch not yet applied. That's "mxs:
irq_dataconversion" that was already sent on this list. Because I assumed that it belongs to Russells domain I sent it to the patch system as
http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=6744/1
. If you prefer, I can add it to this series; just tell me.
Russell asked Sascha to ack this patch, so I assume it will not go via Sascha.
I found another patch that should be added to .39:
Uwe Kleine-K?nig (1):
ARM: mx51_defconfig: enable various options
Will send this in reply to this mail.
Quoted 18 lines
The following changes since commit
b807afe41ceefef11a0d965cd9970142afc53d25:ARM: imx50: correct
iomux-mx50.hwrong daisy chain settings (2011-02-18 11:01:34 +0100)are available in the git repository at:
git://git.pengutronix.de/git/ukl/linux-2.6.gitimx-for-2.6.39Lothar Wa?mann (2):
ARM: mxs: freedma_maskin error path
ARM: mxs: add a dma mask to fec devicesSascha Hauer (1):
ARM: mxs: Add pwm clocks and device registrationUwe Kleine-K?nig (2):
ARM: mxc: freedma_maskin error path
ARM: mxc: add a dma mask to fec devices
Quoted 15 lines
arch/arm/mach-mxs/Kconfig | 2 ++ arch/arm/mach-mxs/clock-mx23.c | 6 +++++- arch/arm/mach-mxs/clock-mx28.c | 9 ++++++++- arch/arm/mach-mxs/devices-mx23.h | 2 ++ arch/arm/mach-mxs/devices-mx28.h | 2 ++ arch/arm/mach-mxs/devices.c | 2 ++ arch/arm/mach-mxs/devices/Kconfig | 3 +++ arch/arm/mach-mxs/devices/Makefile | 1 + arch/arm/mach-mxs/devices/platform-fec.c | 5 +++-- arch/arm/mach-mxs/devices/platform-mxs-pwm.c | 22 ++++++++++++++++++++++ arch/arm/mach-mxs/include/mach/devices-common.h | 4 ++++ arch/arm/plat-mxc/devices.c | 2 ++ arch/arm/plat-mxc/devices/platform-fec.c | 4 ++-- 13 files changed, 58 insertions(+), 6 deletions(-) create mode 100644 arch/arm/mach-mxs/devices/platform-mxs-pwm.c
The new diffstat is:
arch/arm/configs/mx51_defconfig | 53 +++++++++++++++++++---- arch/arm/mach-mxs/Kconfig | 2 + arch/arm/mach-mxs/clock-mx23.c | 6 ++- arch/arm/mach-mxs/clock-mx28.c | 9 +++- arch/arm/mach-mxs/devices-mx23.h | 2 + arch/arm/mach-mxs/devices-mx28.h | 2 + arch/arm/mach-mxs/devices.c | 2 + arch/arm/mach-mxs/devices/Kconfig | 3 + arch/arm/mach-mxs/devices/Makefile | 1 + arch/arm/mach-mxs/devices/platform-fec.c | 5 +- arch/arm/mach-mxs/devices/platform-mxs-pwm.c | 22 +++++++++ arch/arm/mach-mxs/include/mach/devices-common.h | 4 ++ arch/arm/plat-mxc/devices.c | 2 + arch/arm/plat-mxc/devices/platform-fec.c | 4 +- 14 files changed, 102 insertions(+), 15 deletions(-) create mode 100644 arch/arm/mach-mxs/devices/platform-mxs-pwm.c
(only arch/arm/configs/mx51_defconfig added and a different scale for the other lines)
Sascha, I hope that's OK for you.
Best regards
Uwe
Signature · 2 lines
Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ |
PATCH 1/1 ARM: mx51_defconfig: enable various options
- all currently available machines
- MXC_PWM
- CAN_MCP251X (not yet available but pending)
- MTD_NAND_MXC and UBI
- I2C_IMX and SPI_IMX
- mc13xxx including regulator, rtc and touch support
- SND_IMX_SOC
- IMX_SDMA
The change CONFIG_LEDS_CLASS=m -> y was needed to fix a kconfig warning
arch/arm/configs/mx51_defconfig:113:warning: symbol value 'm' invalid for LEDS_CLASS
and was suggested independently by Shawn Guo, too.
The other changes are either needed to get the options above or just update noise.
--- arch/arm/configs/mx51_defconfig | 53 ++++++++++++++++++++++++++++++++------ 1 files changed, 44 insertions(+), 9 deletions(-)
arch/arm/configs/mx51_defconfig +44 -9
@@ -17,6 +17,12 @@ CONFIG_ARCH_MX5=y CONFIG_MACH_MX51_BABBAGE=y CONFIG_MACH_MX51_3DS=y CONFIG_MACH_EUKREA_CPUIMX51=y +CONFIG_MACH_EUKREA_CPUIMX51SD=y +CONFIG_MACH_MX51_EFIKAMX=y +CONFIG_MACH_MX53_EVK=y +CONFIG_MACH_MX53_SMD=y +CONFIG_MACH_MX53_LOCO=y +CONFIG_MXC_PWM=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y CONFIG_PREEMPT_VOLUNTARY=y
@@ -41,13 +47,26 @@ CONFIG_IP_PNP_DHCP=y # CONFIG_INET_XFRM_MODE_BEET is not set # CONFIG_INET_LRO is not set # CONFIG_IPV6 is not set +CONFIG_CAN=y +CONFIG_CAN_RAW=y +CONFIG_CAN_DEV=y +CONFIG_CAN_CALC_BITTIMING=y +CONFIG_CAN_MCP251X=y # CONFIG_WIRELESS is not set # CONFIG_STANDALONE is not set CONFIG_CONNECTOR=y +CONFIG_MTD=y +CONFIG_MTD_CONCAT=y +CONFIG_MTD_PARTITIONS=y +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_MXC=y +CONFIG_MTD_UBI=y CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_SIZE=65536 -# CONFIG_MISC_DEVICES is not set CONFIG_SCSI=y # CONFIG_SCSI_PROC_FS is not set CONFIG_BLK_DEV_SD=y
@@ -58,6 +77,7 @@ CONFIG_SCSI_SCAN_ASYNC=y # CONFIG_SCSI_LOWLEVEL is not set CONFIG_ATA=m CONFIG_NETDEVICES=y +CONFIG_MII=m CONFIG_MARVELL_PHY=y CONFIG_DAVICOM_PHY=y CONFIG_QSEMI_PHY=y
@@ -74,7 +94,6 @@ CONFIG_LSI_ET1011C_PHY=y CONFIG_MDIO_BITBANG=y CONFIG_MDIO_GPIO=y CONFIG_NET_ETHERNET=y -CONFIG_MII=m CONFIG_FEC=y # CONFIG_NETDEV_1000 is not set # CONFIG_NETDEV_10000 is not set
@@ -82,10 +101,12 @@ CONFIG_FEC=y CONFIG_INPUT_FF_MEMLESS=m # CONFIG_INPUT_MOUSEDEV_PSAUX is not set CONFIG_INPUT_EVDEV=y -CONFIG_KEYBOARD_GPIO=y CONFIG_INPUT_EVBUG=m +CONFIG_KEYBOARD_GPIO=y CONFIG_MOUSE_PS2=m CONFIG_MOUSE_PS2_ELANTECH=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_MC13783=y CONFIG_SERIO_SERPORT=m CONFIG_VT_HW_CONSOLE_BINDING=y # CONFIG_DEVKMEM is not set
@@ -100,8 +121,21 @@ CONFIG_I2C_CHARDEV=m CONFIG_I2C_ALGOBIT=m CONFIG_I2C_ALGOPCF=m CONFIG_I2C_ALGOPCA=m +CONFIG_I2C_IMX=y +CONFIG_SPI=y +CONFIG_SPI_IMX=y +CONFIG_SPI_SPIDEV=y CONFIG_GPIO_SYSFS=y # CONFIG_HWMON is not set +CONFIG_MFD_MC13XXX=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_MC13783=y +CONFIG_REGULATOR_MC13892=y +CONFIG_SOUND=y +CONFIG_SND=y +# CONFIG_SND_SUPPORT_OLD_API is not set +CONFIG_SND_SOC=y +CONFIG_SND_IMX_SOC=y # CONFIG_HID_SUPPORT is not set CONFIG_USB=y CONFIG_USB_EHCI_HCD=y
@@ -110,9 +144,12 @@ CONFIG_MMC=y CONFIG_MMC_BLOCK=m CONFIG_MMC_SDHCI=m CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=m +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_PWM=y CONFIG_RTC_CLASS=y -CONFIG_RTC_INTF_DEV_UIE_EMUL=y +CONFIG_RTC_DRV_MC13XXX=y +CONFIG_DMADEVICES=y +CONFIG_IMX_SDMA=y CONFIG_EXT2_FS=y CONFIG_EXT2_FS_XATTR=y CONFIG_EXT2_FS_POSIX_ACL=y
@@ -126,7 +163,6 @@ CONFIG_EXT4_FS_SECURITY=y CONFIG_QUOTA=y CONFIG_QUOTA_NETLINK_INTERFACE=y # CONFIG_PRINT_QUOTA_WARNING is not set -CONFIG_AUTOFS_FS=y CONFIG_AUTOFS4_FS=y CONFIG_FUSE_FS=y CONFIG_ISO9660_FS=m
@@ -153,14 +189,13 @@ CONFIG_DEBUG_FS=y CONFIG_DEBUG_KERNEL=y # CONFIG_SCHED_DEBUG is not set # CONFIG_DEBUG_BUGVERBOSE is not set -# CONFIG_RCU_CPU_STALL_DETECTOR is not set # CONFIG_FTRACE is not set # CONFIG_ARM_UNWIND is not set CONFIG_DEBUG_LL=y CONFIG_EARLY_PRINTK=y CONFIG_SECURITYFS=y -CONFIG_CRYPTO_DEFLATE=y -CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_DEFLATE=m +CONFIG_CRYPTO_LZO=m # CONFIG_CRYPTO_ANSI_CPRNG is not set # CONFIG_CRYPTO_HW is not set CONFIG_CRC_CCITT=m
Signature · 1 line
1.7.2.3
cover my imx patches for 2.6.39
In reply to Uwe Kleine-KönigHello Sascha,
there is now yet another patch, and as you didn't pull yet (maybe you expected that?) here comes an updated request:
The following changes since commit b807afe41ceefef11a0d965cd9970142afc53d25:
ARM: imx50: correct iomux-mx50.h wrong daisy chain settings (2011-02-18 11:01:34 +0100)
are available in the git repository at:
git://git.pengutronix.de/git/ukl/linux-2.6.git imx-for-2.6.39
Lothar Wa?mann (3):
ARM: mxs: free dma_mask in error path
ARM: mxs: add a dma mask to fec devices
ARM: mxs: Initial support for Ka-Ro TX28
Sascha Hauer (2):
ARM: mxs: Add pwm clocks and device registration
ARM: mxs: Add missing EXPORT_SYMBOL for mxs_reset_block
Uwe Kleine-K?nig (3):
ARM: mxc: free dma_mask in error path
ARM: mxc: add a dma mask to fec devices
ARM: mx51_defconfig: enable various options
arch/arm/configs/mx51_defconfig | 53 ++++++-- arch/arm/mach-mxs/Kconfig | 14 ++ arch/arm/mach-mxs/Makefile | 2 + arch/arm/mach-mxs/clock-mx23.c | 6 +- arch/arm/mach-mxs/clock-mx28.c | 9 +- arch/arm/mach-mxs/devices-mx23.h | 2 + arch/arm/mach-mxs/devices-mx28.h | 2 + arch/arm/mach-mxs/devices.c | 2 + arch/arm/mach-mxs/devices/Kconfig | 3 + arch/arm/mach-mxs/devices/Makefile | 1 + arch/arm/mach-mxs/devices/platform-fec.c | 5 +- arch/arm/mach-mxs/devices/platform-mxs-pwm.c | 22 +++ arch/arm/mach-mxs/include/mach/devices-common.h | 4 + arch/arm/mach-mxs/include/mach/mxs.h | 9 +- arch/arm/mach-mxs/include/mach/uncompress.h | 1 + arch/arm/mach-mxs/mach-tx28.c | 175 +++++++++++++++++++++++ arch/arm/mach-mxs/module-tx28.c | 131 +++++++++++++++++ arch/arm/mach-mxs/module-tx28.h | 9 ++ arch/arm/mach-mxs/system.c | 2 + arch/arm/plat-mxc/devices.c | 2 + arch/arm/plat-mxc/devices/platform-fec.c | 4 +- 21 files changed, 441 insertions(+), 17 deletions(-) create mode 100644 arch/arm/mach-mxs/devices/platform-mxs-pwm.c create mode 100644 arch/arm/mach-mxs/mach-tx28.c create mode 100644 arch/arm/mach-mxs/module-tx28.c create mode 100644 arch/arm/mach-mxs/module-tx28.h
Thanks
Uwe
Signature · 2 lines
Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ |
PATCH 1/1 ARM: mxs: Initial support for Ka-Ro TX28
From: Lothar Wa?mann <[email protected]>
Based on code created by Lothar Wa?mann, Sascha Hauer, Wolfram Sang and me.
--- arch/arm/mach-mxs/Kconfig | 12 ++ arch/arm/mach-mxs/Makefile | 2 + arch/arm/mach-mxs/include/mach/mxs.h | 9 +- arch/arm/mach-mxs/include/mach/uncompress.h | 1 + arch/arm/mach-mxs/mach-tx28.c | 175 +++++++++++++++++++++++++++ arch/arm/mach-mxs/module-tx28.c | 131 ++++++++++++++++++++ arch/arm/mach-mxs/module-tx28.h | 9 ++ 7 files changed, 337 insertions(+), 2 deletions(-) create mode 100644 arch/arm/mach-mxs/mach-tx28.c create mode 100644 arch/arm/mach-mxs/module-tx28.c create mode 100644 arch/arm/mach-mxs/module-tx28.h
arch/arm/mach-mxs/Kconfig +12 -0
@@ -39,4 +39,16 @@ config MACH_MX28EVK Include support for MX28EVK platform. This includes specific configurations for the board and its peripherals. +config MODULE_TX28 + bool + select SOC_IMX28 + select MXS_HAVE_AMBA_DUART + select MXS_HAVE_PLATFORM_AUART + select MXS_HAVE_PLATFORM_FEC + select MXS_HAVE_PLATFORM_MXS_PWM + +config MACH_TX28 + bool "Ka-Ro TX28 module" + select MODULE_TX28 + endif
arch/arm/mach-mxs/Makefile +2 -0
@@ -9,5 +9,7 @@ obj-$(CONFIG_SOC_IMX28) += clock-mx28.o mm-mx28.o obj-$(CONFIG_MACH_MX23EVK) += mach-mx23evk.o obj-$(CONFIG_MACH_MX28EVK) += mach-mx28evk.o +obj-$(CONFIG_MODULE_TX28) += module-tx28.o +obj-$(CONFIG_MACH_TX28) += mach-tx28.o obj-y += devices/
arch/arm/mach-mxs/include/mach/mxs.h +7 -2
@@ -28,8 +28,13 @@/* * MXS CPU types */ -#define cpu_is_mx23 () (machine_is_mx23evk()) -#define cpu_is_mx28 () (machine_is_mx28evk()) +#define cpu_is_mx23 () ( \ + machine_is_mx23evk() || \ + 0) +#define cpu_is_mx28 () ( \ + machine_is_mx28evk() || \ + machine_is_tx28() || \ + 0)/* * IO addresses common to MXS-based
arch/arm/mach-mxs/include/mach/uncompress.h +1 -0
@@ -63,6 +63,7 @@ static inline void __arch_decomp_setup(unsigned long arch_id) mxs_duart_base =MX23_DUART_BASE_ADDR ;break ;case MACH_TYPE_MX28EVK : +case MACH_TYPE_TX28 : mxs_duart_base =MX28_DUART_BASE_ADDR ;break ;default :
arch/arm/mach-mxs/mach-tx28.c new file +175 -0
175 lines not on this page · raw message
arch/arm/mach-mxs/module-tx28.c new file +131 -0
131 lines not on this page · raw message
arch/arm/mach-mxs/module-tx28.h new file +9 -0
@@ -0,0 +1,9 @@ +/* +* Copyright (C) 2010 Pengutronix +* Uwe Kleine-Koenig <[email protected]> +* +* 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. +*/ +int __init tx28_add_fec0 (void );
Signature · 1 line
1.7.2.3
PATCH 1/1 ARM: mxs: Initial support for Ka-Ro TX28
Hello,
as requested by Sascha I squashed the following patch in:
arch/arm/mach-mxs/mach-tx28.c +0 -2
@@ -130,7 +130,6 @@ static const struct gpio_led_platform_data tx28_stk5v3_led_data __initconst = { };static struct spi_board_info tx28_spi_board_info[] = { -#if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE) { .modalias ="spidev" , .max_speed_hz =20000000 ,
@@ -139,7 +138,6 @@ static struct spi_board_info tx28_spi_board_info[] = { .controller_data = (void *)SPI_GPIO_NO_CHIPSELECT, .mode = SPI_MODE_0, }, -#endif };static void __init tx28_stk5v3_init (void )
The branch in my public repository is updated.
Thanks
Uwe
Signature · 2 lines
Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ |
PATCH 1/1 ARM: mxs: Initial support for Ka-Ro TX28
In reply to Uwe Kleine-KönigQuoted 93 lines · Uwe Kleine-K?nig
From: Lothar Wa?mann <[email protected]>
Based on code created by Lothar Wa?mann, Sascha Hauer, Wolfram Sang and me.
Signed-off-by Lothar Wa?mann <[email protected]>Signed-off-by Sascha Hauer <[email protected]>Signed-off-by Wolfram Sang <[email protected]>Signed-off-by Uwe Kleine-K?nig <[email protected]>--- arch/arm/mach-mxs/Kconfig | 12 ++ arch/arm/mach-mxs/Makefile | 2 + arch/arm/mach-mxs/include/mach/mxs.h | 9 +- arch/arm/mach-mxs/include/mach/uncompress.h | 1 + arch/arm/mach-mxs/mach-tx28.c | 175 +++++++++++++++++++++++++++ arch/arm/mach-mxs/module-tx28.c | 131 ++++++++++++++++++++ arch/arm/mach-mxs/module-tx28.h | 9 ++ 7 files changed, 337 insertions(+), 2 deletions(-) create mode 100644 arch/arm/mach-mxs/mach-tx28.c create mode 100644 arch/arm/mach-mxs/module-tx28.c create mode 100644 arch/arm/mach-mxs/module-tx28.harch/arm/mach-mxs/Kconfig +12
-0@@ -39,4 +39,16 @@ config MACH_MX28EVK Include support for MX28EVK platform. This includes specific configurations for the board and its peripherals. +config MODULE_TX28 + bool + select SOC_IMX28 + select MXS_HAVE_AMBA_DUART + select MXS_HAVE_PLATFORM_AUART + select MXS_HAVE_PLATFORM_FEC + select MXS_HAVE_PLATFORM_MXS_PWM + +config MACH_TX28 + bool "Ka-Ro TX28 module" + select MODULE_TX28 + endifarch/arm/mach-mxs/Makefile +2
-0@@ -9,5 +9,7 @@ obj-$(CONFIG_SOC_IMX28) += clock-mx28.o mm-mx28.o obj-$(CONFIG_MACH_MX23EVK) += mach-mx23evk.o obj-$(CONFIG_MACH_MX28EVK) += mach-mx28evk.o +obj-$(CONFIG_MODULE_TX28) += module-tx28.o +obj-$(CONFIG_MACH_TX28) += mach-tx28.o obj-y += devices/arch/arm/mach-mxs/include/mach/mxs.h +7
-2@@ -28,8 +28,13 @@/* * MXS CPU types */ -#define cpu_is_mx23 () (machine_is_mx23evk()) -#define cpu_is_mx28 () (machine_is_mx28evk()) +#define cpu_is_mx23 () ( \ + machine_is_mx23evk() || \ + 0) +#define cpu_is_mx28 () ( \ + machine_is_mx28evk() || \ + machine_is_tx28() || \ + 0)/* * IO addresses common to MXS-based arch/arm/mach-mxs/include/mach/uncompress.h +1
-0@@ -63,6 +63,7 @@ static inline void __arch_decomp_setup(unsigned long arch_id) mxs_duart_base =MX23_DUART_BASE_ADDR ;break ;case MACH_TYPE_MX28EVK : +case MACH_TYPE_TX28 : mxs_duart_base =MX28_DUART_BASE_ADDR ;break ;default :arch/arm/mach-mxs/mach-tx28.c new file +0
-0
arch/arm/mach-mxs/mach-tx28.c line 4
Quoted 4 lines
arch/arm/mach-mxs/mach-tx28.c new file +4
-0@@ -0,0 +1,175 @@ +/* +* Copyright (C) 2010 <[email protected]> +* +* based on: mach-mx28_evk.c
mach-mx28evk.c?
Quoted 6 lines
arch/arm/mach-mxs/mach-tx28.c new file +6
-0+* Copyright 2010 Freescale Semiconductor, Inc. All Rights Reserved. +* +* 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 +*/
Signature · 2 lines
Regards, Shawn