9
0
Fork 0
Commit Graph

10852 Commits

Author SHA1 Message Date
Lucas Stach 8383a659d3 ARM: i.MX: edmqmx6: choose correct env when booting from SD
When booting from SD Card we don't want to load an env
from EMMC.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-27 20:38:48 +01:00
Michael Olbrich bf34b11773 ARM: i.MX: edmqmx6: set display GPIOs
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-27 20:38:48 +01:00
Michael Olbrich 71a1a288c9 ARM: i.MX: edmqmx6: choose the environment at the correct time
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-27 20:38:48 +01:00
Philipp Zabel c5853fbbf5 ARM: i.MX: edmqmx6: correct MMDC init
This is a squashed commit of the following downstream
commits:
- Set CS0_END in MMDC0_MDASP to 32Gb (4GB)T
- Fix writes to MMDC0_MDSCR
- Enable bank interleaving (BI_ON) and set write
  additional latency (WALAT) to 1 cycle in MMDC0_MDMISC
- Set ARCR_DYN_JMP=1 and ARCR_DYN_MAX=15 in MMDC0_MAARCR

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-27 20:38:48 +01:00
Lucas Stach b9f2564473 ARM: i.MX: edmqmx6: fix startup
This was broken with commit 2a1f5f802e
"ARM: rename boards to more consistent naming"

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-27 20:38:48 +01:00
Lucas Stach df1d5326a9 tegra: add Tegra3 startup
Sets up MSELECT to let main CPUs talk to peripheral devices and starts
high performance A9 CPU cluster.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-27 10:42:09 +01:00
Lucas Stach 880869e55f tegra: set AHB clock rate early
Avoids glitches in later starup phases.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-27 10:42:09 +01:00
Lucas Stach 6350676e55 tegra: add lowlevel DVC
Allows to talk to external PMIC devices to bring up CPU rail.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-27 10:42:08 +01:00
Lucas Stach fbf3afdb2a tegra: add Tegra3 to relevant lowlevel functions
Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-27 10:42:08 +01:00
张忠山 17644b55ca bugfix: don't rely on lr in arm_cpu_lowlevel_init
Signed-off-by: 张忠山 <zzs213@126.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-27 10:40:32 +01:00
Sascha Hauer 0b1d85af18 fs: tftp: Fix writing files to tftp
Copying files to tftp is broken since:

| commit d4f5bb1e01
| Author: Sascha Hauer <s.hauer@pengutronix.de>
| Date:   Sat Sep 28 13:12:50 2013 +0200
|
|     copy_file: Add missing O_TRUNC
|
|     Without it, when copying a smaller file over a larger file the
|     resulting file still has the remaining space from the larger file.
|
|     Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>

