diff options
-rw-r--r-- | arch/arm/mach-k3/Kconfig | 2 | ||||
-rw-r--r-- | board/nokia/rx51/MAINTAINERS | 3 | ||||
-rw-r--r-- | board/nokia/rx51/lowlevel_init.S | 11 | ||||
-rw-r--r-- | board/nokia/rx51/rx51.c | 43 | ||||
-rw-r--r-- | board/nokia/rx51/rx51.h | 2 | ||||
-rw-r--r-- | board/nokia/rx51/tag_omap.h | 4 | ||||
-rw-r--r-- | cmd/bootmenu.c | 2 | ||||
-rw-r--r-- | configs/nokia_rx51_defconfig | 27 | ||||
-rw-r--r-- | doc/README.bootmenu | 2 | ||||
-rw-r--r-- | doc/README.nokia_rx51 | 32 | ||||
-rw-r--r-- | drivers/net/ti/am65-cpsw-nuss.c | 4 | ||||
-rw-r--r-- | drivers/video/am335x-fb.c | 8 | ||||
-rw-r--r-- | include/ansi.h | 2 | ||||
-rw-r--r-- | include/configs/nokia_rx51.h | 88 | ||||
-rw-r--r-- | include/configs/ti_armv7_common.h | 2 |
15 files changed, 119 insertions, 113 deletions
diff --git a/arch/arm/mach-k3/Kconfig b/arch/arm/mach-k3/Kconfig index a13cbef9b5..c7d186149b 100644 --- a/arch/arm/mach-k3/Kconfig +++ b/arch/arm/mach-k3/Kconfig @@ -119,7 +119,7 @@ config K3_SYSFW_IMAGE_MMCSD_RAW_MODE_PART config K3_SYSFW_IMAGE_SIZE_MAX int "Amount of memory dynamically allocated for loading SYSFW blob" depends on K3_LOAD_SYSFW - default 277000 + default 278000 help Amount of memory (in bytes) reserved through dynamic allocation at runtime for loading the combined System Firmware and configuration image diff --git a/board/nokia/rx51/MAINTAINERS b/board/nokia/rx51/MAINTAINERS index 8bdddc1d83..f2a712620b 100644 --- a/board/nokia/rx51/MAINTAINERS +++ b/board/nokia/rx51/MAINTAINERS @@ -1,6 +1,7 @@ RX51 BOARD -M: Pali Rohár <pali.rohar@gmail.com> +M: Pali Rohár <pali@kernel.org> S: Maintained F: board/nokia/rx51/ F: include/configs/nokia_rx51.h F: configs/nokia_rx51_defconfig +F: doc/README.nokia_rx51 diff --git a/board/nokia/rx51/lowlevel_init.S b/board/nokia/rx51/lowlevel_init.S index 6871a5a74f..1466d976fc 100644 --- a/board/nokia/rx51/lowlevel_init.S +++ b/board/nokia/rx51/lowlevel_init.S @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0+ */ /* * (C) Copyright 2011-2012 - * Pali Rohár <pali.rohar@gmail.com> + * Pali Rohár <pali@kernel.org> */ #include <config.h> @@ -155,7 +155,14 @@ copy_code_end: mov pc, r2 -/* Copy u-boot to address CONFIG_SYS_TEXT_BASE */ +/* + * Copy u-boot to address CONFIG_SYS_TEXT_BASE + * + * Nokia X-Loader loading secondary image to address 0x80400000 + * NOLO loading boot image to random place, so it doesn't really + * matter what is set in CONFIG_SYS_TEXT_BASE. We have to copy + * u-boot to CONFIG_SYS_TEXT_BASE address. + */ copy_uboot_start: /* r0 - start of u-boot before */ diff --git a/board/nokia/rx51/rx51.c b/board/nokia/rx51/rx51.c index 71ca79deab..a282fe68a6 100644 --- a/board/nokia/rx51/rx51.c +++ b/board/nokia/rx51/rx51.c @@ -4,7 +4,7 @@ * Ивайло Димитров <freemangordon@abv.bg> * * (C) Copyright 2011-2012 - * Pali Rohár <pali.rohar@gmail.com> + * Pali Rohár <pali@kernel.org> * * (C) Copyright 2010 * Alistair Buxton <a.j.buxton@gmail.com> @@ -69,18 +69,12 @@ static struct tag_omap omap[] = { OMAP_TAG_GPIO_SWITCH_CONFIG("sleep_ind", 0xa2, 0x2, 0x2, 0x0), OMAP_TAG_GPIO_SWITCH_CONFIG("slide", GPIO_SLIDE, 0x0, 0x0, 0x0), OMAP_TAG_WLAN_CX3110X_CONFIG(0x25, 0xff, 87, 42, -1), - OMAP_TAG_PARTITION_CONFIG(PART1_NAME, PART1_SIZE * PART1_MULL, - PART1_OFFS, PART1_MASK), - OMAP_TAG_PARTITION_CONFIG(PART2_NAME, PART2_SIZE * PART2_MULL, - PART2_OFFS, PART2_MASK), - OMAP_TAG_PARTITION_CONFIG(PART3_NAME, PART3_SIZE * PART3_MULL, - PART3_OFFS, PART3_MASK), - OMAP_TAG_PARTITION_CONFIG(PART4_NAME, PART4_SIZE * PART4_MULL, - PART4_OFFS, PART4_MASK), - OMAP_TAG_PARTITION_CONFIG(PART5_NAME, PART5_SIZE * PART5_MULL, - PART5_OFFS, PART5_MASK), - OMAP_TAG_PARTITION_CONFIG(PART6_NAME, PART6_SIZE * PART6_MULL, - PART6_OFFS, PART6_MASK), + OMAP_TAG_PARTITION_CONFIG("bootloader", 128 * 1024, 0x00000000, 0x00000003), + OMAP_TAG_PARTITION_CONFIG("config", 384 * 1024, 0x00020000, 0x00000000), + OMAP_TAG_PARTITION_CONFIG("log", 256 * 1024, 0x00080000, 0x00000000), + OMAP_TAG_PARTITION_CONFIG("kernel", 2 * 1024*1024, 0x000c0000, 0x00000000), + OMAP_TAG_PARTITION_CONFIG("initfs", 2 * 1024*1024, 0x002c0000, 0x00000000), + OMAP_TAG_PARTITION_CONFIG("rootfs", 257280 * 1024, 0x004c0000, 0x00000000), OMAP_TAG_BOOT_REASON_CONFIG("pwr_key"), OMAP_TAG_VERSION_STR_CONFIG("product", "RX-51"), OMAP_TAG_VERSION_STR_CONFIG("hw-build", "2101"), @@ -93,6 +87,7 @@ static char *boot_reason_ptr; static char *hw_build_ptr; static char *nolo_version_ptr; static char *boot_mode_ptr; +static int serial_was_console_enabled; /* * Routine: init_omap_tags @@ -149,6 +144,13 @@ static void reuse_omap_atags(struct tag_omap *t) strcpy(boot_mode_ptr, version); } break; + case OMAP_TAG_UART: + if (!t->u.uart.enabled_uarts) + serial_was_console_enabled = 1; + break; + case OMAP_TAG_SERIAL_CONSOLE: + serial_was_console_enabled = 1; + break; default: break; } @@ -239,10 +241,17 @@ void setup_board_tags(struct tag **in_params) return; str = env_get("setup_console_atag"); - if (str && str[0] == '1') - setup_console_atag = 1; - else - setup_console_atag = 0; + if (str && str[0]) { + if (str[0] == '1') + setup_console_atag = 1; + else + setup_console_atag = 0; + } else { + if (serial_was_console_enabled) + setup_console_atag = 1; + else + setup_console_atag = 0; + } setup_boot_reason_atag = env_get("setup_boot_reason_atag"); setup_boot_mode_atag = env_get("setup_boot_mode_atag"); diff --git a/board/nokia/rx51/rx51.h b/board/nokia/rx51/rx51.h index fc336ee819..fa1b42bf21 100644 --- a/board/nokia/rx51/rx51.h +++ b/board/nokia/rx51/rx51.h @@ -4,7 +4,7 @@ * Ивайло Димитров <freemangordon@abv.bg> * * (C) Copyright 2011-2012 - * Pali Rohár <pali.rohar@gmail.com> + * Pali Rohár <pali@kernel.org> * * (C) Copyright 2008 * Dirk Behme <dirk.behme@gmail.com> diff --git a/board/nokia/rx51/tag_omap.h b/board/nokia/rx51/tag_omap.h index c445aafde0..b99d6b7de1 100644 --- a/board/nokia/rx51/tag_omap.h +++ b/board/nokia/rx51/tag_omap.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0+ */ /* * (C) Copyright 2011-2012 - * Pali Rohár <pali.rohar@gmail.com> + * Pali Rohár <pali@kernel.org> * * (C) Copyright 2011 * marcel@mesa.nl, Mesa Consulting B.V. @@ -182,7 +182,7 @@ struct omap_em_asic_bb5_config { * processing omap tag structures * * Copyright (C) 2011 marcel@mesa.nl, Mesa Consulting B.V. - * Copyright (C) 2012 Pali Rohár <pali.rohar@gmail.com> + * Copyright (C) 2012 Pali Rohár <pali@kernel.org> */ /* TI OMAP specific information */ diff --git a/cmd/bootmenu.c b/cmd/bootmenu.c index f1562883f5..6af0617e65 100644 --- a/cmd/bootmenu.c +++ b/cmd/bootmenu.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * (C) Copyright 2011-2013 Pali Rohár <pali.rohar@gmail.com> + * (C) Copyright 2011-2013 Pali Rohár <pali@kernel.org> */ #include <common.h> diff --git a/configs/nokia_rx51_defconfig b/configs/nokia_rx51_defconfig index f9e5b0e123..41722725e6 100644 --- a/configs/nokia_rx51_defconfig +++ b/configs/nokia_rx51_defconfig @@ -6,8 +6,8 @@ CONFIG_TARGET_NOKIA_RX51=y CONFIG_NR_DRAM_BANKS=2 CONFIG_BOOTDELAY=30 CONFIG_USE_PREBOOT=y -CONFIG_PREBOOT="setenv mmcnum 1; setenv mmcpart 1;setenv mmcscriptfile bootmenu.scr;if run switchmmc; then setenv mmcdone true;setenv mmctype fat;if run scriptload; then true; else setenv mmctype ext2;if run scriptload; then true; else setenv mmctype ext4;if run scriptload; then true; else setenv mmcdone false;fi;fi;fi;if ${mmcdone}; then run scriptboot;fi;fi;if run slide; then true; else setenv bootmenu_delay 0;setenv bootdelay 0;fi" -# CONFIG_CONSOLE_MUX is not set +CONFIG_PREBOOT="run preboot" +CONFIG_CONSOLE_MUX=y CONFIG_SYS_CONSOLE_IS_IN_ENV=y CONFIG_HUSH_PARSER=y CONFIG_SYS_PROMPT="Nokia RX-51 # " @@ -26,6 +26,7 @@ CONFIG_CMD_FAT=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y # CONFIG_NET is not set CONFIG_TWL4030_LED=y +# CONFIG_MMC_HW_PARTITIONING is not set CONFIG_MMC_OMAP_HS=y CONFIG_CONS_INDEX=3 CONFIG_SYS_NS16550=y @@ -39,3 +40,25 @@ CONFIG_TWL4030_USB=y CONFIG_VIDEO=y CONFIG_CFB_CONSOLE_ANSI=y # CONFIG_VGA_AS_SINGLE_DEVICE is not set +CONFIG_MTD=y +CONFIG_MTDIDS_DEFAULT="onenand0=onenand" +CONFIG_MTDPARTS_DEFAULT="mtdparts=onenand:128k(bootloader)ro,384k(config),256k(log),2m(kernel),2m(initfs),-(rootfs)" +CONFIG_MTD_PARTITIONS=y +# CONFIG_MTD_RAW_NAND is not set +CONFIG_CMD_MTD=y +CONFIG_CMD_ONENAND=y +# CONFIG_BOOTM_NETBSD is not set +# CONFIG_BOOTM_PLAN9 is not set +# CONFIG_BOOTM_RTEMS is not set +# CONFIG_BOOTM_VXWORKS is not set +# CONFIG_GZIP is not set +# CONFIG_FIT is not set +# CONFIG_CMD_ELF is not set +# CONFIG_CMD_BDI is not set +# CONFIG_CMD_BOOTD is not set +# CONFIG_CMD_XIMG is not set +# CONFIG_CMD_EXPORTENV is not set +# CONFIG_CMD_IMPORTENV is not set +# CONFIG_CMD_EDITENV is not set +# CONFIG_CMD_ENV_EXISTS is not set +# CONFIG_CMD_FLASH is not set diff --git a/doc/README.bootmenu b/doc/README.bootmenu index ca5099089e..9ff89f2e55 100644 --- a/doc/README.bootmenu +++ b/doc/README.bootmenu @@ -1,6 +1,6 @@ SPDX-License-Identifier: GPL-2.0+ /* - * (C) Copyright 2011-2012 Pali Rohár <pali.rohar@gmail.com> + * (C) Copyright 2011-2012 Pali Rohár <pali@kernel.org> */ ANSI terminal bootmenu command diff --git a/doc/README.nokia_rx51 b/doc/README.nokia_rx51 index 586ed7c1cc..33c275b416 100644 --- a/doc/README.nokia_rx51 +++ b/doc/README.nokia_rx51 @@ -19,7 +19,7 @@ stored ATAGs (see boot order). There is support for hardware watchdog. Hardware watchdog is started by NOLO so u-boot must kick watchdog to prevent reboot device (but not very often, max every 2 seconds). There is also support for framebuffer display -output with ANSI espace codes and the N900 HW keyboard input. USB tty works +output with ANSI escape codes and the N900 HW keyboard input. USB tty works but is disabled because it prevents the current Maemo kernel from booting. When U-Boot is starting it enable IBE bit in Auxiliary Control Register, @@ -36,7 +36,7 @@ Boot from SD or eMMC in this order: * 1. * 1.1 find boot.scr on first fat partition - * 1.2 find uImage on first fat parition + * 1.2 find uImage on first fat partition * 1.3 same order for 2. - 4. fat partition * 2. same as 1. but for ext2/3 partition * 3. same as 1. but for ext4 partition @@ -62,21 +62,26 @@ Available additional commands/variables: * run trymmcscriptboot - Try to load and boot script ${mmcscriptfile} * run trymmckernboot - Try to load and boot kernel image ${mmckernfile} * run trymmckerninitrdboot - Try to load and boot kernel image ${mmckernfile} - with initrd image ${mmcinitrdfile} + with initrd image ${mmcinitrdfile} Additional variables for loading files from mmc: * mmc ${mmcnum} (0 - external, 1 - internal) * partition number ${mmcpart} (1 - 4) - * parition type ${mmctype} (fat, ext2) + * parition type ${mmctype} (fat, ext2, ext4) -Additional varuables for booting kernel: +Additional variables for booting kernel: * setup_omap_atag - Add OMAP table into atags structure (needs maemo kernel) * setup_console_atag - Enable serial console in OMAP table * setup_boot_reason_atag - Change boot reason in OMAP table * setup_boot_mode_atag - Change boot mode in OMAP table + Variable setup_omap_atag is automatically set when booting attached kernel. + When variable setup_omap_atag is set, variable setup_console_atag is unset + and u-boot standard output is set to serial then setup_console_atag is + automatically set to 1. So output from Maemo kernel would go to serial port. + USB TTY: Maemo kernel 2.6.28 will crash if u-boot enable usb tty. So USB TTY is disabled. @@ -85,20 +90,13 @@ USB TTY: #define CONFIG_USB_TTY -ONENAND support: - - ONENAND support is disabled because not working yet and cause linux kernel to - crash or no access to mtd. For enabling ONENAND support add this line at begin - of file include/configs/nokia_rx51.h - - #define ONENAND_SUPPORT - - UBIFS support: UBIFS support is disabled, because U-Boot image is too big and cannot be flashed with attached zImage to RX-51 kernel nand area. For enabling UBIFS - support first enable ONENAND support and then add this line at begin of file - include/configs/nokia_rx51.h + support add following lines into file configs/nokia_rx51_defconfig - #define UBIFS_SUPPORT + CONFIG_CMD_UBI=y + CONFIG_CMD_UBIFS=y + CONFIG_MTD_UBI_FASTMAP=y + CONFIG_MTD_UBI_FASTMAP_AUTOCONVERT=1 diff --git a/drivers/net/ti/am65-cpsw-nuss.c b/drivers/net/ti/am65-cpsw-nuss.c index 2b77213001..7531a07203 100644 --- a/drivers/net/ti/am65-cpsw-nuss.c +++ b/drivers/net/ti/am65-cpsw-nuss.c @@ -61,6 +61,7 @@ #define AM65_CPSW_MACSL_CTL_REG 0x0 #define AM65_CPSW_MACSL_CTL_REG_IFCTL_A BIT(15) +#define AM65_CPSW_MACSL_CTL_EXT_EN BIT(18) #define AM65_CPSW_MACSL_CTL_REG_GIG BIT(7) #define AM65_CPSW_MACSL_CTL_REG_GMII_EN BIT(5) #define AM65_CPSW_MACSL_CTL_REG_LOOPBACK BIT(1) @@ -187,6 +188,9 @@ static int am65_cpsw_update_link(struct am65_cpsw_priv *priv) AM65_CPSW_MACSL_CTL_REG_GMII_EN; if (phy->speed == 1000) mac_control |= AM65_CPSW_MACSL_CTL_REG_GIG; + if (phy->speed == 10 && phy_interface_is_rgmii(phy)) + /* Can be used with in band mode only */ + mac_control |= AM65_CPSW_MACSL_CTL_EXT_EN; if (phy->duplex == DUPLEX_FULL) mac_control |= AM65_CPSW_MACSL_CTL_REG_FULL_DUPLEX; if (phy->speed == 100) diff --git a/drivers/video/am335x-fb.c b/drivers/video/am335x-fb.c index eb5add2a20..0f066df451 100644 --- a/drivers/video/am335x-fb.c +++ b/drivers/video/am335x-fb.c @@ -13,15 +13,15 @@ */ #include <common.h> #include <dm.h> -#include <asm/io.h> +#include <lcd.h> +#include <video.h> +#include <asm/arch/clock.h> #include <asm/arch/hardware.h> #include <asm/arch/omap.h> -#include <asm/arch/clock.h> #include <asm/arch/sys_proto.h> +#include <asm/io.h> #include <asm/utils.h> #include <linux/err.h> -#include <lcd.h> -#include <video.h> #include "am335x-fb.h" #define LCDC_FMAX 200000000 diff --git a/include/ansi.h b/include/ansi.h index e90a697eaf..af1a3712c8 100644 --- a/include/ansi.h +++ b/include/ansi.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0+ */ /* * (C) Copyright 2012 - * Pali Rohár <pali.rohar@gmail.com> + * Pali Rohár <pali@kernel.org> */ /* diff --git a/include/configs/nokia_rx51.h b/include/configs/nokia_rx51.h index 5d1c7bf835..a9a0b1c998 100644 --- a/include/configs/nokia_rx51.h +++ b/include/configs/nokia_rx51.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0+ */ /* * (C) Copyright 2011-2012 - * Pali Rohár <pali.rohar@gmail.com> + * Pali Rohár <pali@kernel.org> * * (C) Copyright 2010 * Alistair Buxton <a.j.buxton@gmail.com> @@ -25,12 +25,6 @@ #define CONFIG_MACH_TYPE MACH_TYPE_NOKIA_RX51 -/* - * Nokia X-Loader loading secondary image to address 0x80400000 - * NOLO loading boot image to random place, so it doesn't really - * matter what we set this to. We have to copy u-boot to this address - */ - #include <asm/arch/cpu.h> /* get chip and board defs */ #include <asm/arch/omap.h> #include <asm/arch/mem.h> @@ -97,54 +91,8 @@ * Board ONENAND Info. */ -#define PART1_NAME "bootloader" -#define PART1_SIZE 128 -#define PART1_MULL 1024 -#define PART1_SUFF "k" -#define PART1_OFFS 0x00000000 -#define PART1_MASK 0x00000003 - -#define PART2_NAME "config" -#define PART2_SIZE 384 -#define PART2_MULL 1024 -#define PART2_SUFF "k" -#define PART2_OFFS 0x00020000 -#define PART2_MASK 0x00000000 - -#define PART3_NAME "log" -#define PART3_SIZE 256 -#define PART3_MULL 1024 -#define PART3_SUFF "k" -#define PART3_OFFS 0x00080000 -#define PART3_MASK 0x00000000 - -#define PART4_NAME "kernel" -#define PART4_SIZE 2 -#define PART4_MULL 1024*1024 -#define PART4_SUFF "m" -#define PART4_OFFS 0x000c0000 -#define PART4_MASK 0x00000000 - -#define PART5_NAME "initfs" -#define PART5_SIZE 2 -#define PART5_MULL 1024*1024 -#define PART5_SUFF "m" -#define PART5_OFFS 0x002c0000 -#define PART5_MASK 0x00000000 - -#define PART6_NAME "rootfs" -#define PART6_SIZE 257280 -#define PART6_MULL 1024 -#define PART6_SUFF "k" -#define PART6_OFFS 0x004c0000 -#define PART6_MASK 0x00000000 - -#ifdef ONENAND_SUPPORT - #define CONFIG_SYS_ONENAND_BASE ONENAND_MAP -#endif - /* Watchdog support */ #define CONFIG_HW_WATCHDOG @@ -169,17 +117,11 @@ int rx51_kp_getc(struct stdio_dev *sdev); #endif /* Environment information */ -#ifdef CONFIG_MTDPARTS_DEFAULT -#define MTDPARTS "mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" -#else -#define MTDPARTS -#endif #define CONFIG_EXTRA_ENV_SETTINGS \ - MTDPARTS \ "usbtty=cdc_acm\0" \ - "stdin=vga\0" \ - "stdout=vga\0" \ - "stderr=vga\0" \ + "stdin=serial,vga\0" \ + "stdout=serial,vga\0" \ + "stderr=serial,vga\0" \ "setcon=setenv stdin ${con};" \ "setenv stdout ${con};" \ "setenv stderr ${con}\0" \ @@ -245,6 +187,28 @@ int rx51_kp_getc(struct stdio_dev *sdev); "fi\0" \ "emmcboot=setenv mmcnum 1; run trymmcboot\0" \ "sdboot=setenv mmcnum 0; run trymmcboot\0" \ + "preboot=setenv mmcnum 1; setenv mmcpart 1;" \ + "setenv mmcscriptfile bootmenu.scr;" \ + "if run switchmmc; then " \ + "setenv mmcdone true;" \ + "setenv mmctype fat;" \ + "if run scriptload; then true; else " \ + "setenv mmctype ext2;" \ + "if run scriptload; then true; else " \ + "setenv mmctype ext4;" \ + "if run scriptload; then true; else " \ + "setenv mmcdone false;" \ + "fi;" \ + "fi;" \ + "fi;" \ + "if ${mmcdone}; then " \ + "run scriptboot;" \ + "fi;" \ + "fi;" \ + "if run slide; then true; else " \ + "setenv bootmenu_delay 0;" \ + "setenv bootdelay 0;" \ + "fi\0" \ "menucmd=bootmenu\0" \ "bootmenu_0=Attached kernel=run attachboot\0" \ "bootmenu_1=Internal eMMC=run emmcboot\0" \ diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h index a612bb5b4a..08829781e3 100644 --- a/include/configs/ti_armv7_common.h +++ b/include/configs/ti_armv7_common.h @@ -63,7 +63,7 @@ "name_fit=fitImage\0" \ "update_to_fit=setenv loadaddr ${addr_fit}; setenv bootfile ${name_fit}\0" \ "get_overlaystring=" \ - "for overlay in $overlay_files;" \ + "for overlay in $name_overlays;" \ "do;" \ "setenv overlaystring ${overlaystring}'#'${overlay};" \ "done;\0" \ |