project/bcm63xx/u-boot.git
12 years agocmd_nand: fix crashing bug in nand read/write
Steve Sakoman [Thu, 7 Jun 2012 17:19:18 +0000 (10:19 -0700)]
cmd_nand: fix crashing bug in nand read/write

Commit 418396e212b59bf907dbccad997ff50f7eb61b16 introduced a
bug that causes nand read and nand write to crash in strcmp
due to a null pointer.

Root cause is that strchr(cmd, '.') returns a null pointer when
the input string does not contain a '.'

The strcmp function does not check for null pointers, resulting
in a crash.

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Scott Wood <scott@tyr.buserror.net>
12 years agoMerge branch 'master' of git://git.denx.de/u-boot-video
Wolfgang Denk [Thu, 7 Jun 2012 21:42:17 +0000 (23:42 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-video

* 'master' of git://git.denx.de/u-boot-video:
  video: atmel/lcd: add LCD driver for new Atmel SoC
  video: cfb_console: flush dcache for frame buffer in DRAM
  cfb_console: Ignore bell character
  cfb_console: Add console_clear_line function
  cfb_console: Fix function console_back
  omap3_dss: cosmetic changes
  omap3_dss: add optional framebuffer
  mx53loco: Add LCD support
  mx5: Rename mx51_fb_init()
  mx53: Allow IPUv3 driver to also work on mx53
  mx51evk: Add LCD support
  EXYNOS: display 32bpp bitmap TIZEN logo
  create lib/tizen directory
  LCD: display 32bpp decompressed bitmap image
  common/lcd.c: reduce one CONFIG_LCD_LOGO ifdef
  common/lcd.c: reduce some CONFIG_LCD_*_LOGO ifdefs
  common/lcd.c: use ARRAY_SIZE
  cmd_bmp.c: make bmp_display() usable by drivers or board code
  LCD: support another s6e8ax0 panel type
  LCD: change s6e8ax0 panel gamma value
  include/video.h: drop unused video_printf()

Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agoMerge branch 'master' of git://git.denx.de/u-boot-avr32
Wolfgang Denk [Thu, 7 Jun 2012 21:41:03 +0000 (23:41 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-avr32

* 'master' of git://git.denx.de/u-boot-avr32:
  avr32:board.c: fix compile warning
  avr32:grasshopper: fix PHY initialisation

Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agoMerge branch 'master' of git://git.denx.de/u-boot-mips
Wolfgang Denk [Thu, 7 Jun 2012 21:38:54 +0000 (23:38 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-mips

* 'master' of git://git.denx.de/u-boot-mips:
  MIPS: board.c: move extern declarations to u-boot-mips.h
  MIPS: bootm_qemu_mips.c: make checkpatch.pl clean
  MIPS: bootm.c: make checkpatch.pl clean

Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agoMerge branch 'master' of git://git.denx.de/u-boot-sh
Wolfgang Denk [Thu, 7 Jun 2012 21:34:11 +0000 (23:34 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-sh

* 'master' of git://git.denx.de/u-boot-sh:
  sh/ap_sh4a_4a: Fix typo of operator in ET0_ETXD4
  sh: Add SH7269 device and RSK2+SH7269 board
  sh: Set CONFIG_SH_ETHER_PHY_MODE and CONFIG_SH_ETHER_SH7734_MII to boards with sh_eth
  sh: Add support for AP-SH4A-4A board
  sh: Add register definition of PFC for SH7734
  sh: r0p7734: Add support I2C controller
  sh: Add bit control functions
  sh: Add support for r0p7734 board
  sh: Add support Renesas SH7734

Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agoMPC8xxx: Define cache ops for USB
Marek Vasut [Fri, 25 May 2012 14:14:46 +0000 (16:14 +0200)]
MPC8xxx: Define cache ops for USB

This patch conditionally defines flush_dcache_range() and
invalidate_dcache_range() on MPC8xxx, to avoid EHCI complaining,
resulting in the following output:

$ ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- ./MAKEALL MPC8572DS
Configuring for MPC8572DS board...
make: *** [u-boot] Error 1
powerpc-linux-gnu-size: './u-boot': No such file
e1000.c: In function ‘e1000_initialize’:
e1000.c:5264:13: warning: assignment from incompatible pointer type [enabled by default]
tsec.c: In function ‘tsec_initialize’:
tsec.c:638:12: warning: assignment from incompatible pointer type [enabled by default]
drivers/usb/host/libusb_host.o: In function `ehci_td_buffer':
/home/marex/U-Boot/u-boot-imx/drivers/usb/host/ehci-hcd.c:186: undefined reference to `flush_dcache_range'
drivers/usb/host/libusb_host.o: In function `ehci_submit_async':
/home/marex/U-Boot/u-boot-imx/drivers/usb/host/ehci-hcd.c:346: undefined reference to `flush_dcache_range'
/home/marex/U-Boot/u-boot-imx/drivers/usb/host/ehci-hcd.c:348: undefined reference to `flush_dcache_range'
/home/marex/U-Boot/u-boot-imx/drivers/usb/host/ehci-hcd.c:349: undefined reference to `flush_dcache_range'
/home/marex/U-Boot/u-boot-imx/drivers/usb/host/ehci-hcd.c:372: undefined reference to `invalidate_dcache_range'
/home/marex/U-Boot/u-boot-imx/drivers/usb/host/ehci-hcd.c:374: undefined reference to `invalidate_dcache_range'
/home/marex/U-Boot/u-boot-imx/drivers/usb/host/ehci-hcd.c:376: undefined reference to `invalidate_dcache_range'
/home/marex/U-Boot/u-boot-imx/drivers/usb/host/ehci-hcd.c:386: undefined reference to `invalidate_dcache_range'
make: *** [u-boot] Error 1

--------------------- SUMMARY ----------------------------
Boards compiled: 1
Boards with errors: 1 ( MPC8572DS )
----------------------------------------------------------

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Anatolij Gustschin <agust@denx.de>
12 years agovideo: atmel/lcd: add LCD driver for new Atmel SoC
Bo Shen [Fri, 25 May 2012 00:59:58 +0000 (00:59 +0000)]
video: atmel/lcd: add LCD driver for new Atmel SoC

The new Atmel SoC (at91sam9x5 series and at91sam9n12) add a totally
different LCD controller. Add this new driver to support it.

Using CONFIG_ATMEL_HLCD (distinguish with CONFIG_ATMEL_LCD) to enable
this in board configuration file.

Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agovideo: cfb_console: flush dcache for frame buffer in DRAM
Anatolij Gustschin [Tue, 5 Jun 2012 07:19:18 +0000 (09:19 +0200)]
video: cfb_console: flush dcache for frame buffer in DRAM

Data cache flushing is required for frame buffer in RAM to fix the
distorted console text output. Currently this text distortion is
observed with cfb on beagleboard and N900 when running with data
cache enabled.

Reported-by: Pali Rohár <pali.rohar@gmail.com>
Tested-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agocfb_console: Ignore bell character
Pali Rohár [Sat, 28 Apr 2012 07:26:47 +0000 (07:26 +0000)]
cfb_console: Ignore bell character

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
12 years agocfb_console: Add console_clear_line function
Pali Rohár [Sat, 28 Apr 2012 07:26:44 +0000 (07:26 +0000)]
cfb_console: Add console_clear_line function

console_clear_line() clears part of specified line or the full line.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agocfb_console: Fix function console_back
Pali Rohár [Sat, 28 Apr 2012 07:26:43 +0000 (07:26 +0000)]
cfb_console: Fix function console_back

* Do not disable and enable the cursor again.

console_back() is called only from video_putc() which already turns
the cursor off at the beginning and turns it on at the end, so there
is no need to change the cursor in console_back().

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agoavr32:board.c: fix compile warning
Andreas Bießmann [Fri, 25 May 2012 10:29:33 +0000 (12:29 +0200)]
avr32:board.c: fix compile warning

This patch fixes following warning:

---8<---
board.c: In function 'board_init_r':
board.c:257: warning: unused variable 's'
--->8---

Patch de30122bb58fee7b0f94bcfabab595b6ad757336 missed to remove this variable
too.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
12 years agoavr32:grasshopper: fix PHY initialisation
Andreas Bießmann [Fri, 25 May 2012 10:29:32 +0000 (12:29 +0200)]
avr32:grasshopper: fix PHY initialisation

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
12 years agoMIPS: board.c: move extern declarations to u-boot-mips.h
Daniel Schwierzeck [Sun, 3 Jun 2012 21:46:04 +0000 (23:46 +0200)]
MIPS: board.c: move extern declarations to u-boot-mips.h

This fixes some remaining checkpatch.pl warnings.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
12 years agoMIPS: bootm_qemu_mips.c: make checkpatch.pl clean
Daniel Schwierzeck [Sun, 3 Jun 2012 21:46:04 +0000 (23:46 +0200)]
MIPS: bootm_qemu_mips.c: make checkpatch.pl clean

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
12 years agoMIPS: bootm.c: make checkpatch.pl clean
Daniel Schwierzeck [Sun, 3 Jun 2012 21:46:04 +0000 (23:46 +0200)]
MIPS: bootm.c: make checkpatch.pl clean

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
12 years agosh/ap_sh4a_4a: Fix typo of operator in ET0_ETXD4
Nobuhiro Iwamatsu [Tue, 22 May 2012 04:59:38 +0000 (13:59 +0900)]
sh/ap_sh4a_4a: Fix typo of operator in ET0_ETXD4

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
12 years agosh: Add SH7269 device and RSK2+SH7269 board
Phil Edworthy [Tue, 15 May 2012 22:15:51 +0000 (22:15 +0000)]
sh: Add SH7269 device and RSK2+SH7269 board

This is an sh2a device (max 266MHz) with FPU, video display
controller (VDC), 8 serial ports, 4 I2C channels, 3 CAN ports,
SD and on-chip USB.

The RSK2+SH7269 board uses the SH7269 processor. It is often
referred to as just rsk7269.

Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
12 years agosh: Set CONFIG_SH_ETHER_PHY_MODE and CONFIG_SH_ETHER_SH7734_MII to boards with sh_eth
Nobuhiro Iwamatsu [Wed, 16 May 2012 01:23:21 +0000 (10:23 +0900)]
sh: Set CONFIG_SH_ETHER_PHY_MODE and CONFIG_SH_ETHER_SH7734_MII to boards with sh_eth

The board with sh_eth needs to set CONFIG_SH_ETHER_PHY_MODE.
And SH7734 needs to set value of CONFIG_SH_ETHER_SH7734_MII.

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
12 years agosh: Add support for AP-SH4A-4A board
Nobuhiro Iwamatsu [Wed, 9 May 2012 06:59:30 +0000 (15:59 +0900)]
sh: Add support for AP-SH4A-4A board

The AP-SH4A-4A board has SH7734, 64MB DDR2-SDRAM, USB,
Ethernet, and more.

This patch supports the following functions:
  - 64MB DDR2-SDRAM
  - 16MB NOR Flash memory
  - Serial console (SCIF)
  - Ethernet (SH-Ether with Gigabit)
  - I2C

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
12 years agosh: Add register definition of PFC for SH7734
Nobuhiro Iwamatsu [Wed, 9 May 2012 07:00:01 +0000 (16:00 +0900)]
sh: Add register definition of PFC for SH7734

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
12 years agosh: r0p7734: Add support I2C controller
Nobuhiro Iwamatsu [Fri, 2 Mar 2012 03:58:33 +0000 (12:58 +0900)]
sh: r0p7734: Add support I2C controller

This read MAC address from Serial EEPROM and set.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
12 years agosh: Add bit control functions
Nobuhiro Iwamatsu [Wed, 15 Feb 2012 07:47:01 +0000 (16:47 +0900)]
sh: Add bit control functions

This provide bit control functions as clrbits_*, setbits_* and
clrsetbits_*.

V2: Fix comment style and error of whitespace.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Acked-by: Heiko Schocher <hs@denx.de>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
12 years agosh: Add support for r0p7734 board
Nobuhiro Iwamatsu [Thu, 12 Jan 2012 02:12:28 +0000 (11:12 +0900)]
sh: Add support for r0p7734 board

The r0p7734 board has SH7734, 128MB DDR2-SDRAM, USB,
Ethernet, and more.

This patch supports the following functions:
- 128MB DDR2-SDRAM
- 32MB NOR Flash memory
- Serial console (SCIF)
- Ethernet (SH-Ether/SMSC)

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
12 years agosh: Add support Renesas SH7734
Nobuhiro Iwamatsu [Wed, 11 Jan 2012 01:45:01 +0000 (10:45 +0900)]
sh: Add support Renesas SH7734

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
12 years agoomap3_dss: cosmetic changes
Jeroen Hofstee [Fri, 18 May 2012 00:51:01 +0000 (00:51 +0000)]
omap3_dss: cosmetic changes

Remove unnecessary brackets.
Unwrap lines which are below 80 chars.
Single line comment as single line (as the rest).
Moved init values to the source code.

cc: s-paulraj@ti.com
cc: khasim@ti.com
Signed-off-by: Jeroen Hofstee <jhofstee@victronenergy.com>
12 years agoomap3_dss: add optional framebuffer
Jeroen Hofstee [Fri, 18 May 2012 00:51:00 +0000 (00:51 +0000)]
omap3_dss: add optional framebuffer

The beagle board uses the background color to show an orange screen during
startup. This patch adds the ability to add a frame buffer, with the
intention not to break the beagle board use case (I don't have one).
videomodes.c is not used. Scrolling depends on this patch:

http://patchwork.ozlabs.org/patch/155662/

cc: trini@ti.com
cc: s-paulraj@ti.com
cc: khasim@ti.com
Signed-off-by: Jeroen Hofstee <jhofstee@victronenergy.com>
12 years agomx53loco: Add LCD support
Fabio Estevam [Thu, 10 May 2012 15:07:35 +0000 (15:07 +0000)]
mx53loco: Add LCD support

Add support for CLAA07LC0ACW LCD that connects to the mx53loco board.

Configure the board to show the Linux logo on the LCD.

Also increase the size of CONFIG_SYS_MALLOC_LEN variable to take into account
the framebuffer usage.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Jason Liu <r64343@freescale.com>
12 years agomx5: Rename mx51_fb_init()
Fabio Estevam [Thu, 10 May 2012 15:07:34 +0000 (15:07 +0000)]
mx5: Rename mx51_fb_init()

The ipuv3 driver is currently only used on mx51, but it can be extended to work
on mx53 and mx6 as well.

Rename mx51_fb_init(), so that it can be used by other SoCs.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Jason Liu <r64343@freescale.com>
12 years agomx53: Allow IPUv3 driver to also work on mx53
Fabio Estevam [Tue, 15 May 2012 08:01:16 +0000 (08:01 +0000)]
mx53: Allow IPUv3 driver to also work on mx53

Adjust the IPU base registers so that ipuv3 driver can work on both mx51 and
mx53 SoCs.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
12 years agomx51evk: Add LCD support
Fabio Estevam [Wed, 9 May 2012 06:39:41 +0000 (06:39 +0000)]
mx51evk: Add LCD support

Add support for CLAA07LC0ACW LCD that connects to the mx51evk board.

Configure the board to show the Linux logo on the LCD.

Also increase the size of CONFIG_SYS_MALLOC_LEN variable to take into account
the framebuffer usage.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Stefano Babic <sbabic@denx.de>
12 years agoEXYNOS: display 32bpp bitmap TIZEN logo
Donghwa Lee [Wed, 9 May 2012 19:23:46 +0000 (19:23 +0000)]
EXYNOS: display 32bpp bitmap TIZEN logo

This patch supports drawing 32bpp bitmap TIZEN logo in exynos fb.
"tizen_hd_logo.h" data is compressed from trats_logo.bmp to
trats_logo.bmp.gz by gzip and converted to tizen_hd_logo.h header file
format by some application. The logo data is decompressed in the exynos
fb driver by bmp_display().

Signed-off-by: Donghwa Lee <dh09.lee@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Minkyu Kang <mk7.kang@samsung.com>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agocreate lib/tizen directory
Donghwa Lee [Thu, 10 May 2012 03:02:55 +0000 (12:02 +0900)]
create lib/tizen directory

This directory includes tizen logo data, common tizen library and so on.

Signed-off-by: Donghwa Lee <dh09.lee@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Minkyu Kang <mk7.kang@samsung.com>
[ agust: change to conditionally build lib/tizen directory ]
Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agoLCD: display 32bpp decompressed bitmap image
Donghwa Lee [Wed, 9 May 2012 19:23:37 +0000 (19:23 +0000)]
LCD: display 32bpp decompressed bitmap image

This patch supports drawing 32bpp decompressed bitmap image.

Signed-off-by: Donghwa Lee <dh09.lee@samsung.com>
Signed-off-by: Kyungmin.park <kyungmin.park@samsung.com>
12 years agocommon/lcd.c: reduce one CONFIG_LCD_LOGO ifdef
Anatolij Gustschin [Fri, 27 Apr 2012 04:41:27 +0000 (04:41 +0000)]
common/lcd.c: reduce one CONFIG_LCD_LOGO ifdef

Drop ifdef around bitmap_plot().

Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agocommon/lcd.c: reduce some CONFIG_LCD_*_LOGO ifdefs
Anatolij Gustschin [Fri, 27 Apr 2012 04:41:16 +0000 (04:41 +0000)]
common/lcd.c: reduce some CONFIG_LCD_*_LOGO ifdefs

Move CONFIG_LCD_LOGO && !CONFIG_LCD_INFO_BELOW_LOGO ifdefs
to lcd_drawchars() func.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agocommon/lcd.c: use ARRAY_SIZE
Anatolij Gustschin [Fri, 27 Apr 2012 04:41:06 +0000 (04:41 +0000)]
common/lcd.c: use ARRAY_SIZE

Use available macro for obtaining the size of bmp_logo_palette[]

Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agocmd_bmp.c: make bmp_display() usable by drivers or board code
Anatolij Gustschin [Fri, 27 Apr 2012 04:38:06 +0000 (04:38 +0000)]
cmd_bmp.c: make bmp_display() usable by drivers or board code

Currently bmp_display() is static and can not be used directly
in the driver or board code. Export it for other users.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agoLCD: support another s6e8ax0 panel type
Donghwa Lee [Thu, 26 Apr 2012 18:52:26 +0000 (18:52 +0000)]
LCD: support another s6e8ax0 panel type

s6e8ax0 panel has many panel of types. This patch support another panel
on TIZEN lunchbox board(HWREVISION 2). This panel has reversed panel
display type. So, I had added necessary command.

Signed-off-by: Donghwa Lee <dh09.lee@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Minkyu Kang <mk7.kang@samsung.com>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agoLCD: change s6e8ax0 panel gamma value
Donghwa Lee [Tue, 24 Apr 2012 22:04:39 +0000 (22:04 +0000)]
LCD: change s6e8ax0 panel gamma value

s6e8ax0 panel init gamma value is changed because existing it was not
proper value for this panel.

Signed-off-by: Donghwa Lee <dh09.lee@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
12 years agoinclude/video.h: drop unused video_printf()
Anatolij Gustschin [Fri, 27 Apr 2012 04:37:57 +0000 (04:37 +0000)]
include/video.h: drop unused video_printf()

There is no such function in the code, so remove this prorotype.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agonet: sh-eth: Add support Gigabit of SH7734
Nobuhiro Iwamatsu [Tue, 15 May 2012 15:49:39 +0000 (15:49 +0000)]
net: sh-eth: Add support Gigabit of SH7734

SH7734 support GMII. This add register infomation and the function
which enable GMII.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
12 years agonet: sh_eth: Add support SH7734 Ethernet device
Nobuhiro Iwamatsu [Thu, 2 Feb 2012 21:28:49 +0000 (21:28 +0000)]
net: sh_eth: Add support SH7734 Ethernet device

SH7734 has one channel ethernet device.
This support 10/100/1000Base, and RMII/MII/GMII.
And this has the same structure as SH7763.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
12 years agonet: Allow filtering on debug traces in the net subsystem
Joe Hershberger [Wed, 23 May 2012 08:01:04 +0000 (08:01 +0000)]
net: Allow filtering on debug traces in the net subsystem

Add several levels of DEBUG prints so that you can limit the noise to
the severety of your problem.

DEBUG_LL_STATE = Link local state machine changes
DEBUG_DEV_PKT = Packets or info directed to the device
DEBUG_NET_PKT = Packets on info on the network at large
DEBUG_INT_STATE = Internal network state changes

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: Work-around for brain-damaged Cisco equipment with arp-proxy
Joe Hershberger [Wed, 23 May 2012 08:00:13 +0000 (08:00 +0000)]
net: Work-around for brain-damaged Cisco equipment with arp-proxy

Cisco's arp-proxy feature fails to ignore the link-local address range
This means that a link-local device on a network with this Cisco
equipment will reply to ARP requests for our device (in addition to
our reply).
If we happen to reply first, the requester's ARP table will be
populated with our MAC address, and one packet will be sent to us...
shortly following this, the requester will get an ARP reply from the
Cisco equipment telling the requester to send packets their way
instead of to our device from now on.
This work-around detects this link-local condition and will delay
replying to the ARP request for 5ms so that the first packet is sent
to the Cisco equipment and all following packets are sent to our
device.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: Add link-local addressing support
Joe Hershberger [Wed, 23 May 2012 08:00:12 +0000 (08:00 +0000)]
net: Add link-local addressing support

Code based on networking/zcip.c in busybox
commit 8531d76a15890c2c535908ce888b2e2aed35b172

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: Separate ArpRequest() into lower-level func
Joe Hershberger [Wed, 23 May 2012 08:00:11 +0000 (08:00 +0000)]
net: Separate ArpRequest() into lower-level func

Link-local support will need to send ARP packets, but needs more
fine-grained control over the contents.  Split the implementation
into 2 parts so link-local can share the code.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: Don't copy every packet that waits for an ARP
Joe Hershberger [Wed, 23 May 2012 07:59:24 +0000 (07:59 +0000)]
net: Don't copy every packet that waits for an ARP

Use the NetArpTxPacket for the ARP packet, not to hold what used to
be in NetTxPacket.
This saves a copy and makes the code easier to understand.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: Make sure NetLoop is initialized when using NetConsole
Joe Hershberger [Wed, 23 May 2012 07:59:23 +0000 (07:59 +0000)]
net: Make sure NetLoop is initialized when using NetConsole

Fix NetConsole bug that causes first packet header to claim a
source IP address of 0.0.0.0

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: Fix net buffer initialization
Joe Hershberger [Wed, 23 May 2012 07:59:22 +0000 (07:59 +0000)]
net: Fix net buffer initialization

A new non-static function net_init() will initialize buffers and
read from the environment.  Only update from the env on each entry
to NetLoop().

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: Remove unused parameter from NetInitLoop()
Joe Hershberger [Wed, 23 May 2012 07:59:21 +0000 (07:59 +0000)]
net: Remove unused parameter from NetInitLoop()

Noone uses it.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: Remove static allocation for MAC address in PingSend()
Joe Hershberger [Wed, 23 May 2012 07:59:20 +0000 (07:59 +0000)]
net: Remove static allocation for MAC address in PingSend()

Don't force ARP clients to return the MAC address if they don't care
(such as ping)

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
12 years agonet: Add option CONFIG_BOOTP_MAY_FAIL
Joe Hershberger [Wed, 23 May 2012 07:59:19 +0000 (07:59 +0000)]
net: Add option CONFIG_BOOTP_MAY_FAIL

This is useful if you want to look for a DHCP server, but try some
other settings if not available.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: Fix unused variable compile warning
Joe Hershberger [Wed, 23 May 2012 07:59:18 +0000 (07:59 +0000)]
net: Fix unused variable compile warning

If CONFIG_BOOTP_SERVERIP is not defined, unused variable warning is
reported.  This was fixed upstream using a compiler feature instead
of a simple reorder of the statements.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
12 years agonet: Don't write the "serverip" env var if configured not to
Joe Hershberger [Wed, 23 May 2012 07:59:17 +0000 (07:59 +0000)]
net: Don't write the "serverip" env var if configured not to

Before this patch, bootp would not overwrite the value, but the
value was still clobbered in the env

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: Add net_update_ether() to handle ARP and Ping replies
Joe Hershberger [Wed, 23 May 2012 07:59:16 +0000 (07:59 +0000)]
net: Add net_update_ether() to handle ARP and Ping replies

When the network is VLAN or SNAP, net_update_ether() will preserve
the original Ethernet packet header and simply replace the src and
dest MACs and the protocol

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: Refactor to separate the UDP handler from the ARP handler
Joe Hershberger [Wed, 23 May 2012 07:59:15 +0000 (07:59 +0000)]
net: Refactor to separate the UDP handler from the ARP handler

Call a built-in dummy if none is registered... don't require
protocols to register a handler (eliminating dummies)
NetConsole now uses the ARP handler when waiting on arp
(instead of needing a #define hack in arp.c)
Clear handlers at the end of net loop

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: Refactor to protect access to the NetState variable
Joe Hershberger [Wed, 23 May 2012 07:59:14 +0000 (07:59 +0000)]
net: Refactor to protect access to the NetState variable

Changes to NetState now go through an accessor function called
net_set_state()

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: Refactor to use NetSendPacket instead of eth_send directly
Joe Hershberger [Wed, 23 May 2012 07:59:13 +0000 (07:59 +0000)]
net: Refactor to use NetSendPacket instead of eth_send directly

Use this entry-point consistently across the net/ code
Use a static inline function to preserve code size

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: Refactor ping receive handler
Joe Hershberger [Wed, 23 May 2012 07:59:12 +0000 (07:59 +0000)]
net: Refactor ping receive handler

There is no need to call through the handler... inline it

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
12 years agonet: Move debug trace to point of action
Joe Hershberger [Wed, 23 May 2012 07:59:11 +0000 (07:59 +0000)]
net: Move debug trace to point of action

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: Refactor bootp packet length computations
Joe Hershberger [Wed, 23 May 2012 07:59:10 +0000 (07:59 +0000)]
net: Refactor bootp packet length computations

Eliminate pointer subtraction that recovers values computed earlier

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: Refactor packet length computations
Joe Hershberger [Wed, 23 May 2012 07:59:09 +0000 (07:59 +0000)]
net: Refactor packet length computations

Save the length when it is computed instead of forgetting it and
subtracting pointers to figure it out again.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
12 years agonet: Refactor NetSendUDPPacket to share more code
Joe Hershberger [Wed, 23 May 2012 07:59:08 +0000 (07:59 +0000)]
net: Refactor NetSendUDPPacket to share more code

Share more of the code that is common between ARP vs not.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: Refactor IP, UPD, and ICMP header writing functions
Joe Hershberger [Wed, 23 May 2012 07:59:07 +0000 (07:59 +0000)]
net: Refactor IP, UPD, and ICMP header writing functions

ICMP (ping) was reimplementing IP header code... it now shares code.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
12 years agonet: cosmetic: Replace magic numbers in arp.c with constants
Joe Hershberger [Wed, 23 May 2012 07:58:17 +0000 (07:58 +0000)]
net: cosmetic: Replace magic numbers in arp.c with constants

Use field names and sizes when accessing ARP packets

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: cosmetic: Rename tmp to reply_ip_addr in arp.c
Joe Hershberger [Wed, 23 May 2012 07:58:16 +0000 (07:58 +0000)]
net: cosmetic: Rename tmp to reply_ip_addr in arp.c

Renamed for clarity

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: cosmetic: Alphabetize includes in net.c
Joe Hershberger [Wed, 23 May 2012 07:58:15 +0000 (07:58 +0000)]
net: cosmetic: Alphabetize includes in net.c

Easier to find when alphabetized

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: cosmetic: Rename OPT_SIZE to OPT_FIELD_SIZE
Joe Hershberger [Wed, 23 May 2012 07:58:14 +0000 (07:58 +0000)]
net: cosmetic: Rename OPT_SIZE to OPT_FIELD_SIZE

Clearer constant name.
Also remove related BOOTP_SIZE which was unused and doesn't take
into account VLAN packets.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: cosmetic: Rename CDPHandler to cdp_receive
Joe Hershberger [Wed, 23 May 2012 07:58:13 +0000 (07:58 +0000)]
net: cosmetic: Rename CDPHandler to cdp_receive

This is not called as a handler, so don't name it that way

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: cosmetic: Rename "x" to "eth_proto"
Joe Hershberger [Wed, 23 May 2012 07:58:12 +0000 (07:58 +0000)]
net: cosmetic: Rename "x" to "eth_proto"

x is a poor variable name

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: cosmetic: Add a more explicit comment about 802.2
Joe Hershberger [Wed, 23 May 2012 07:58:11 +0000 (07:58 +0000)]
net: cosmetic: Add a more explicit comment about 802.2

Make the comment more accurate about the header including SNAP

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: cosmetic: Rename parameter len to payload_len
Joe Hershberger [Wed, 23 May 2012 07:58:10 +0000 (07:58 +0000)]
net: cosmetic: Rename parameter len to payload_len

This name more explicitly claims that it does not include the
header size

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: cosmetic: Un-typedef ICMP_t
Joe Hershberger [Wed, 23 May 2012 07:58:09 +0000 (07:58 +0000)]
net: cosmetic: Un-typedef ICMP_t

Remove typedef and lower-case name

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: cosmetic: Un-typedef ARP_t
Joe Hershberger [Wed, 23 May 2012 07:58:08 +0000 (07:58 +0000)]
net: cosmetic: Un-typedef ARP_t

Remove typedef and lower-case letters

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: cosmetic: Un-typedef VLAN_Ethernet_t
Joe Hershberger [Wed, 23 May 2012 07:58:07 +0000 (07:58 +0000)]
net: cosmetic: Un-typedef VLAN_Ethernet_t

Eliminate the typedef and remove capital letters

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: cosmetic: Un-typedef Ethernet_t
Joe Hershberger [Wed, 23 May 2012 07:58:06 +0000 (07:58 +0000)]
net: cosmetic: Un-typedef Ethernet_t

Separate the Ethernet header from the 802 header.
Base the size constants on the structs.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: cosmetic: Split struct ip_udp_hdr into ip_hdr
Joe Hershberger [Wed, 23 May 2012 07:58:05 +0000 (07:58 +0000)]
net: cosmetic: Split struct ip_udp_hdr into ip_hdr

Add a structure that only contains IP header fields to be used by
functions that don't need UDP
Rename IP_HDR_SIZE_NO_UDP to IP_HDR_SIZE

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: cosmetic: Un-typedef IP_t
Joe Hershberger [Wed, 23 May 2012 07:58:04 +0000 (07:58 +0000)]
net: cosmetic: Un-typedef IP_t

Rename IP header related things to IP_UDP. The existing definition
of IP_t includes UDP header, so name it to accurately describe the
structure.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: Move RARP receive logic out of net.c
Joe Hershberger [Wed, 23 May 2012 07:58:03 +0000 (07:58 +0000)]
net: Move RARP receive logic out of net.c

Separate this functionality out of the net.c behemoth

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
12 years agonet: Move PING out of net.c
Joe Hershberger [Wed, 23 May 2012 07:58:02 +0000 (07:58 +0000)]
net: Move PING out of net.c

Separate this functionality out of the net.c behemoth

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: Move ARP out of net.c
Joe Hershberger [Wed, 23 May 2012 07:58:01 +0000 (07:58 +0000)]
net: Move ARP out of net.c

Separate this functionality out of the net.c behemoth

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
12 years agonet: Encapsulate CDP packet identification
Joe Hershberger [Wed, 23 May 2012 07:58:00 +0000 (07:58 +0000)]
net: Encapsulate CDP packet identification

Checking for CDP packets should be encapsulated, not copied code.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: Move CDP out of net.c
Joe Hershberger [Wed, 23 May 2012 07:57:59 +0000 (07:57 +0000)]
net: Move CDP out of net.c

Separate this functionality out of the net.c behemoth

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agonet: Move MAC-seeded rand out of bootp.c
Joe Hershberger [Wed, 23 May 2012 07:57:58 +0000 (07:57 +0000)]
net: Move MAC-seeded rand out of bootp.c

Make the MAC-seeded random number generator available to /net in
general.  MAC-seeded rand will be needed by link-local as well, so
give it an interface.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: Remove CMD_PING where there's no CMD_NET
Joe Hershberger [Wed, 23 May 2012 07:57:57 +0000 (07:57 +0000)]
net: Remove CMD_PING where there's no CMD_NET

Some boards claim to need ping, but don't support net.
That makes no sense, and causes problems now that ping
is in a separate file.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
12 years agonet: Fix remaining API interface breakage
Joe Hershberger [Tue, 22 May 2012 18:36:19 +0000 (18:36 +0000)]
net: Fix remaining API interface breakage

These are all the files which use the API incorrectly but did not get
built using MAKEALL -a powerpc|arm.  I have no compiler for them, but
the remaining issues should be far less than without this patch.

Any outstanding issues are left to the maintainers of boards that use
these drivers.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agodrivers/net/rtl8169.c: Fix compile warning
Joe Hershberger [Tue, 22 May 2012 18:09:57 +0000 (18:09 +0000)]
drivers/net/rtl8169.c: Fix compile warning

Fix this:
rtl8169.c: In function 'rtl8169_initialize':
rtl8169.c:907:13: warning: assignment from incompatible pointer type

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agodrivers/net/pcnet.c: Fix compile warning
Joe Hershberger [Tue, 22 May 2012 18:09:56 +0000 (18:09 +0000)]
drivers/net/pcnet.c: Fix compile warning

Fix this:
pcnet.c: In function 'pcnet_initialize':
pcnet.c:224:13: warning: assignment from incompatible pointer type

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agoarch/powerpc/cpu/mpc8260/ether_scc.c: Fix compile warning
Joe Hershberger [Tue, 22 May 2012 18:09:55 +0000 (18:09 +0000)]
arch/powerpc/cpu/mpc8260/ether_scc.c: Fix compile warning

Fix this:
ether_scc.c: In function 'mpc82xx_scc_enet_initialize':
ether_scc.c:377:14: warning: assignment from incompatible pointer type

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agodrivers/net/xilinx_axi_emac.c: Fix compile warning
Stephan Linz [Tue, 22 May 2012 12:18:11 +0000 (12:18 +0000)]
drivers/net/xilinx_axi_emac.c: Fix compile warning

Fix this:
xilinx_axi_emac.c: In function 'xilinx_axiemac_initialize':
xilinx_axi_emac.c:646: warning: assignment from incompatible pointer type

Signed-off-by: Stephan Linz <linz@li-pro.net>
12 years agodrivers/net/xilinx_emaclite.c: Fix compile warning
Stephan Linz [Tue, 22 May 2012 12:18:10 +0000 (12:18 +0000)]
drivers/net/xilinx_emaclite.c: Fix compile warning

Fix this:
xilinx_emaclite.c: In function 'xilinx_emaclite_initialize':
xilinx_emaclite.c:371: warning: assignment from incompatible pointer type

Signed-off-by: Stephan Linz <linz@li-pro.net>
12 years agodrivers/net/xilinx_ll_temac.c: Fix compile warning
Stephan Linz [Tue, 22 May 2012 12:18:09 +0000 (12:18 +0000)]
drivers/net/xilinx_ll_temac.c: Fix compile warning

Fix this:
xilinx_ll_temac.c: In function 'xilinx_ll_temac_initialize':
xilinx_ll_temac.c:332: warning: assignment from incompatible pointer type
xilinx_ll_temac.c:340: warning: assignment from incompatible pointer type

Signed-off-by: Stephan Linz <linz@li-pro.net>
12 years agonet: Remove redefinitions of net.h functions
Joe Hershberger [Tue, 22 May 2012 10:28:57 +0000 (10:28 +0000)]
net: Remove redefinitions of net.h functions

Some copy/pasted drivers redefine functions
defined in include/net.h.  Remove these so that
the definitions can be changed without error.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
12 years agodrivers/qe/uec.c: Fix compile warning
Joe Hershberger [Tue, 22 May 2012 07:56:21 +0000 (07:56 +0000)]
drivers/qe/uec.c: Fix compile warning

Fix this:
uec.c: In function 'uec_initialize':
uec.c:1404:12: warning: assignment from incompatible pointer type

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agodrivers/net/uli526x.c: Fix compile warning
Joe Hershberger [Tue, 22 May 2012 07:56:20 +0000 (07:56 +0000)]
drivers/net/uli526x.c: Fix compile warning

Fix this:
uli526x.c: In function 'uli526x_initialize':
uli526x.c:243:13: warning: assignment from incompatible pointer type

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agodrivers/net/tsi108_eth.c: Fix compile warning
Joe Hershberger [Tue, 22 May 2012 07:56:19 +0000 (07:56 +0000)]
drivers/net/tsi108_eth.c: Fix compile warning

Fix this:
tsi108_eth.c: In function 'tsi108_eth_initialize':
tsi108_eth.c:745:13: warning: assignment from incompatible pointer type
tsi108_eth.c: In function 'tsi108_eth_recv':
tsi108_eth.c:989:4: warning: passing argument 1 of 'NetReceive' discards qualifiers from pointer target type

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agodrivers/net/rtl8139.c: Fix compile warning
Joe Hershberger [Tue, 22 May 2012 07:56:18 +0000 (07:56 +0000)]
drivers/net/rtl8139.c: Fix compile warning

Fix this:
rtl8139.c: In function 'rtl8139_initialize':
rtl8139.c:234:13: warning: assignment from incompatible pointer type

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agodrivers/net/ns8382x.c: Fix compile warning
Joe Hershberger [Tue, 22 May 2012 07:56:17 +0000 (07:56 +0000)]
drivers/net/ns8382x.c: Fix compile warning

Fix this:
ns8382x.c: In function 'ns8382x_initialize':
ns8382x.c:352:13: warning: assignment from incompatible pointer type

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
12 years agodrivers/net/natsemi.c: Fix compile warning
Joe Hershberger [Tue, 22 May 2012 07:56:16 +0000 (07:56 +0000)]
drivers/net/natsemi.c: Fix compile warning

Fix this:
natsemi.c: In function 'natsemi_initialize':
natsemi.c:338:13: warning: assignment from incompatible pointer type

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>