Since this commit copy_file passes O_TRUNC to open(). This results in the
fs layer calling fsdrv->truncate. tftp returns -ENOSYS here and open returns
with an error. To fix this return 0 for the truncate callback in tftp. Also
enforce the O_TRUNC flag when opening a file for writing on tftp as the files
are always truncated on tftp anyway.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Reported-by: andreas.willig@rafi.de
2014-02-26 09:36:18 +01:00
Sascha Hauer d5e38fc913 mtd: mtdoob: Do not create for partitions
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-26 08:33:19 +01:00
Sascha Hauer 05e4864f6b mtd: mtdraw: Do not create for partitions and devices without oob
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-26 08:33:18 +01:00
Sascha Hauer 9c66af7b0e ubi: register ubi devices and volumes as devices
struct ubi_device and struct ubi_volume have devices attached
to them. Register them to make them part of the barebox device
hierarchy.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-26 08:33:18 +01:00
Sascha Hauer 0c76b7e377 mtd: register mtd partitions as real mtd devices
So far mtd partitions were mtd devices, but these were not registered.
This patch changes this. mtd partitions are now registered like real
mtd devices. This makes them part of the device hierarchy.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-26 08:33:18 +01:00
Sascha Hauer 08f007c897 mtd: partition: make the mtd device the parent of the partition
Parent of a partition should be the parent mtd device, not its
parent.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-26 08:33:18 +01:00
Sascha Hauer e25cabf6a3 mtd: partition: only copy selected fields to partition
struct mtd_info contains members which should not be copied
to the new partition, like for example the class_dev, so
only copy selected members of struct mtd_info to the partition.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-26 08:33:18 +01:00
Sascha Hauer 6f0a7d82a1 mtd: Only call of_parse_partitions when the mtd has a parent
mtd->parent is optional so we can't derefence mtd->parent->device_node
without checking mtd->parent.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-26 08:33:18 +01:00
Sascha Hauer bfc58c2d8e mtd: erase_info may be modified in mtd_erase
erase_info may be modified by the mtd partition code, so
set the address each time we call mtd_erase.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-26 08:33:11 +01:00
Philipp Zabel 82e69edac7 ARM i.MX6: Gate clocks to graphics processing units
This patch gates the clocks to GPU, IPU, and VPU units by default,
significantly reducing the VDDSOC power draw while barebox is running.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-24 09:29:49 +01:00
Alexander Shiyan d0343211a2 ARM: clps711x: Remove SYSCON3 handling
SYSCON3 register is not used in the barebox, so remove driver for
this register entirely.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-24 09:28:47 +01:00
Sascha Hauer 1ce7999774 ARM: i.MX6: Add Garz+Fricke Santaro board support
Most devices relevant for barebox like sd/emmc/network/uarts
work. Devicetree contains several undefined drive strength settings,
these can be fixed once the kernel has sorted this out.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-24 09:04:47 +01:00
Raphaël POGGI 1d8a49ae88 ARM: add minimal support for the Freescale Quad UDOO Board
Adding minimal support for the UDOO board.

For more information about the board: http://www.udoo.org/

Signed-off-by: Raphael Poggi <poggi.raph@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-24 09:04:47 +01:00
Fabio Estevam 3472c67ae1 lib: math: Return NULL pointer
Fix the following sparse warning:

lib/math.c:309:16: warning: Using plain integer as NULL pointer

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-24 08:59:04 +01:00
Sascha Hauer b850dbad65 move defaultenv-2 to defaultenv/defaultenv-2-*
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-21 17:06:50 +01:00
Sascha Hauer 464a531423 move defaultenv-1 to defaultenv/defaultenv-1
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-21 17:06:46 +01:00
Sascha Hauer 068f213bb3 make: Add bbenv-y target to generate default environment files
This adds a target to generate environment files from directories.
These are compiled into the barebox binary.

use it as:

bbenv-$(CONFIG_SOMETHING) += my-environment

The directory containing the files to compile into the binary
should be named my-environment.

This can be accessed in C code later as:

