Especially when called multiple times the output of the memory test
is quite verbose. Make it more compact by only describing once what
is being done and only use one progress bare instead of three.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The memtest does a bus integrity check and a moving inversions test.
Split the tests into two separate functions so that the can be called
separately.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
remap_range is for remapping regions with different cache attributes.
It is implemented for ARM and PowerPC only, the other architectures only
provide stubs.
Currently the new cache attributes are passed in an architecture specific
way and the attributes have to be retrieved by calls to
mmu_get_pte_cached_flags() and mmu_get_pte_uncached_flags().
Make this simpler by providing architecture independent flags which can
be directly passed to remap_range()
Also provide a MAP_ARCH_DEFAULT flag and a arch_can_remap() function.
The MAP_ARCH_DEFAULT defaults to whatever caching type the architecture
has as default. the arch_can_remap() function returns true if the
architecture can change the cache attributes, false otherwise. This
allows the memtest code to better find out what it has to do.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Normally code providing a feature should be implemented in common/ which
is then called from the command code. Follow this rule and move some more
of the memtest code to common/.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The i.MX6 DL/S DT has been changed to use more specific compatibles as
GPTv2 has a different programming model for modes used in Linux. This
difference doesn't matter for Barebox, but the old mx31 compatible has
been dropped from the DT, so we need to match on the one still present.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Fixes:
In function `simple_panel_ioctl':
undefined reference to `of_get_display_timings'
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
It causes build failures on other arches than socfpga and the driver
doesn't use anything provided by this header.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Fixes:
In function `usb_kbd_probe':
(usb_kbd_probe): undefined reference to `console_set_active'
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
When mount is given a full path (including /dev/) to the cdev file
we can no longer automatically detect the filesystem. This is broken
since:
e89f1a1 detect_fs: use device instead of file
Fix it by dropping the /dev/ component of the path.
Signed-off-by: Peter Mamonov <pmamonov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Putting a SD card into highspeed mode doesn't help much when we
still clock the card with 25MHz. Increase the clock speed to 50MHz
for high speed cards.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
In drivers/usb/core/usb.c we already have le16_to_cpus() conversion
just after usb_get_descriptor():
390 /* correct le values */
391 le16_to_cpus(&dev->descriptor->bcdUSB);
392 le16_to_cpus(&dev->descriptor->idVendor);
393 le16_to_cpus(&dev->descriptor->idProduct);
394 le16_to_cpus(&dev->descriptor->bcdDevice);
so no additional idVendor/idProduct descriptor fields
le16_to_cpu() conversion is needed after that.
On the big-endian machines extra le16_to_cpu() conversion
leads to wrong idVendor/idProduct USB device parameters values
(e.g. see devinfo <usb-device> output), and to a much more
serious problem: idVendor/idProduct-based USB device detection
does not work.
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
A first stage bootloader can read fat and ext4 filesystems, and
even both can be compiled-in at the same time.
But then xload has a hardcoded fat filesystem mount option which
renders ext4 unusable.
This patch tries to mount it as ext4 if the fat attempt fails.
Then, a typical use case of an ext4 formatted filesystem
is it to be a standard linux filesystem, which contains
boot-related files in /boot. So, when searching for the second stage
bootloader, try /boot/barebox.bin after not finding it in /barebox.bin
Signed-off-by: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
detect_fs would usually mount a device on a directory,
so, use a device-specific type detection.
Signed-off-by: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The ROM base address in the 9x5 processors lives at 1M, not 4M,
where SMD is, as defined later in the same file.
The ROM includes some tables that are used to build error-correction data
for NAND memory. By using the wrong address, we get wrong data and
the result is undetected bit flips (data at 0x408000 is all zeroes).
Thus, even though our kernel was fixing bit errors in NAND, barebox
was not fixing them. With UBI (our situation) we got I/O errors because
the checksum verification for data nodes failed.
Using the proper address corrects the problem: barebox reports a
"bitflip" message, consistent with the kernel message for the same
file, and the files are properly loaded and booted.
Note: the kernel has the same wrong define, but then the magic number
0x00108000 as spelled in arch/arm/boot/dts/at91sam9x5.dtsi is used
instead of the symbolic name.
Signed-off-by: Edoardo Scaglia <scaglia@amelchem.com>
Signed-off-by: Federico Braghiroli <braghiroli@amelchem.com>
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The backlight enable gpio is in both the ldb node and the panel node.
Remove it from the ldb node where is was unused and fix the polarity
in the panel node. Also make the panel compatible to simple-panel to
let the driver match it.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
We used to support video modes directly in the ldb device node, that
was lost in: 5bda17e video: ipuv3: Replace ipu_output with VPL.
Add this support back. Also drop duplicate vpl ioctl forwarding for
several calls.
With this patch modes can either be retrieved from the ldb node as
originally done or from the panel remote port.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
When something is missing in the device tree or not all necessary
drivers are compiled in it may happen that no valid mode is found.
Do not crash in this case but print an error message.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
As regmap is not used in Barebox we can remove this field
from the imx_hdmi struct.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
When a enum32 state variable node does not have a "names" property bail
out instead of continuing with an error value used as number of strings.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>