summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeLines
* powerpc/mpc8536ds: Add eSPI support for MPC8536DSXie Xiaobo2011-10-09-4/+21
| | | | | | | | | | 1. The SD_DATA[4:7] signals are shared with the SPI chip selects on 8536DS, so don't set MPC85xx_PMUXCR_SD_DATA that config eSDHC data bus-width to 4-bit and enable SPI signals. 2. Add eSPI controller and SPI-FLASH definition. Signed-off-by: Xie Xiaobo <r63061@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* powerpc/mpc8548cds: Update config filechenhui zhao2011-10-09-18/+26
| | | | | | | | | | | | | - Increase the size of malloc space. - Enable e1000 network card. - Show pci devices on startup. - Change the location of env address. - Use hwconfig to turn off ECC by default. [Kumar Gala] Fixed white space formating for CONFIG_EXTRA_ENV_SETTINGS Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* powerpc/mpc86xx: Disable translation for BAT setupBecky Bruce2011-10-09-79/+142
| | | | | | | | | | | | | | | | | We really shouldn't be overwriting bat registers with translation enabled, especially when we're executing code using one of them for translating the current instruction stream. Instead, disable address translation while doing the final BAT setup. In order to do this, setup_bats has to move back to asm code, because we require translation to be enabled to have a stack for C code. The yucky thing about that is that the assembler doesn't like ULL so we have to switch to using HIGH/LOW pairs for physical addresses that are > 32 bits in length. Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org> Acked-by: York Sun <yorksun@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* powerpc/mpc8641hpcn: fix SRIO BAT configBecky Bruce2011-10-09-5/+0
| | | | | | | | There were duplicate (and conflicting) defines for the BATs used to cover SRIO. Drop the bogus set. Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* powerpc/85xx: fix null pointer dereference when init the SGMII TBI PHYTimur Tabi2011-10-09-3/+11
| | | | | | | | | | | | | | | Function dtsec_configure_serdes() needs to know where the TBI PHY registers are in order to configure SGMII for proper SerDes operation. During SGMII initialzation, fm_eth_init_mac() passing NULL for 'phyregs' when it called init_dtsec(), because it was believed that phyregs was not used. In fact, it is used by dtsec_configure_serdes() to configure the TBI PHY registers. We also need to define the PHY registers in struct fm_mdio. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* powerpc/mpc8xxx: Merge entries in DDR speed tableYork Sun2011-10-09-460/+472
| | | | | | | | | | | | | | | It is not necessary to keep multiple entries for the same setting in DDR speed tables. Merge them for smaller tables. Also restructure the tables for smaller size. Cleanup some typedefs. Enforce strict checking for speed table. If DIMM is running at higher than known speed, try to use the highest speed setting. If rank is unknown, it has to panic. Removed ODT overriding for P2020DS as it is not necessary. Signed-off-by: York Sun <yorksun@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* phylib: Work around bug in Teranetics PHYAndy Fleming2011-10-09-1/+20
| | | | | | | | | | | The Teranetics PHY does not properly report the link state for fiber connections. The new PHY code actually checked the link, and so the FM driver would refuse to talk over a linkless PHY. But the link may actually be up, so now we always report it as up for fiber connections on the tn2020. Signed-off-by: Andy Fleming <afleming@freescale.com>
* powerpc/85xx: CONFIG_ENABLE_36BIT_PHYS does not depend on CONFIG_PHYS_64BITTimur Tabi2011-10-09-3/+3
| | | | | | | | | | The macro CONFIG_ENABLE_36BIT_PHYS is used to indicate that the given SOC is capable of 36-bit physical addresses, even if such large addresses are not used. On two boards, this macro was enabled only when building a 36-bit image. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* powerpc/8xxx: Add support for interactive DDR programming interfaceYork Sun2011-10-09-18/+1880
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Interactive DDR debugging provides a user interface to view and modify SPD, DIMM parameters, board options and DDR controller registers before DDR is initialized. With this feature, developers can fine-tune DDR for board bringup and other debugging without frequently having to reprogram the flash. To enable this feature, define CONFIG_FSL_DDR_INTERACTIVE in board header file and set an environment variable to activate it. Syntax: setenv ddr_interactive on After reset, U-boot prompts before initializing DDR controllers FSL DDR> The available commands are print print SPD and intermediate computed data reset reboot machine recompute reload SPD and options to default and recompute regs edit modify spd, parameter, or option compute recompute registers from current next_step to end next_step shows current next_step help this message go program the memory controller and continue with u-boot The first command should be "compute", which reads data from DIMM SPDs and board options, performs the calculation then stops before setting DDR controller. A user can use "print" and "edit" commands to view and modify anything. "Go" picks up from current step with any modification and compltes the calculation then enables the DDR controller to continue u-boot. "Recompute" does it over from fresh reading. Signed-off-by: York Sun <yorksun@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* arm920t/s3c24x0/usb_ohci.c: fix warning: variable ... set but not usedWolfgang Denk2011-10-09-2/+1
| | | | | | | | | Fix: usb_ohci.c: In function 'dl_transfer_length': usb_ohci.c:768:8: warning: variable 'tdINFO' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Remy Bohmer <linux@bohmer.net>
* common/usb.c: fix warning: variable ... set but not usedWolfgang Denk2011-10-09-7/+13
| | | | | | | | | | | | | | Fix: usb.c: In function 'usb_parse_config': usb.c:331:17: warning: variable 'ch' set but not used [-Wunused-but-set-variable] usb.c: In function 'usb_hub_port_connect_change': usb.c:1123:29: warning: variable 'portchange' set but not used [-Wunused-but-set-variable] usb.c: In function 'usb_hub_configure': usb.c:1183:25: warning: variable 'hubsts' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Remy Bohmer <linux@bohmer.net> Acked-by: Remy Bohmer <linux@bohmer.net>
* drivers/usb/host/ohci-hcd.c: fix warning: variable ... set but not usedWolfgang Denk2011-10-09-2/+1
| | | | | | | | | | Fix: ohci-hcd.c: In function 'dl_transfer_length': ohci-hcd.c:968:8: warning: variable 'tdINFO' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Remy Bohmer <linux@bohmer.net> Acked-by: Remy Bohmer <linux@bohmer.net>
* common/cmd_usb.c: fix warning: variable ... set but not usedWolfgang Denk2011-10-09-2/+1
| | | | | | | | | | Fix: cmd_usb.c: In function 'usb_show_tree_graph': cmd_usb.c:284:29: warning: variable 'port' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Remy Bohmer <linux@bohmer.net> Acked-by: Remy Bohmer <linux@bohmer.net>
* drivers/net/smc91111.c: fix warning: variable ... set but not usedWolfgang Denk2011-10-09-8/+0
| | | | | | | | | Fix: smc91111.c: In function 'smc_phy_configure': smc91111.c:1194:6: warning: variable 'failed' set but not used [-Wunused-but-set-variable] smc91111.c:1190:7: warning: variable 'phyaddr' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <wd@denx.de>
* fs/jffs2/jffs2_1pass.c: fix warning: variable ... set but not usedWolfgang Denk2011-10-09-10/+4
| | | | | | | | | | Fix: jffs2_1pass.c: In function 'jffs2_1pass_read_inode': jffs2_1pass.c:699:7: warning: variable 'ret' set but not used [-Wunused-but-set-variable] jffs2_1pass.c: In function 'jffs2_1pass_build_lists': jffs2_1pass.c:1578:14: warning: variable 'empty_start' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <wd@denx.de>
* CFI: fix warning: variable ... set but not usedWolfgang Denk2011-10-09-2/+11
| | | | | | | | | | | | | | | Fix: cfi_mtd.c: In function 'cfi_mtd_init': cfi_mtd.c:226:19: warning: variable 'mtd_list' set but not used [-Wunused-but-set-variable] cfi_mtd.c: In function 'cfi_mtd_init': cfi_mtd.c:225:6: warning: unused variable 'devices_found' cfi_mtd.c: In function 'cfi_mtd_init': cfi_mtd.c:226:19: warning: variable 'mtd_list' set but not used [-Wunused-but-set-variable] [-Wunused-variable] Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Stefan Roese <sr@denx.de> Acked-by: Stefan Roese <sr@denx.de>
* arch/arm/lib/board.c: fix warning: variable ... set but not usedWolfgang Denk2011-10-09-3/+1
| | | | | | | | Fix: board.c:445:8: warning: variable 'bd' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
* netconsole: support packets longer than 512 bytesMichael Walle2011-10-09-4/+7
| | | | | | | | Esp. while printing the environment the output is usually longer than 512 bytes. Instead of cutting the message, send multiple 512 bytes packets. Signed-off-by: Michael Walle <michael@walle.cc> Acked-by: Mike Frysinger <vapier@gentoo.org>
* cmd_time: add time commandChe-liang Chiou2011-10-09-0/+92
| | | | | | | | | | | | | | | The 'time' command runs and reports execution time of commands. Sample usage: -------------------- u-boot# time crc 0x1000 1000 CRC32 for 00001000 ... 00001fff ==> ae94dc4b time: 0.004 seconds, 4 ticks -------------------- Signed-off-by: Che-Liang Chiou <clchiou@chromium.org> Acked-by: Mike Frysinger <vapier@gentoo.org>
* README: fix typos and such.Wolfgang Denk2011-10-09-8/+5
| | | | | Reported-by: Michael Jones <michael.jones@matrix-vision.de> Signed-off-by: Wolfgang Denk <wd@denx.de>
* README: fix documentation of CONFIG_SHOW_BOOT_PROGRESSWolfgang Denk2011-10-09-36/+36
| | | | | | | | Some previous changes added code right in the middle of the description of CONFIG_SHOW_BOOT_PROGRESS. Move this text down. Fix formatting while we are at it. Signed-off-by: Wolfgang Denk <wd@denx.de>
* common/image.c: remove duplicated IH_TYPE entries.Wolfgang Denk2011-10-09-6/+3
| | | | | | Also rearrange IH_TYPE table slightly. Signed-off-by: Wolfgang Denk <wd@denx.de>
* serial: uartlite: Support for SERIAL_MULTIMichal Simek2011-10-09-19/+142
| | | | | | Add support for SERIAL MULTI for uartlite. Signed-off-by: Michal Simek <monstr@monstr.eu>
* ppc: Fix DBSR_IAx defines in <bedbug/regs.h>Stefan Roese2011-10-09-16/+15
| | | | | | | | | | | While adding asm/cache.h to common.h for PPC targets, I got an error about multiple definitions of some DBSR_ macros. While scanning these defines, I noticed that some where defined not correctly for all PPC variants. So I removed all unused defines, and corrected the ones really used by bedbug (book-e vs. ppc40x). Signed-off-by: Stefan Roese <sr@denx.de> Cc: Wolfgang Denk <wd@denx.de>
* ppc: Include <asm/cache.h> in common.hStefan Roese2011-10-09-0/+8
| | | | | | | | | | | | | | | This is needed for the patch "cache: add default setting for CONFIG_SYS_CACHELINE_SIZE" from Anton Staaf. As cache.h defines CONFIG_SYS_CACHELINE_SIZE for PPC targets. This will remove the following warnings/errors: include/common.h:819:2: warning: #warning CONFIG_SYS_CACHELINE_SIZE not defined, using __BIGGEST_ALIGNMENT__ cache.c:33: error: '__BIGGEST_ALIGNMENT__' undeclared (first use in this function) Signed-off-by: Stefan Roese <sr@denx.de> Cc: Anton Staaf <robotboy@chromium.org> Cc: Wolfgang Denk <wd@denx.de>
* part: show efi partition name when print out partition infoLei Wen2011-10-06-5/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | Previous output: Marvell>> mmc part Partition Map for MMC device 1 -- Partition Type: EFI Part Start LBA End LBA gpt1 0x8C00 0xCBFF gpt2 0xCC00 0x57BFF gpt3 0x57C00 0xA2BFF gpt4 0xA2C00 0xECBFDE With the patch, the output becomes: Marvell>> mmc part Partition Map for MMC device 1 -- Partition Type: EFI Part Name Start LBA End LBA 1 ramdisk 0x00008C00 0x0000CBFF 2 system 0x0000CC00 0x00057BFF 3 userdata 0x00057C00 0x000A2BFF 4 remaining 0x000A2C00 0x00ECBFDE Signed-off-by: Lei Wen <leiwen@marvell.com>
* ublimage: NAND block size isn't set at build-timeLoïc Minier2011-10-06-7/+4
| | | | | | | | | | | | | | | mkimage's ublimage support can't depend of build-time board configs; instead, this should be set in ublimage.cfg. Since currently no configs in u-boot override the NAND block size, hardcode it as such in ublimage.h to fix a build failure with "make tools": gcc [...] -o ublimage.o ublimage.c -c In file included from ublimage.c:37:0: ublimage.h:31:20: fatal error: config.h: No such file or directory Cc: Heiko Schocher <hs@denx.de> Cc: patches@linaro.org Signed-off-by: Loïc Minier <loic.minier@linaro.org> Acked-by: Heiko Schocher <hs@denx.de>
* Safer timestamp_autogenerated.h generationLoïc Minier2011-10-06-2/+3
| | | | | | | | Generate timestamp_autogenerated.h as safely as version_autogenerated.h. Cc: patches@linaro.org Signed-off-by: Loïc Minier <loic.minier@linaro.org> Acked-by: Mike Frysinger <vapier@gentoo.org>
* Build timestamp_autogenerated.h without configLoïc Minier2011-10-06-9/+10
| | | | | | | | | | | | | | Tools such as mkimage include version information but are config-agnostic; build timestamp_autogenerated.h even when config.mk isn't generated to fix "make tools" build failure: gcc [...] -o mkimage.o mkimage.c -c In file included from include/version.h:27:0, from mkimage.c:26: include/timestamp.h:27:37: fatal error: timestamp_autogenerated.h: No such file or directory Cc: patches@linaro.org Signed-off-by: Loïc Minier <loic.minier@linaro.org> Acked-by: Mike Frysinger <vapier@gentoo.org>
* Tell git to ignore asm-offsets.sLaurence Withers2011-10-06-2/+1
| | | | | | | | The generated file asm-offsets.s may be found at various depths in the arch subdirectories, so simply ignore it throughout the tree. Signed-off-by: Laurence Withers <lwithers@guralp.com> Acked-by: Mike Frysinger <vapier@gentoo.org>
* SPL: Make path to start.S configurableMarek Vasut2011-10-05-2/+8
| | | | | | | Introduce CONFIG_SPL_START_S_PATH to configure path to start.S file. It's not always fitting to use CPU's start.S . Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
* cmd_sf: Fix compiler warningKumar Gala2011-10-05-3/+3
| | | | | | | | | cmd_sf.c: In function 'do_spi_flash': cmd_sf.c:164:9: warning: 'skipped' may be used uninitialized in this function Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Acked-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Simon Glass <sjg@chromium.org>
* board configs: drop NET_MULTI referencesMike Frysinger2011-10-05-484/+10
| | | | | | | Now that none of the core checks CONFIG_NET_MULTI, there's not much point in boards defining it. So scrub all references to it. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* net: drop !NET_MULTI codeMike Frysinger2011-10-05-198/+23
| | | | | | | | | | | This is long over due. All but two net drivers have been converted, but those have now been dropped. The only thing left to do is actually delete all references to NET_MULTI and code that is compiled when that is not defined. So here we scrub the core code. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* net: drop !NET_MULTI ns7520 driverMike Frysinger2011-10-05-1191/+0
| | | | | | | This driver was never converted to NET_MULTI, and no board uses it. So punt it and be done. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* net: drop !NET_MULTI bcm570x/tigon3 driversMike Frysinger2011-10-05-12879/+2
| | | | | | | | | | | These drivers have never been converted to NET_MULTI, and they are only used by one board (BMW). So drop the drivers until someone feels like rewriting them for NET_MULTI support. Rather than punting the BMW board completely, just disable net support in its board config. Seems to build fine without it. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* mkconfig: start deprecating Makefile config targetsMike Frysinger2011-10-05-0/+25
| | | | | | | | Now that we've got boards.cfg and most people have converted over, start warning people who have yet to so we can phase board configs completely out of the Makefile. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* image: push default arch values to arch headersMike Frysinger2011-10-05-80/+38
| | | | | | | | | This pushes the ugly duplicated arch ifdef lists we maintain in various image related files out to the arch headers themselves. Acked-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Tested-by: Thomas Chou <thomas@wytron.com.tw> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* MAKEALL: rename coldfire list to m68k to match archMike Frysinger2011-10-05-1/+2
| | | | | | | | | The m68k tree is the only one where `./MAKEALL <arch>` does not work. So rename the existing coldfire list in the MAKEALL script to m68k, and add an alias from coldfire to m68k. This makes scripting around MAKEALL easier. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* mkimage: Add variable lenght header supportStefano Babic2011-10-05-5/+22
| | | | | | | | | Some images have not a header of fix lenght. The patch will be used for the generation of AIS images, because this header has a variable lenght. The patch adds also the parameter "-s" (skip) to not copy automatically the passed image file. Signed-off-by: Stefano Babic <sbabic@denx.de>
* mkimage: ublimage must return if the header is not verifiedStefano Babic2011-10-05-0/+5
| | | | | | | | | | Each image handler must return a not-zero velue if the header is not recognized to allow the main program to iterate to the next handler. Signed-off-by: Stefano Babic <sbabic@denx.de> CC: Heiko Schocher <hs@denx.de> Acked-by: Heiko Schocher <hs@denx.de>
* km_arm: enable POST for these boardsValentin Longchamp2011-10-05-0/+39
| | | | | | | | | | | | The current km_arm boards have a Power-On test jumper. When this jumper is set, this triggers some Power-On tests on the board. This patch enables the support of this jumper for starting the memory_regions test when the jumper is set. Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com> Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Cc: Prafulla Wadaskar <prafulla@marvell.com>
* km_arm: change CONFIG_SYS_TEXT_BASE to end of RAMValentin Longchamp2011-10-05-1/+1
| | | | | | | | | This allows to test a larger part of the RAM in the memory tests. Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com> Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Cc: Heiko Schocher <hs@denx.de> Cc: Prafulla Wadaskar <prafulla@marvell.com>
* POST: add new memory regions testValentin Longchamp2011-10-05-19/+73
| | | | | | | | | | | | | | | This test is similar to the actual POST memory test but quicker and far less complete. It checks the address and data lines and then only tests some regularly placed sub regions of the RAM. This can be useful when we want to test the RAM but we do not have enough time to run the full memory test. The POST memory test code was rearranged in order to avoid code duplication between the two tests but the memory test functionnality remains the same. Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com> Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Ackey-by: Mike Frysinger <vapier@gentoo.org>
* POST: drivers/memory.c coding style cleanupValentin Longchamp2011-10-05-56/+57
| | | | | | | This is needed for a further patch adding a new memory test. Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com> Acked-by: Mike Frysinger <vapier@gentoo.org>
* POST: make env test flags fetching optionalValentin Longchamp2011-10-05-5/+15
| | | | | | | | | | | | | | Some boards have the environment variables defined in a slow EEPROM. post_run accesses these environment variables to define which tests have to be run (in post_get_flags). This is very slow before the code relocation on some boards with a slow I2C EEPROM for environement variables. This patch adds a config option to skip the fetching of the test flags in the environment variables. The test flags assigned to the tests then only are the ones statically defined for the test in post/tests.c. Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com> Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
* POST: add post_log_res field for post results in global dataValentin Longchamp2011-10-05-4/+10
| | | | | | | | | | | | | | | | The current post_log_word in global data is currently split into 2x 16 bits: half for the test start, half for the test success. Since we alredy have more than 16 POST tests defined and more could be defined, this may result in an overflow and the post_output_backlog would not work for the tests defined further of these 16 positions. An additional field is added to global data so that we can now support up to 32 (depending of architecture) tests. The post_log_word is only used to record the start of the test and the new field post_log_res for the test success (or failure). The post_output_backlog is for this change also adapted. Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
* POST: allow redefinition of post_word_load/storeValentin Longchamp2011-10-05-0/+8
| | | | | | | | | | The predefinde post_word_load/store functions do not fit all boards, so we introduce a way to define post_word_load/store as externs in post.h that then can be defined in board specific files. This is done with the CONFIG_POST_EXTERNAL_WORD_FUNCS #define Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com> Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
* POST/arm: adaptations needed for POST on ARM to workValentin Longchamp2011-10-05-0/+6
| | | | | | | | | | | For post to run on ARM, 3 things are needed: - post_log_word to be defined in gd - a post.h include in arch/arm/lib/board.c Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com> Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Cc: Mike Frysinger <vapier@gentoo.org> Acked-by: Mike Frysinger <vapier@gentoo.org>
* console: Implement pre-console bufferGraeme Russ2011-10-05-2/+88
| | | | | | | | | | | | | Allow redirection of console output prior to console initialisation to a temporary buffer. To enable this functionality, the board (or arch) must define: - CONFIG_PRE_CONSOLE_BUFFER - Enable pre-console buffer - CONFIG_PRE_CON_BUF_ADDR - Base address of pre-console buffer - CONFIG_PRE_CON_BUF_SZ - Size of pre-console buffer (in bytes) The pre-console buffer will buffer the last CONFIG_PRE_CON_BUF_SZ bytes Any earlier characters are silently dropped.