extern unsigned char __bbenv_my_environment_start[];
extern unsigned char __bbenv_my_environment_end[];

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-21 17:06:01 +01:00
Sascha Hauer 6613e2d8fb ARM: i.MX: Make mxc_iomux_v3_setup_multiple_pads argument const
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-20 14:50:10 +01:00
Sascha Hauer 5d22cb3856 defaultenv: Align defaultenv array
The default environment buffer is an unsigned char array and thus
may be unaligned. Some decompression algorithms expect the buffer
to be sufficiently aligned for u32 accesses. We make this sure by
copying the default env to a temporary buffer. Instead of doing this
just add a __aligned(4) to the default environment.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-20 14:46:33 +01:00
Sascha Hauer 0a2a8f7059 environment: Add function to load envfs from buffer
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-20 14:45:48 +01:00
Sascha Hauer c2428b2287 environment: constify arguments
The directory arguments to envfs_load and envfs_save can
be const.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-20 14:43:49 +01:00
Sascha Hauer 0de5aae341 filetype: Add detection for barebox environment
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-20 14:43:43 +01:00
Lucas Stach c0afc9f425 ARM: i.MX6: sabresd: set USB PHY and DR mode
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-19 11:33:18 +01:00
Sascha Hauer e9241844a8 Kconfig: Select default compression type
Instead of asking explicitly for the default environment compression
type ask for the in-barebox default compression type. This also adds
a DEFAULT_COMPRESSION_SUFFIX make variable which can be used together
with the wildcard rules for compressed files to generate compressed
files without explicitly support each compression type.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-19 11:30:26 +01:00
Lucas Stach d7db7df187 ARM: i.MX6: sabresd: switch to multi-image
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-19 11:25:31 +01:00
Sascha Hauer 42f9e4d8fe ARM: i.MX: Karo-tx25: build image for internal boot
This adds an image for the TX25 in internal boot mode. This can
be used for USB booting.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-19 11:25:18 +01:00
Lucas Stach af155f74aa tegra: add lowlevel delay function
For proper startup we need to give clocks and IO signals some time to
stabilize. Tegra2 got away without them, but Tegra3 seems to be a bit
pickier.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-19 11:03:48 +01:00
Lucas Stach 0de758b2ee tegra: lowlevel: switch to __always_inline macro
Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-19 11:03:48 +01:00
Lucas Stach e231d265ea tegra: add -fno-jump-tables to lowlevel code
Lowlevel code runs when not relocated yet, so we have to make extra sure
not to emit jump-tables with absolute adresses when evaluating switch
statements.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-19 11:03:48 +01:00
Sascha Hauer 925e5b4b94 defaultenv: use wildcard compression rules
Now that we have wildcard rules for compresed files use them.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-18 10:42:20 +01:00
Sascha Hauer 9f6a42ac54 make: Add wildcard rules for compressed files
To simplify generating compressed files.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-18 10:42:13 +01:00
Sascha Hauer 658af1caf3 defaultenv: simplify env dependencies
Finding out whether to rebuild the environment is a difficult task
since we have to track all files in a directory. Instead of trying
this, just rebuild the environment during every build and only if
it differs to the last one overwrite the target. This way make
only sees a change when the environment is changed.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-18 10:42:07 +01:00
Sascha Hauer 72230bad19 common/Makefile: reorder targets
Reorder targets alphabetically to make the file look nicer, no
functional change.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-18 08:31:37 +01:00
Sascha Hauer 7a037a952d input: gpio-keys: Add devicetree probe support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-17 08:23:41 +01:00
Sascha Hauer 2c194e5822 input: Add keycode to barebox key translation table
Devicetrees specify the keyboard codes for the gpio-keys
driver, so add a table to translate them into something
barebox can use.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-17 08:23:41 +01:00
Sascha Hauer 59d6a0b7f1 input: gpio-keys: separate internal data from platform_data
Do not abuse platform data for internal driver data, instead
use a separate struct for that.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-17 08:23:41 +01:00
Sascha Hauer 7e66707c76 input: Add BB_ prefix to KEY_ defines
Our KEY_ defines conflict with the standard Linux KEY_ defines, so
add a BB_ prefix to them.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-17 08:23:37 +01:00
Alexander Shiyan 409df4db89 drivers/of/base.c: Fix sparse warnings
drivers/of/base.c:70:20: warning: symbol 'root_node' was not declared. Should it be static?
drivers/of/base.c:72:20: warning: symbol 'of_aliases' was not declared. Should it be static?
drivers/of/base.c:1724:20: warning: symbol 'of_chosen' was not declared. Should it be static?
drivers/of/base.c:1725:12: warning: symbol 'of_model' was not declared. Should it be static?

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-17 08:21:23 +01:00
Alexander Shiyan 132b10bc4a drivers/i2c/i2c.c: Fix sparse warnings
drivers/i2c/i2c.c:246:19: warning: symbol 'i2c_new_device' was not declared. Should it be static?
drivers/i2c/i2c.c:274:6: warning: symbol 'of_i2c_register_devices' was not declared. Should it be static?

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-17 08:21:23 +01:00
Alexander Shiyan b6cec342d9 drivers/clk/clk-divider-table.c: Fix sparse warning
drivers/clk/clk-divider-table.c:81:16: warning: symbol 'clk_divider_table_ops' was not declared. Should it be static?

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-17 08:21:23 +01:00