diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2013-04-04 12:03:20 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-04-04 12:03:20 +0200 |
commit | 71e001324bbcc5cd27666cf82e8ce043bf7d342e (patch) | |
tree | 218898eac6b2bbf9c5b8975cb2703b8692032fba /arch/arm/boards/ccxmx51 | |
parent | 602a8a6e96de81552a576ef866333c77c584c67d (diff) | |
parent | 9b3fd4e338f0b08d754700443fb7dc35e02a01a3 (diff) | |
download | barebox-71e001324bbcc5cd27666cf82e8ce043bf7d342e.tar.gz barebox-71e001324bbcc5cd27666cf82e8ce043bf7d342e.tar.xz |
Merge branch 'for-next/imx'
Diffstat (limited to 'arch/arm/boards/ccxmx51')
-rw-r--r-- | arch/arm/boards/ccxmx51/ccxmx51.c | 51 | ||||
-rw-r--r-- | arch/arm/boards/ccxmx51/env/boot/nand | 9 | ||||
-rw-r--r-- | arch/arm/boards/ccxmx51/env/config | 37 | ||||
-rw-r--r-- | arch/arm/boards/ccxmx51/env/config-board | 12 | ||||
-rw-r--r-- | arch/arm/boards/ccxmx51/env/init/mtdparts-nand | 11 |
5 files changed, 37 insertions, 83 deletions
diff --git a/arch/arm/boards/ccxmx51/ccxmx51.c b/arch/arm/boards/ccxmx51/ccxmx51.c index 90ed600e7c..a14c9bc876 100644 --- a/arch/arm/boards/ccxmx51/ccxmx51.c +++ b/arch/arm/boards/ccxmx51/ccxmx51.c @@ -195,51 +195,10 @@ static const struct spi_board_info ccxmx51_spi_board_info[] = { }, }; -static void ccxmx51_otghost_init(void) -{ -#define MX51_USBOTHER_REGS_OFFSET 0x800 -#define MX51_USBCTRL_OFFSET 0x0 -#define MX51_USB_PHY_CTR_FUNC_OFFSET 0x8 -#define MX51_USB_PHY_CTR_FUNC2_OFFSET 0xc -#define MX51_USB_UTMI_PHYCTRL1_PLLDIV_MASK 0x3 -#define MX51_USB_PLL_DIV_19_2_MHZ 0x00 -#define MX51_USB_PLL_DIV_24_MHZ 0x01 -#define MX51_USB_PLL_DIV_26_MHZ 0x02 -#define MX51_USB_PLL_DIV_27_MHZ 0x03 -#define MX51_OTG_PHYCTRL_OC_DIS_BIT (1 << 8) -#define MX51_OTG_UCTRL_OWIE_BIT (1 << 27) -#define MX51_OTG_UCTRL_OPM_BIT (1 << 24) - -#define USBOTHER_BASE (MX51_OTG_BASE_ADDR + MX51_USBOTHER_REGS_OFFSET) - - u32 reg; - - /* Set sysclock to 24 MHz */ - reg = readl(USBOTHER_BASE + MX51_USB_PHY_CTR_FUNC2_OFFSET); - reg &= ~MX51_USB_UTMI_PHYCTRL1_PLLDIV_MASK; - reg |= MX51_USB_PLL_DIV_24_MHZ; - writel(reg, USBOTHER_BASE + MX51_USB_PHY_CTR_FUNC2_OFFSET); - - /* OC is not used */ - reg = readl(USBOTHER_BASE + MX51_USB_PHY_CTR_FUNC_OFFSET); - reg |= MX51_OTG_PHYCTRL_OC_DIS_BIT; - writel(reg, USBOTHER_BASE + MX51_USB_PHY_CTR_FUNC_OFFSET); - - /* Power pins enable */ - reg = readl(USBOTHER_BASE + MX51_USBCTRL_OFFSET); - reg |= MX51_OTG_UCTRL_OWIE_BIT | MX51_OTG_UCTRL_OPM_BIT; - writel(reg, USBOTHER_BASE + MX51_USBCTRL_OFFSET); - - /* Setup PORTSC */ - reg = readl(MX51_OTG_BASE_ADDR + 0x184); - reg &= ~(3 << 30); - reg |= 1 << 28; - writel(reg, MX51_OTG_BASE_ADDR + 0x184); - - mdelay(10); - - add_generic_usb_ehci_device(0, MX51_OTG_BASE_ADDR, NULL); -} +static struct imxusb_platformdata ccxmx51_otg_pdata = { + .flags = MXC_EHCI_MODE_UTMI_16_BIT | MXC_EHCI_POWER_PINS_ENABLED, + .mode = IMX_USB_MODE_HOST, +}; static int ccxmx51_power_init(void) { @@ -453,7 +412,7 @@ static int ccxmx51_devices_init(void) add_generic_device("smc911x", 1, NULL, MX51_CS5_BASE_ADDR, SZ_4K, IORESOURCE_MEM, NULL); } - ccxmx51_otghost_init(); + imx51_add_usbotg(&ccxmx51_otg_pdata); armlinux_set_bootparams((void *)(MX51_CSD0_BASE_ADDR + 0x100)); diff --git a/arch/arm/boards/ccxmx51/env/boot/nand b/arch/arm/boards/ccxmx51/env/boot/nand new file mode 100644 index 0000000000..bb114659ee --- /dev/null +++ b/arch/arm/boards/ccxmx51/env/boot/nand @@ -0,0 +1,9 @@ +#!/bin/sh + +if [ "$1" = menu ]; then + boot-menu-add-entry "$0" "NAND Flash" + exit +fi + +global.bootm.image="/dev/kernel" +global.linux.bootargs.dyn.root="root=/dev/mtdblock3 ro" diff --git a/arch/arm/boards/ccxmx51/env/config b/arch/arm/boards/ccxmx51/env/config deleted file mode 100644 index bbd43e712e..0000000000 --- a/arch/arm/boards/ccxmx51/env/config +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh - -machine=ccmx51 - -# use 'dhcp' to do dhcp in barebox and in kernel -# use 'none' if you want to skip kernel ip autoconfiguration -ip=none - -# or set your networking parameters here -#eth0.ipaddr=a.b.c.d -#eth0.netmask=a.b.c.d -#eth0.gateway=a.b.c.d -#eth0.serverip=a.b.c.d - -# can be either 'nfs', 'tftp' or 'nand' -kernel_loc=nand -# can be either 'net', 'nand' or 'initrd' -rootfs_loc=nand - -# rootfs -rootfs_type=cramfs - -# kernel -kernelimage_type=zimage -kernel_img=/dev/nand0.kernel - -autoboot_timeout=3 - -bootargs="console=ttymxc0,115200" - -device_type="nand" -nand_device="mxc_nand" -nand_parts="512k(barebox)ro,256k(bareboxenv),3328k(kernel),-(root)" -rootfs_mtdblock_nand=3 - -# set a fancy prompt (if support is compiled in) -PS1="\e[1;32mbarebox@\e[1;31m\h:\w\e[0m " diff --git a/arch/arm/boards/ccxmx51/env/config-board b/arch/arm/boards/ccxmx51/env/config-board new file mode 100644 index 0000000000..26acb4b927 --- /dev/null +++ b/arch/arm/boards/ccxmx51/env/config-board @@ -0,0 +1,12 @@ +#!/bin/sh + +global.hostname=ccmx51 + +# Timeout in seconds before the default boot entry is started +global.autoboot_timeout=2 + +# Default boot entry (one of /env/boot/*) +global.boot.default=nand + +# Board bootargs +global.linux.bootargs.base="earlyprintk console=ttymxc0,115200n8" diff --git a/arch/arm/boards/ccxmx51/env/init/mtdparts-nand b/arch/arm/boards/ccxmx51/env/init/mtdparts-nand new file mode 100644 index 0000000000..5ea35d2ef7 --- /dev/null +++ b/arch/arm/boards/ccxmx51/env/init/mtdparts-nand @@ -0,0 +1,11 @@ +#!/bin/sh + +if [ "$1" = menu ]; then + init-menu-add-entry "$0" "NAND partitions" + exit +fi + +mtdparts="512k(barebox)ro,256k(bareboxenv),3328k(kernel),-(root)" +kernelname="mxc_nand" + +mtdparts-add -b -d nand0 -k ${kernelname} -p ${mtdparts} |