Commit graph

13599 commits

Author SHA1 Message Date
Anton Bondarenko
79b813851f embedsky-e9: cleanup and reorder DTS nodes
Removed duplicate ldb node. Removed disabled nodes

Signed-off-by: Anton Bondarenko <anton.bondarenko.sama@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-11-02 09:22:45 +01:00
Andrey Smirnov
33d482fdd3 arm/cpu: Avoid multiple definitions of barebox_arm_entry
All versions of barebox_arm_entry (in uncompress.c, start.c and
start-pbl.c) appear to be doing exacty the same thing. So move the
definition into a separate file and use IS_ENABLED macro to avoid
re-definition.

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-11-02 08:39:22 +01:00
Andrey Smirnov
2c68f4e53c arm/cpu/start.c: Distil some common code in __start().
Both barebox_boarddata and barebox_boot_dtb perform essentially the
same function -- hold a pointer to a chunk of private data. Since only
one variable is ever used at any given time we may as well merge those
two variable into one. This also allows us to share more code between
two boot paths (board data vs. device tree)

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-11-02 08:31:58 +01:00
Sergey Koshechkin
e5b9918329 login: make some locally used functions static
This patch continues cleanup password code from

  commit 40596b856f
  Author: Sascha Hauer <s.hauer@pengutronix.de>
  Date:   Thu Aug 27 15:58:50 2015 +0200

      login: cleanup password code

Signed-off-by: Sergey Koshechkin <tritel59@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-11-02 07:59:13 +01:00
Peter Mamonov
f1d4230a33 ata: disk_ata_drive: remove obsolete check for ID validity
The id check does not work on some newer drives.

Acked-by: Juergen Borleis <jbe@pengutronix.de>
Signed-off-by: Peter Mamonov <pmamonov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-11-02 07:57:39 +01:00
Andrey Smirnov
48d6151029 ARM: Add support for semihosting
Add semihosting API implementation and implement a filesystem driver
to access debugging host filesystem using it.

Tested on Freescale SabreSD board (i.MX6Q) using OpenOCD

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-30 08:06:03 +01:00
Lucas Stach
33d3286460 ARM: imx6: add OF fixup to delete nonexistent CPU cores
Make sure that the DT passed to Linux reflects the actual number of CPU
cores present in the system by reading the SCU configuration. As both
the Q and DL variants of the MX6 have versions with cores fused away,
but the DTs have the maximum number of cores specified, this just deletes
any nonexistent CPU core nodes.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-27 17:08:02 +01:00
Trent Piepho
550cf79c21 Make list of flash images and fix link all single image cases
Create a new file named 'barebox-flash-images' in the top level output
directory that lists each image generated, one per line.  Paths will
be relative to the top level output directory.  This works if multiple
images are generated as well as for a single image.

Also update the existing barebox-flash-image symlink to point to the
image in all cases where there is a single image generated.  If
multiple images are generated, it will point to the non-existent file
'multi-image-build'.

Signed-off-by: Trent Piepho <tpiepho@kymetacorp.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-27 16:52:40 +01:00
Alexander Aring
51b0e90ec6 amba: check if on remove callback
Currently we get a null pointer dereference when booting linux on RPi
which use "uart-pl011" driver. This driver doesn't implement a remove
driver callback. This patch adds a check before calling the remove
callback if the driver which use the amba bus implement such
functionality.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-27 16:45:51 +01:00
Alexander Aring
ad0aadfda3 checkpatch: fix left brace warning
Running checkpatch with perl version 5.22 occur the following warnings:

