Thomas Chou [Thu, 22 Oct 2015 07:38:24 +0000 (15:38 +0800)]
nios2: fix virt_to_phys for nios2 with MMU
As the virtual address and physical address mapping of nios2 with
MMU are different. Add a check of MMU, and fix the mapping.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Marek Vasut <marex@denx.de>
Reviewed-by: Ley Foon Tan <lftan@altera.com>
Thomas Chou [Wed, 21 Oct 2015 14:37:04 +0000 (22:37 +0800)]
nios2: add README.nios2
Add README.nios2 about how to add nios2 boards to u-boot.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Marek Vasut <marex@denx.de>
Thomas Chou [Fri, 23 Oct 2015 06:55:36 +0000 (14:55 +0800)]
nios2: zap nios2-generic board dir
As we use device tree to control u-boot now, the generic
board can be removed.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Thomas Chou [Sun, 18 Oct 2015 12:03:53 +0000 (20:03 +0800)]
nios2: convert dma_alloc_coherent to use malloc_cache_aligned
Convert dma_alloc_coherent to use memalign.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Marek Vasut <marex@denx.de>
Thomas Chou [Tue, 6 Oct 2015 06:09:19 +0000 (14:09 +0800)]
nios2: convert copy_exception_trampoline to use dm cpu data
Convert copy_exception_trampoline() to use dm cpu data.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Thomas Chou [Thu, 22 Oct 2015 23:58:20 +0000 (07:58 +0800)]
nios2: convert cache flush to use dm cpu data
Convert cache flush to use dm cpu data.
The original cache flush functions are written in assembly
and use CONFIG_SYS_{I,D}CACHE_SIZE... macros. It is difficult
to convert to use cache configuration in dm cpu data which is
extracted from device tree.
The cacheflush.c of Linux nios2 arch uses cpuinfo structure,
which is very close to our dm cpu data. So we copy and modify
it to arch/nios2/lib/cache.c to replace the old cache.S.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Thomas Chou [Fri, 9 Oct 2015 12:09:17 +0000 (20:09 +0800)]
nios2: set default cache configuration in start.S
Set default icache and dcache configuration for start.S.
We want to remove the CONFIG_SYS_{I,D}CACHE_SIZE...
configuration macros. As we are just barely starting from
reset, there is no luxury of device tree.
We will set some maximum cache configuration so that it will
work for most configurations. This is used only in this
start.S. The speed penalty is only once here.
After start up, during board initialization, cpu information
will be extracted from device tree. Then cache flush operations
will have correct cache configurations.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Marek Vasut <marex@denx.de>
Thomas Chou [Fri, 9 Oct 2015 03:36:01 +0000 (11:36 +0800)]
nios2: zap initdram
Zap initdram(), as it is not used.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Marek Vasut <marex@denx.de>
Thomas Chou [Tue, 6 Oct 2015 02:12:59 +0000 (10:12 +0800)]
nios2: clean up comments style in start.S
Clean up comments style in start.S.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Thomas Chou [Mon, 5 Oct 2015 02:37:19 +0000 (10:37 +0800)]
nios2: convert ioremap to use dm cpu data
Convert ioremap() to use io_region_base in dm cpu global data.
Also remove three unused io functions, which have style issue
and are replaced by macros already.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Thomas Chou [Fri, 9 Oct 2015 01:43:52 +0000 (09:43 +0800)]
nios2: convert do_reset to use dm cpu data
Convert do_reset to use dm cpu data.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Simon Glass <sjg@chromium.org>
Thomas Chou [Fri, 9 Oct 2015 01:32:00 +0000 (09:32 +0800)]
nios2: remove asm/psr.h
Remove asm/psr.h, which is not used.
Also clean up asm/sections.h and unaligned.h.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Marek Vasut <marex@denx.de>
Thomas Chou [Wed, 14 Oct 2015 00:43:31 +0000 (08:43 +0800)]
nios2: convert altera sysid to driver model
Convert altera sysid to driver model with misc uclass.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Chin Liang See <clsee@altera.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Thomas Chou [Wed, 7 Oct 2015 12:20:51 +0000 (20:20 +0800)]
dm: implement a Miscellaneous uclass
Implement a Miscellaneous uclass with generic read or
write operations. This class is used only for those
do not fit other more general classes.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Simon Glass <sjg@chromium.org>
Thomas Chou [Fri, 9 Oct 2015 01:28:20 +0000 (09:28 +0800)]
serial: remove altera serial initializations
Both altera_jtag_serial_initialize() and
altera_serial_initialize() are no longer used after
they are converted to driver model.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Simon Glass <sjg@chromium.org>
Acked-by: Marek Vasut <marex@denx.de>
Thomas Chou [Thu, 22 Oct 2015 14:28:53 +0000 (22:28 +0800)]
nios2: convert altera timer to driver model
Convert altera timer to driver model.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Chin Liang See <clsee@altera.com>
Thomas Chou [Fri, 9 Oct 2015 05:48:56 +0000 (13:48 +0800)]
timer: start a new timer after relocation
Start a new timer after relocation, just in case the
timer has been used in per-relocation.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Simon Glass <sjg@chromium.org>
Thomas Chou [Fri, 9 Oct 2015 05:46:34 +0000 (13:46 +0800)]
dm: implement a Timer uclass
Implement a Timer uclass to work with lib/time.c.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Simon Glass <sjg@chromium.org>
Thomas Chou [Wed, 21 Oct 2015 13:34:57 +0000 (21:34 +0800)]
nios2: convert nios2 cpu to driver model
Convert nios2 cpu to driver model. The cpu parameters are
extracted from device tree and saved to global data structure.
We will use them to replace the custom_fpga.h .
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Simon Glass <sjg@chromium.org>
Thomas Chou [Wed, 21 Oct 2015 13:33:45 +0000 (21:33 +0800)]
nios2 : convert altera_pio to driver model
Convert altera_pio to driver model.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Chin Liang See <clsee@altera.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Thomas Chou [Wed, 30 Sep 2015 12:56:53 +0000 (20:56 +0800)]
nios2: add clear and set bits macros
These macros can be used to clear and set multiple bits
in a register using a single call.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Marek Vasut <marex@denx.de>
Acked-by: Chin Liang See <clsee@altera.com>
Thomas Chou [Wed, 14 Oct 2015 00:33:34 +0000 (08:33 +0800)]
spi : convert altera_spi to driver model
Convert altera_spi to driver model
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Jagan Teki <jteki@openedev.com>
Thomas Chou [Wed, 21 Oct 2015 13:26:54 +0000 (21:26 +0800)]
nios2: convert altera_uart to driver model
Convert altera_uart to driver model.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Marek Vasut <marex@denx.de>
Thomas Chou [Thu, 22 Oct 2015 23:36:37 +0000 (07:36 +0800)]
nios2: convert altera_jtag_uart to driver model
Convert altera_jtag_uart to driver model.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Marek Vasut <marex@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Thomas Chou [Sat, 3 Oct 2015 13:02:30 +0000 (21:02 +0800)]
nios2: map physical address to uncached virtual address
Add ioremap() to map physical address to uncached virtual
address. We need this to convert the reg address from the
device tree.
The order of headers inclusion in interrupts.c is changed
because common.h will include board header that contains
IO_REGION_BASE.
In the future, the IO_REGION_BASE should be decided from
the device tree.
tree
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Marek Vasut <marex@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Thomas Chou [Wed, 9 Sep 2015 07:59:15 +0000 (15:59 +0800)]
nios2: enable malloc() pool before relocation
Enable malloc() pool before relocation, because this is needed
to use serial uclass.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Marek Vasut <marex@denx.de>
Thomas Chou [Wed, 9 Sep 2015 07:09:43 +0000 (15:09 +0800)]
nios2: call board_init_f_mem
We will need CONFIG_SYS_MALLOC_F_LEN to use serial uclass.
So we shall undefine CONFIG_SYS_GENERIC_GLOBAL_DATA, and
call board_init_f_mem() to allocates early malloc() memory
with size of CONFIG_SYS_MALLOC_F_LEN in board_f.c.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Marek Vasut <marex@denx.de>
Thomas Chou [Wed, 9 Sep 2015 05:41:32 +0000 (13:41 +0800)]
nios2: zap version_string
There is a weak version_string[] at common/cmd_version.c .
Remove the one in start.S.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Marek Vasut <marex@denx.de>
Thomas Chou [Wed, 9 Sep 2015 05:08:05 +0000 (13:08 +0800)]
nios2: zap dly_clks
The dly_clks() in start.S is no use after switching to
generic timer. Remove it.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Marek Vasut <marex@denx.de>
Thomas Chou [Thu, 8 Oct 2015 13:23:37 +0000 (21:23 +0800)]
nios2: Split timer code into timer.c
Move the timer code from interrupts.c into timer.c . Eliminate the
installation of timer interrupt handler, which is no longer used.
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Thomas Chou [Thu, 8 Oct 2015 13:17:42 +0000 (21:17 +0800)]
nios2: Switch to generic timer
Zap almost all of the ad-hoc timer code from interrupts.c and
use the code in lib/time.c instead.
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Thomas Chou [Mon, 7 Sep 2015 11:19:31 +0000 (19:19 +0800)]
nios2: enable Driver Model
Enable the Driver Model config. The driver subsystems
are not enabled until we enable each of them.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Marek Vasut <marex@denx.de>
Thomas Chou [Sun, 18 Oct 2015 11:42:09 +0000 (19:42 +0800)]
nios2: enable device tree control of U-Boot
This patch adds device tree control of U-Boot to nios2 boards.
The example dts is taken from Linux kernel.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Marek Vasut <marex@denx.de>
Thomas Chou [Sun, 6 Sep 2015 12:13:34 +0000 (20:13 +0800)]
nios2: define _end in link script
Since commit
44c6e6591cb451ae606f8bde71dd5fb7b4002544
"rename _end to __bss_end__" , the _end was removed.
But we need it now for separated device tree control,
ie, CONFIG_OF_SEPARATE .
The _end is used by fdtdec_setup() to find the blob.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Marek Vasut <marex@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Thomas Chou [Sun, 6 Sep 2015 12:18:10 +0000 (20:18 +0800)]
nios2: remove gp assignments in link script
Since we don't use gp for small data with option "-G0",
we use gp as global data pointer. The _gp location is
not needed.
The ALIGN(16) was for gp only. It is removed, so that we
can get correct address of dtb in u-boot-dtb.bin image.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Marek Vasut <marex@denx.de>
Thomas Chou [Fri, 4 Sep 2015 08:39:16 +0000 (16:39 +0800)]
nios2: enlarge the code relocation range
As we will use u-boot-dtb.bin, the code relocation range
should be adjusted to accommodate the additional dtb.
It might be overkilled to look into dtb header to find the
dtb size, so we will simply use CONFIG_SYS_MONITOR_LEN.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Thomas Chou [Mon, 7 Sep 2015 00:57:14 +0000 (08:57 +0800)]
nios2: BSS should be cleared only after board_init_f
As dtb in u-boot-dtb.bin overlapped the BSS section,
we should delay the clearing of BSS until dtb is relocated
in board_init_f().
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Marek Vasut <marex@denx.de>
Thomas Chou [Fri, 4 Sep 2015 08:19:16 +0000 (16:19 +0800)]
nios2: move altera_pio_init to board_early_init_r
As altera_pio_init() uses BSS, it should be moved to
board_early_init_r().
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Marek Vasut <marex@denx.de>
Thomas Chou [Fri, 4 Sep 2015 05:18:00 +0000 (13:18 +0800)]
nios2: permit device tree control of U-Boot
Enable this in the Kconfig so that nios2 boards can use device
tree to configure U-Boot.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Marek Vasut <marex@denx.de>
Thomas Chou [Sat, 29 Aug 2015 07:24:01 +0000 (15:24 +0800)]
nios2: enable CONFIG_NET_RANDOM_ETHADDR
Enable CONFIG_NET_RANDOM_ETHADDR to generate a random MAC address
when ETHADDR is not set.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Thomas Chou [Wed, 26 Aug 2015 13:24:35 +0000 (21:24 +0800)]
nios2: move command line configuration to Kconfig
This patch moves command line configuration from board header
file to board defconfig in the way of Kconfig. The change passed
savedefconfig.
This fixes warnings such as : "CONFIG_SYS_HUSH_PARSER" redefined,
when "Use hush shell" is selected with menuconfig, etc.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Mugunthan V N [Tue, 13 Oct 2015 08:32:29 +0000 (14:02 +0530)]
ARM: AM335x: mux: change mmc0 cd pinmux from mmc0_sdcd to gpio
Currently omap_hsmmc driver doesn't use sdcd pin to detect
whether the card is present or not. Instead the same pin is used
as GPIO to detect card presence. So change the pin mux mode from
mmc0_sdcd to gpio0_6.
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Mugunthan V N [Tue, 13 Oct 2015 08:27:16 +0000 (13:57 +0530)]
drivers: gpio: omap: add support for parsing additional gpio parameters
With DM_GPIO, gpio parameters like ACTIVE_(LOW/HIGH) are to be
parsed in xlate gpio drivers-ops. Since xlate is not implemented
in omap_gpio driver, the driver considers all gpio to be
ACTIVE_HIGH which is the default case and fails to return actual
gpio status for ACTIVE_LOW gpios. So adding .xlate ops to
omap_gpio.
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Mugunthan V N [Tue, 29 Sep 2015 09:12:27 +0000 (14:42 +0530)]
am437x: Add am57xx_evm_defconfig using CONFIG_DM
Import various DT files for am57xx-beagle-x15 from
Linux Kernel v4.2
Add config file for this board, enable DM, DM_GPIO,
DM_SERIAL and DM_MMC.
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Mugunthan V N [Tue, 29 Sep 2015 09:12:26 +0000 (14:42 +0530)]
ti_omap5_common: mmc: do not define DM_MMC for spl
Since spl doesn't support DM currently, do not define DM_MMC
for spl build.
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
asdfsadf
Mugunthan V N [Mon, 28 Sep 2015 10:47:52 +0000 (16:17 +0530)]
am437x: Add am437x_sk_evm_defconfig using CONFIG_DM
Import various DT files for am437x-sk-evm from Linux Kernel v4.2
Add config file for this board, enable DM, DM_GPIO, DM_SERIAL
and DM_MMC.
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Mugunthan V N [Mon, 28 Sep 2015 10:47:51 +0000 (16:17 +0530)]
am437x: Add am437x_gp_evm_defconfig using CONFIG_DM
Import various DT files for am4372, an43xx pinctrl and
am437x-gp-evm from Linux Kernel v4.2
Add config file for this board, enable DM, DM_GPIO, DM_SERIAL
and DM_MMC.
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Mugunthan V N [Mon, 28 Sep 2015 10:47:50 +0000 (16:17 +0530)]
am43xx_evm: mmc: do not define DM_MMC for spl
Since spl doesn't support DM currently, do not define DM_MMC
for spl build.
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Mugunthan V N [Mon, 28 Sep 2015 10:47:49 +0000 (16:17 +0530)]
am43xx_evm.h: : switch to CONFIG_OMAP_SERIAL for non-SPL DM_SERIAL
Tested on am437x gp evm and am437x sk evm
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Mugunthan V N [Mon, 28 Sep 2015 10:47:48 +0000 (16:17 +0530)]
drivers: serial: serial_omap: add comaptibles for all ti platforms
Adding compatibles for am335x, am437x and dra7 platforms.
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Mugunthan V N [Mon, 28 Sep 2015 10:47:47 +0000 (16:17 +0530)]
drivers: serial: serial_omap: populate default clock frequency when not found in dt
In some platforms like am437x, serial node is not populated with
clock-frequency node. So in that case have a default clock-clock
frequency.
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Mugunthan V N [Mon, 28 Sep 2015 07:26:32 +0000 (12:56 +0530)]
defconfig: am335x: gp_evm: enable mmc driver model
enable mmc driver model for am335x gp_evm as omap_hsmmc
supports driver model
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Mugunthan V N [Mon, 28 Sep 2015 07:26:31 +0000 (12:56 +0530)]
defconfig: am335x: bbb: enable mmc driver model
enable mmc driver model for am335x bbb as omap_hsmmc
supports driver model
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Mugunthan V N [Mon, 28 Sep 2015 07:26:30 +0000 (12:56 +0530)]
drivers: mmc: omap_hsmmc: convert driver to adopt device driver model
adopt omap_hsmmc driver to device driver model
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Mugunthan V N [Mon, 28 Sep 2015 07:26:29 +0000 (12:56 +0530)]
am335x_evm: mmc: do not define DM_MMC for spl
Since spl doesn't support DM currently, do not define DM_MMC
for spl build.
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Mugunthan V N [Mon, 28 Sep 2015 07:26:28 +0000 (12:56 +0530)]
omap_hsmmc: update struct hsmmc to accomodate base address from DT
Existing driver gets the actual omap hammc base address + 0x100
bytes as the first 0x100 bytes is not used by the driver. But
with DM conversion the base address from DT is different, to
accommodate the offset adding res0[0x100] to struct hsmmc.
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Mugunthan V N [Tue, 22 Sep 2015 13:15:12 +0000 (18:45 +0530)]
dra7xx: Add dra74_evm_defconfig using CONFIG_DM
Import various DT files for dra7-evm from Linux Kernel v4.2
Add config file for this board, enable DM and DM_GPIO
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Lokesh Vutla [Sat, 19 Sep 2015 10:56:56 +0000 (16:26 +0530)]
ARM: k2g: Add config file
Add config file for k2g
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Lokesh Vutla [Sat, 19 Sep 2015 10:56:55 +0000 (16:26 +0530)]
ARM: dts: k2g: Add DT support
Add basic DT support for k2g evm.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Lokesh Vutla [Sat, 19 Sep 2015 10:56:54 +0000 (16:26 +0530)]
ARM: k2g: Enable SPI flash
GPIO1_9 controls SPI flash on k2g evm.
So make GPIO1_9 as output pin, inorder to use SPI.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Roger Quadros [Sat, 19 Sep 2015 10:56:53 +0000 (16:26 +0530)]
ARM: k2g: add SD card and eMMC support
Add MMC support for k2g
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Tested-by: Mugunthan V N <mugunthanvnm@ti.com>
Vitaly Andrianov [Sat, 19 Sep 2015 10:56:52 +0000 (16:26 +0530)]
ARM: k2g: Add Ethernet Support
Add Ethernet support for tftp support
Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Mugunthan V N [Sat, 19 Sep 2015 10:56:51 +0000 (16:26 +0530)]
driver: net: keystone_net: removing unused code
remove unused code as the same is achieved when configuring sgmii
and link status is verifed.
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Vitaly Andrianov [Sat, 19 Sep 2015 10:56:50 +0000 (16:26 +0530)]
driver: net: keystone_net: add support for rgmii phy
In K2G, Ethernet doesn't support SGMII instead it support RGMII,
adding support to the driver to connect to RGMII phy.
Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Vitaly Andrianov [Sat, 19 Sep 2015 10:56:49 +0000 (16:26 +0530)]
dma: keystone_nav: Fix linkram size
Fix Linkram size.
Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Mugunthan V N [Sat, 19 Sep 2015 10:56:48 +0000 (16:26 +0530)]
driver: net: keystone_net: fix phy mode configuration
Phy mode is a board property and it can be different between
multiple board and ports, so it should not be hardcoded in
driver to one specific mode. So adding a field in eth_priv_t
structure to pass phy mode to driver.
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Vitaly Andrianov [Sat, 19 Sep 2015 10:56:47 +0000 (16:26 +0530)]
ARM: k2g: update keystone nav rx queue numbers
update K2G nav rx queue number
Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Vitaly Andrianov [Sat, 19 Sep 2015 10:56:46 +0000 (16:26 +0530)]
ARM: k2g: Correct base addresses
Coreect base addresses for SPI, Queue Manager, Ethernet, GPIO,
and MSMC segments.
Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Vitaly Andrianov [Sat, 19 Sep 2015 10:56:45 +0000 (16:26 +0530)]
ARM: k2g: Add pin mux data
Add pin mux data for k2g-evm
Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Vitaly Andrianov [Sat, 19 Sep 2015 10:56:44 +0000 (16:26 +0530)]
ARM: k2g: Add support for pin mux configuration
Add api for configuring pin mux.
Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Vitaly Andrianov [Sat, 19 Sep 2015 10:56:43 +0000 (16:26 +0530)]
ARM: k2g: Add ddr3 info
Add ddr3 related info
Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Vitaly Andrianov [Sat, 19 Sep 2015 10:56:42 +0000 (16:26 +0530)]
ARM: k2g: Add PSC info
Add psc information for k2g
Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Vitaly Andrianov [Sat, 19 Sep 2015 10:56:41 +0000 (16:26 +0530)]
ARM: k2g: Add clock information
Add clock information for Galileo
Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Vitaly Andrianov [Sat, 19 Sep 2015 10:56:40 +0000 (16:26 +0530)]
ARM: k2g: Add pll data
Add pll data for k2g
Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Lokesh Vutla [Sat, 19 Sep 2015 10:56:39 +0000 (16:26 +0530)]
ARM: k2g: Add kconfig support
Add Kconfig support
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Lokesh Vutla [Sat, 19 Sep 2015 10:56:38 +0000 (16:26 +0530)]
ARM: k2g: Add support for CPU detection
Adding CPU detection support for Keystone2 Galileo.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Lokesh Vutla [Sat, 19 Sep 2015 09:30:23 +0000 (15:00 +0530)]
ARM: keystone2: Use dtb images by default
Now that OF_CONTROL is enabled on all keystone2 platforms,
build the default images with DT.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Lokesh Vutla [Sat, 19 Sep 2015 09:30:22 +0000 (15:00 +0530)]
ARM: dts: k2e: Enable OF_CONTROL and DM
Import k2e specific DT files from Linux Kernel and enable
OF_CONTROL, DM, DM_SERIAL.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Lokesh Vutla [Sat, 19 Sep 2015 09:30:21 +0000 (15:00 +0530)]
ARM: dts: k2l: Enable OF_CONTROL and DM
Import k2l specific DT files from Linux Kernel and enable
OF_CONTROL, DM, DM_SERIAL.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Lokesh Vutla [Sat, 19 Sep 2015 09:30:20 +0000 (15:00 +0530)]
ARM: dts: k2hk: Enable OF_CONTROL and DM
Import k2hk specific DT files from Linux Kernel and enable
OF_CONTROL, DM, DM_SERIAL.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Lokesh Vutla [Sat, 19 Sep 2015 09:30:19 +0000 (15:00 +0530)]
ARM: dts: keystone2: Do not use LPAE addresses in U-Boot
Keystone dts files assumes that LPAE is enabled and top level root
node uses 64bit addresses. This breaks the keystone boot with
CONFIG_OF_CONTROL enabled. So do not use 64 bit addresse in U-Boot DT.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Lokesh Vutla [Sat, 19 Sep 2015 09:30:18 +0000 (15:00 +0530)]
ARM: dts: Keystone2: Import generic dt files from Linux Kernel
Import various generic dts files from Linux kernel so that
all keystone2 platforms can be DT in U-boot.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Lokesh Vutla [Sat, 19 Sep 2015 09:30:17 +0000 (15:00 +0530)]
ARM: keystone2: spl: Fix stack allocation with CONFIG_SYS_MALLOC_F_LEN
If CONFIG_SYS_MALLOC_F_LEN is enabled, the stack is moved down to the
specified size to make the malloc function available before relocation.
But on keystone platforms SYS_SPL_MALLOC is immediately preceding stack,
which is causing an overlap with this config enabled.
So leave a gap between malloc space and stack space.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Lokesh Vutla [Sat, 19 Sep 2015 09:30:16 +0000 (15:00 +0530)]
ARM: keystone2: Fix serial port init
With CONFIG_DM_SERIAL is enabled NS16550_init() cannot be
called directly. Driver probe should be taking care of this.
So call this function only when DM_SERIAL is not enabled.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Tom Rini [Thu, 17 Sep 2015 20:47:05 +0000 (16:47 -0400)]
dra72_evm: Switch to DM_SERIAL
Tested on J6Eco EVM.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tested-by: Lokesh Vutla <lokeshvutla@ti.com>
Tom Rini [Thu, 17 Sep 2015 20:47:04 +0000 (16:47 -0400)]
ti_omap5_common.h: Switch to CONFIG_OMAP_SERIAL for non-SPL DM_SERIAL
Tested on J6Eco EVM
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Thu, 17 Sep 2015 20:47:03 +0000 (16:47 -0400)]
ti_omap4_common.h: Switch to CONFIG_OMAP_SERIAL for non-SPL DM_SERIAL
Tested on Pandaboard
Signed-off-by: Tom Rini <trini@konsulko.com>
Nishanth Menon [Thu, 17 Sep 2015 20:42:42 +0000 (15:42 -0500)]
test: Add basic tests for remoteproc
Use the sandbox environment for the basic tests.
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Nishanth Menon <nm@ti.com>
Acked-by: Simon Glass <sjg@chromium.org>
Nishanth Menon [Thu, 17 Sep 2015 20:42:41 +0000 (15:42 -0500)]
sandbox: Introduce dummy remoteproc nodes
Introduce dummy devices for sandbox remoteproc device and enable it by
default
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Nishanth Menon <nm@ti.com>
Acked-by: Simon Glass <sjg@chromium.org>
Nishanth Menon [Thu, 17 Sep 2015 20:42:40 +0000 (15:42 -0500)]
remoteproc: Introduce a sandbox dummy driver
Introduce a dummy driver for sandbox that allows us to verify basic
functionality. This is not meant to do anything functional - but is
more or less meant as a framework plumbing debug helper.
The sandbox remoteproc driver maintains absolutey no states and is a
simple driver which just is filled with empty hooks. Idea being to give
an approximate idea to implement own remoteproc driver using this as a
template.
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Nishanth Menon <nm@ti.com>
Acked-by: Simon Glass <sjg@chromium.org>
Nishanth Menon [Thu, 17 Sep 2015 20:42:39 +0000 (15:42 -0500)]
drivers: Introduce a simplified remoteproc framework
Many System on Chip(SoC) solutions are complex with multiple processors
on the same die dedicated to either general purpose of specialized
functions. Many examples do exist in today's SoCs from various vendors.
Typical examples are micro controllers such as an ARM M3/M0 doing a
offload of specific function such as event integration or power
management or controlling camera etc.
Traditionally, the responsibility of loading up such a processor with a
firmware and communication has been with a High Level Operating
System(HLOS) such as Linux. However, there exists classes of products
where Linux would need to expect services from such a processor or the
delay of Linux and operating system being able to load up such a
firmware is unacceptable.
To address these needs, we need some minimal capability to load such a
system and ensure it is started prior to an Operating System(Linux or
any other) is started up.
NOTE: This is NOT meant to be a solve-all solution, instead, it tries to
address certain class of SoCs and products that need such a solution.
A very simple model is introduced here as part of the initial support
that supports microcontrollers with internal memory (no MMU, no
execution from external memory, or specific image format needs). This
basic framework can then (hopefully) be extensible to other complex SoC
processor support as need be.
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Nishanth Menon <nm@ti.com>
Acked-by: Simon Glass <sjg@chromium.org>
Mugunthan V N [Mon, 7 Sep 2015 08:52:23 +0000 (14:22 +0530)]
defconfig: am335x: gp_evm: enable ethernet driver model
enable ethernet driver model for am335x gp evm as cpsw supports
driver model
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Mugunthan V N [Mon, 7 Sep 2015 08:52:22 +0000 (14:22 +0530)]
defconfig: am335x: bbb: enable ethernet driver model
enable ethernet driver model for am335x beagle bone black as cpsw
supports driver model
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Mugunthan V N [Mon, 7 Sep 2015 08:52:21 +0000 (14:22 +0530)]
drivers: net: cpsw: convert driver to adopt device driver model
adopt cpsw driver to device driver model
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Mugunthan V N [Mon, 7 Sep 2015 08:52:20 +0000 (14:22 +0530)]
drivers: net: cpsw: prepare driver for device model migration
prepare driver for device model migration
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Mugunthan V N [Mon, 7 Sep 2015 08:52:19 +0000 (14:22 +0530)]
am335x_evm: do not define usb ether gadget when Eth DM is defined
Since usb ether gadget doesn't have support for driver model, so
not defining usb ether gadget when ethernet driver model is
defined.
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Mugunthan V N [Mon, 7 Sep 2015 08:52:18 +0000 (14:22 +0530)]
am335x_evm: prepare for eth driver model support
Prepare board file so that ethernet registration are
commented for DM conversion
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Sjoerd Simons [Fri, 28 Aug 2015 13:01:56 +0000 (15:01 +0200)]
configs: am335x_evm: Support distro bootcmds
Add support for distro bootcmds and network booting while retaining
backwards compatibility with the current "legacy" setup. With these
changes the default boot sequence becomes:
* SD card (standard distro boot)
* SD card (legacy boot)
* EMMC (standard distro boot)
* EMMC (legacy boot)
* Nand (legacy boot)
* PXE (standard distro boot)
* DHCP (standard distro boot)
The older boot scripts have some overlap with what the distro
bootcommands to however i've left them unchanged to prevent introduction
of subtle bugs.
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Sjoerd Simons [Fri, 28 Aug 2015 13:01:55 +0000 (15:01 +0200)]
configs: ti_armv7_common.h: Add default addresses for pxe and scripts
Add mandatory address variables for loading scripts and pxe configuration as
per README.distro
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Sjoerd Simons [Fri, 28 Aug 2015 13:01:54 +0000 (15:01 +0200)]
config_distro_bootcmd.h: Use a private variable for bootpart
Hush has an oddity where using ${var} causes var to resolved in the the global
address space (iotw the environment) first and only afterwards will the local
variable space be searched.
This causes odd side-effects when iterating over the boot partitions
using ${bootpart} if the environment also has a bootpart variable (e.g. for
the various TI boards). Fix this by using the hopefully more unique
${distro_bootpart} instead of ${bootpart}.
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>