Unescaped left brace in regex is deprecated, ... checkpatch.pl line 2017.
Unescaped left brace in regex is deprecated, ... checkpatch.pl line 2267.
Unescaped left brace in regex is deprecated, ... checkpatch.pl line 2268.
...
lot of weird things
...
)\(.*\).*\s{ <-- HERE / at ./scripts/checkpatch.pl line 2016.

This patch fix these warning, an similar commit was done in linux kernel
commit: 4e5d56bdf892e18832a6540b63ebf709966bce2a ("checkpatch: fix left
brace warning").

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-27 16:45:42 +01:00
Alexander Aring
a25cfdee7b loadb: add missing brackets in help
This patch adds missing brackets in the help text of loadb command.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-27 16:45:42 +01:00
Sascha Hauer
9b31b271ad video: ipuv3: Silence VPL message
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-27 11:48:53 +01:00
Michael Grzeschik
97d5514a02 ARM: i.MX6: add Technexion Wandboard support
This adds support support for the i.MX6 Technexion Wandboard. The
board comes in different SoC variants and different amounts of RAM.
The baord type is autodetected based on the SoC type, so all boards
can be supported by the same binary image.

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-27 11:13:08 +01:00
Sascha Hauer
cfcb530075 ARM: i.MX6dl: dts: include arm/imx6dl.dtsi from board files
Otherwise boards cannot include board files from the kernel dts
without getting the file ordering wrong.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-27 10:52:29 +01:00
Sascha Hauer
58eae8361c ARM: Allow compressed dtb binaries
In the current multi image build process the DTBs end up uncompressed
in the PBL. This can be annoying because the PBL is often very size
constrained.
This patch allows to put the DTBs in as lzo compressed binary into
the PBL. Since lzo offers quite good compression ratios for DTBs no
other compression algorithm has been implemented for now.
Boards which want to use the compressed DTBs only have to change
the __dtb_ prefix in the DTB name to __dtb_z_. Also they should select
ARM_USE_COMPRESSED_DTB to make sure barebox supports uncompressing
the DTB.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-27 10:02:28 +01:00
Sascha Hauer
fcc6020164 ARM: Eltec-hypercam: Add missing dcdofd in flash header
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-27 08:34:40 +01:00
Sascha Hauer
6b127d4f18 memtest: move request/release regions to common/
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>
2015-10-27 08:22:45 +01:00
Lucas Stach
1678dcf7ca ARM: imx: clocksource: add new DT compatible
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>
2015-10-26 15:06:58 +01:00
Sascha Hauer
31fd4cceb6 of_dump: Add option to print node names only
Devicetrees tend to become very long and it is hard to find the
interesting nodes in a full tree output.
This patch adds the -n option to the of_node command. With this
option only the names of the nodes are printed, but not the properties.
The resulting output is much shorter and the node one is interested
in can be copy/pasted to a second call to of_node.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-26 14:08:19 +01:00
Antony Pavlov
a1aa681089 commands: clk_dump: use COMMAND_SUCCESS instead of 0 return code
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-26 08:20:27 +01:00
Eric Nelson
52cadd7ec3 imx6-mmdc: restore RALAT/WALAT in MMDC0, not MMDC1
Signed-off-by: Eric Nelson <eric@nelint.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-26 07:54:41 +01:00
Eric Nelson
ea1fb2f75d imx6-mmdc: fix automatic power down enable in write level calibration
Bit 0 of the MAPSR register controls auto power down.

Explicitly clear this bit instead of reserved bit when
exiting from mmdc_do_write_level_calibration().

Signed-off-by: Eric Nelson <eric@nelint.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-26 07:51:43 +01:00
Antony Pavlov
d70cb35e44 clock.h: include <types.h> under guard macro
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-22 09:33:58 +02:00
Antony Pavlov
31ab7cd460 commands: add clk_get_rate command
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-22 09:33:58 +02:00
Trent Piepho
a5c51acab4 net: eth: Fixup OF tree with registered MAC addresses too
The eth code registers an OF tree fixup that looks for any nodes in
the Linux oftree that match eth devices loaded in barebox and sets the
mac-address property in those nodes.  The purpose is to pass MAC
addresses to the Linux kernel for drivers that expect the MAC address
to be in the device tree.

If barebox does not have a driver for the network device, either
because it has been disabled or because one does not exist, then the
OF tree will not be fixed up to include a MAC address.

The eth code also has a list of MAC addresses which board code has
registered, usually done when it reads the address from an EEPROM or
on-chip memory.  If an eth device is created later in the boot, it
will look here for an address.

The registered MAC address list is not used for the OF tree fix up,
and this patch changes that.  This way barebox can place a MAC address
in the device-tree without needing a driver for the network device.

Signed-off-by: Trent Piepho <tpiepho@kymetacorp.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-22 09:07:52 +02:00
Trent Piepho
cb32b33aaf net: eth: Refactor OF tree fixup of one node into new function
Code that fixes up one node with a new MAC address is refactored into
a new function that eth_of_fixup() calls in a loop.

Signed-off-by: Trent Piepho <tpiepho@kymetacorp.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-22 09:07:52 +02:00
Sascha Hauer
68fb8855ef ARM: mvebu: Lenovo IX4 300D: Fix pblb generation
pblx-y must be passed the entry point function without any extension.
Otherwise the pblb file is not added to $targets and is removed by
make as an intermediate file.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-19 08:39:29 +02:00
Sascha Hauer
fe89df4ed9 scripts/kwbimage: Make BINARY files relative to config file
The BINARY files given in the config files are expected to be relative
to the place kwbimage is called from. This is bad since it breaks where
kwbimage is called from the build directory and not the source
directory.
It makes more sense to make the paths in the config files relative
to the config files which works with out of tree builds and is also
more what a user normally expects.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-19 08:39:25 +02:00
Sascha Hauer
119f75f23a scripts/kwbimage: Move configfile opening to the function that reads it
The configfile is read in image_create_config_parse(), so move opening
the file to there aswell and pass the configfile as filename instead of
FILE *.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-19 08:39:18 +02:00
Sascha Hauer
e4216c80ac common/Makefile: Add missing dependency
imd-barebox.o needs include/generated/compile.h. Add the dependency.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-16 19:25:03 +02:00
Sascha Hauer
92f8d5953b logo: Makefile: remove debug output
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-15 09:08:55 +02:00
Sascha Hauer
a12a70c063 fs: pass path directly to cdev_open
Now that cdev_open handles a path we no longer have to add /dev/ to
the name.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-15 08:56:29 +02:00
Sascha Hauer
77073ab24d filetype: Use cdev_open
a cdev has to be opened before usage. Use cdev_open instead of
cdev_by_name.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-15 08:56:23 +02:00
Sascha Hauer
867ada484f fs: devfs: Allow mount path in cdev_open
When opening a cdev also allow a path beginning with /dev/ as some
users of cdev_open already open coded this behaviour.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-15 08:56:21 +02:00
Sascha Hauer
7c868bd694 fs: devfs: Allow mounting only on /dev/
We have places in the code where we assume that devfs is mounted on
/dev/, so enforce this path to avoid surprises.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-15 08:56:21 +02:00
Andrey Smirnov
04d8c2541d common/parser.c: Do not treat zero return code as error
Run_command() would return zero to indicated success so treating it as
error case would completely break command repetition logic, so change
comparinson operator from "less or equal" to "less then"

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-15 08:56:21 +02:00
Andrey Smirnov
822ad01d5d common/parser.c: Do not conflate error reporting disciplines
Run_command() uses 0 to indicate success and negative values to
indicate errors, whereas execute_command() uses 0 for success and
positive integers to represent error codes. Conflating the two breaks
the code that calls run_command and then checks for error code sign to
detect problems, so avoid that by doing a very simple transformation
on the result of execute_command

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-15 08:56:21 +02:00
Andrey Smirnov
69f3f7b353 common/command.c: Replace magic number with appropriate constant
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-15 08:56:21 +02:00
Andrey Smirnov
4ef026c304 arm: Disable unaligned accesses
From reading ARM architecture related documentation if appears that
while unaligned memory access is supported by the processor in general
it is not supported if MMU is disabled.

The problem in question can be easily reproduced by building the code
without this patch, MMU disabled, and trying to run 'memtest'
command. Which would in turn call mem_test() which would eventually
call show_progress(). That last function, if build without
-mno-unaligned-access would result in unaligned memory access which
would result in Barebox hanging.

This patch instructs the compiler to not generate any unaligned
accesses to memory thus avoiding the problem.

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-15 08:56:21 +02:00
Andrey Smirnov
93fc1f1a1a memtest.c: Print iterations count if -i is 0
Even if memtest is started in endless mode it is still useful to see
current iteration count. Add the code to print that.

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-15 08:56:21 +02:00
Sascha Hauer
e65090ecc6 usb: ehci-hcd: Use regular mdelay()
The USB core will make sure we do not re-enter the ehci driver, so
we can use regular mdelay instead of mdelay_non_interruptible().

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-14 15:39:26 +02:00
Sascha Hauer
8f92eb2666 Revert "usb: ehci-hcd: detect re-entrance"
Now that the USB core makes sure that we do not re-enter USB
drivers we no longer have to detect re-entrancy in the ehci driver.

This reverts commit 8426cc641d.
2015-10-14 15:38:00 +02:00
Sascha Hauer
180370774f Revert "usb: ehci-hcd: use mdelay_non_interruptible()"
Now that the USB core makes sure that we do not re-enter USB
drivers we no longer need mdelay_non_interruptible() but can use
regular mdelay() again.

This reverts commit 4cfd909412.
2015-10-14 15:35:55 +02:00
Peter Mamonov
e1d67aa40f usb: core: return -EAGAIN on usb_* functions reentrance
Signed-off-by: Peter Mamonov <pmamonov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-14 15:35:30 +02:00
Peter Mamonov
6b0cbf2059 input: usb_kbd: skip poll on -EAGAIN error
Skip poll if either usb_submit_int_msg() or usb_get_report()
returned -EAGAIN.

Signed-off-by: Peter Mamonov <pmamonov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-14 15:35:30 +02:00
Lucas Stach
16f7b35138 video: simple-panel: depend on OFDEVICE
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>
2015-10-14 15:33:07 +02:00
Lucas Stach
a5afa2d86c mtd: nand_denali: don't include arch header
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>
2015-10-14 15:33:07 +02:00
Lucas Stach
36ef69578c input: usb-kbd: depend on CONSOLE_FULL
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>
2015-10-14 15:33:07 +02:00
Peter Mamonov
a7bbbe0236 fs: Fix filesystem detection with full path
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>
2015-10-13 16:06:31 +02:00
Lucas Stach
611e86d581 ARM: imx6: set shared attribute override bit in PL310
In order to make the system compliant to the ARMv7 ARM RevC clarifications
regarding conflicting memory aliases the shared override bit needs to be
set. This needs to be done in the bootloader, as the kernel will not apply
any modifications to the AUX_CTRL register by default, as it is a secure only
register.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-10-13 10:44:55 +02:00