9
0
Fork 0
Commit Graph

205 Commits

Author SHA1 Message Date
Sascha Hauer 45d593bc5e Merge branch 'for-next/mips' 2014-07-04 17:26:05 +02:00
Antony Pavlov 988ecf4269 MIPS: qemu-malta_defconfig: enable PCI & network stuff
qemu usage:

  # ifconfig br0:1 172.20.0.1
  # qemu-system-mips -nodefaults -nographic -M malta -m 256 \
    -serial stdio -monitor null \
    -bios ./barebox-flash-image \
    -net nic,vlan=0,model=rtl8139 \
    -net tap,vlan=0,script=net_br0.sh

  ...

  barebox:/ eth0.ipaddr=172.20.0.2
  barebox:/ eth0.serverip=172.20.0.1
  barebox:/ ping 172.20.0.1
  phy0: Link is up - 100/Full
  host 172.20.0.1 is alive
  barebox:/

Sample net_br0.sh (for connecting to br0 interface, so you can
connect barebox to your real network):

  #!/bin/sh

  brctl addif br0 $1
  ifconfig $1 up

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-07-04 07:36:16 +02:00
Antony Pavlov 657f7eac3f MIPS: add PCI support for GT64120-based Malta board
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-07-04 07:36:16 +02:00
Antony Pavlov eb062ecbdf MIPS: add dma_alloc_coherent()
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-07-04 07:35:47 +02:00
Antony Pavlov ba9b3bc6b9 MIPS: ritmix-rzx50_defconfig: enable gpio stuff
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-27 21:40:07 +02:00
Antony Pavlov 187e4c4eb8 MIPS: dts: jz4755.dtsi: add gpio
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-27 21:40:07 +02:00
Antony Pavlov 62d8a2a0ea MIPS: XBurst: use gpiolib
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-27 21:40:07 +02:00
Sascha Hauer 98360be0fe Documentation: remove doxygen documentation
The doxygen documentation is long outdated. Remove it. It will
be replaced with sphinx based documentation later.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-26 10:09:52 +02:00
Antony Pavlov 204e863d48 MIPS: mach-ath79: drop extra 'select HAVE_CLK'
We already have 'select COMMON_CLK' so 'select HAVE_CLK'
is redundant.

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-25 09:10:09 +02:00
Antony Pavlov 79027ee88e MIPS: qemu-malta_defconfig: enable gpio & i2c stuff
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-25 08:34:52 +02:00
Antony Pavlov 51cc423920 MIPS: dts: qemu-malta.dts: use i2c-gpio for accessing CBUS FPGA I2C bus
Also we can enable m24c02 eeprom chip in dts-file e.g.

    &i2c0 {
            status = "okay";

            eeprom: m24c02@50 {
                    compatible = "spd";
                    reg = <0x50>;
            };
    };

Alas! qemu mips malta spd m24c02 eeprom chip emulation is not perfect:
the block read operation does not work properly.

Here is an example.

If we read eeprom content byte-by-byte then there is no problem:

    barebox:/ for i in 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f ;
    > do i2c_read -b 0 -a 0x50 -r $i -c 1 ; done
    0x01
    0x75
    0x54
    0x00
    0x82
    0x08
    0x00
    0x01

Compare this output with content of qemu.git/hw/mips/mips_malta.c:

    static eeprom24c0x_t spd_eeprom = {
        .contents = {
            ...
            /* 00000008: */ 0x01,0x75,0x54,0x00,0x82,0x08,0x00,0x01,

But if we read several bytes at once the we have data corruption:

    barebox:/ i2c_read -b 0 -a 0x50 -r 0x8 -c 8
    0x01 0xff 0xff 0xff 0xff 0xff 0xff 0xff

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-25 08:34:52 +02:00
Antony Pavlov f21744fba3 MIPS: dts: qemu-malta.dts: enable CBUS FPGA I2C gpio driver
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-24 09:07:06 +02:00
Antony Pavlov c8364cea6f MIPS: malta: enable gpiolib
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-24 09:07:06 +02:00
Antony Pavlov fe2137cfd6 MIPS: add <asm/gpio.h> header file
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-24 09:07:06 +02:00
Sascha Hauer 40a1897e88 mips: Fix dtb build rules
Add intermediate .S files to .SECONDARY. Otherwise make deletes them
and regenerates them each build.
Also remove KBUILD_DTBS since the make system descends in dts/ anyway.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-11 08:48:39 +02:00
Antony Pavlov 436ea81f52 MIPS: dts: add .gitignore for generated files
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-10 09:08:57 +02:00
Sascha Hauer 13eb0229c1 mips: Add builtin dtb to dtb-y
Otherwise a rebuild of the dtb file is triggered each build.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-05 10:21:42 +02:00
Sascha Hauer 0ad84fb2c2 mips: ar9331: Add missing #address-cells/#size-cells properties
SPI nodes need valid #address-cells/#size-cells properties.
Fixes:

Warning (reg_format): "reg" property in /soc/spi@bf000000/m25p80@0 has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
Warning (avoid_default_addr_size): Relying on default #address-cells value for /soc/spi@bf000000/m25p80@0
Warning (avoid_default_addr_size): Relying on default #size-cells value for /soc/spi@bf000000/m25p80@0

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-05 10:16:23 +02:00
Sascha Hauer eb2c63d089 mips: dlink-dir-320: refresh defconfig
Fixes:

arch/mips/configs/dlink-dir-320_defconfig:52:warning: override: reassigning to symbol CMD_DHCP
arch/mips/configs/dlink-dir-320_defconfig:54:warning: override: reassigning to symbol CMD_PING
arch/mips/configs/dlink-dir-320_defconfig:55:warning: override: reassigning to symbol CMD_TFTP
arch/mips/configs/dlink-dir-320_defconfig:64:warning: override: reassigning to symbol FS_TFTP

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-05 10:03:55 +02:00
Sascha Hauer 4c37b77af4 Merge branch 'for-next/mips'
Conflicts:
	arch/mips/configs/dlink-dir-320_defconfig
2014-06-04 21:03:28 +02:00
Antony Pavlov d77b1094c4 MIPS: dlink-dir-320: switch to dt
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-05-27 07:19:41 +02:00
Sascha Hauer d384b5639f of: Drop devicetree merge support
I assume I am the only person knowing that barebox is able to
merge devicetrees. This feature seems broken for a while now since
trying to merge devicetress results in:

unflatten: too many end nodes

Remove this feature to save the complexity.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-05-22 08:09:13 +02:00
Holger Schurig c524f74d5b commands: NET_DHCP -> CMD_DHCP
* this compile option actually turns on a command, so name it
  accordingly
* also move the Kconfig definition into commands/Kconfig, thus
  placing getopt into the "Network commands" section
* while at it, improve Kconfig documention

Signed-off-by: Holger Schurig <holgerschurig@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-05-14 10:03:49 +02:00
Holger Schurig 5bd055b660 commands: NET_PING -> CMD_PING
* this compile option actually turns on a command, so name it
  accordingly
* also move the Kconfig definition into commands/Kconfig, thus
  placing getopt into the "Network commands" section
* while at it, improve Kconfig documention

Signed-off-by: Holger Schurig <holgerschurig@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-05-14 10:03:48 +02:00
Holger Schurig 26a34100e8 commands: HUSH_GETOPT -> CMD_GETOPT
* this compile option actually turns on a command, so name it
  accordingly
* also move the Kconfig definition into commands/Kconfig, thus
  placing getopt into the "Shell scripting commands" section
* while at it, improve Kconfig documention

Signed-off-by: Holger Schurig <holgerschurig@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-05-14 10:03:48 +02:00
Holger Schurig f1f532084a commands: harmonize in-barebox documentation
This patch does probably too much, but it's hard (and very
cumbersome/time consuming) to break it out. What is does is this:

* each command has one short description, e.g. "list MUX configuration"
* made sure the short descriptions start lowercase
* each command has one usage. That string contains just the
  options, e.g. "[-npn]". It's not part of the long help text.
* that is, it doesn't say "[OPTIONS]" anymore, every usable option
  is listed by character in this (short) option string (the long
  description is in the long help text, as before)
* help texts have been reworked, to make them
  - sometimes smaller
  - sometimes describe the options better
  - more often present themselves in a nicer format
* all long help texts are now created with BUSYBOX_CMD_HELP_
  macros, no more 'static const __maybe_unused char cmd_foobar_help[]'
* made sure the long help texts starts uppercase
* because cmdtp->name and cmdtp->opts together provide the new usage,
  all "Usage: foobar" texts have been removed from the long help texts
* BUSYBOX_CMD_HELP_TEXT() provides the trailing newline by itself, this
  is nicer in the source code
* BUSYBOX_CMD_HELP_OPT() provides the trailing newline by itself
* made sure no line gets longer than 77 characters
* delibertely renamed cmdtp->usage, so that we can get compile-time
  errors (e.g. in out-of-tree modules that use register_command()
* the 'help' command can now always emit the usage, even without
  compiled long help texts
* 'help -v' gives a list of commands with their short description, this
  is similar like the old "help" command before my patchset
* 'help -a' gives out help of all commands

Signed-off-by: Holger Schurig <holgerschurig@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-05-14 10:03:43 +02:00
Holger Schurig ab23d0bb3f commands: group 'help' output
The old output of "help" was just producing a long list, that usually
scrolled of the screen (even on a X11 terminal). This list is more
compact, and also sorted by groups.

The old output format (plus grouping) is now available with 'help -v'.

Example:

   Information commands:
     ?, devinfo, help, iomem, meminfo, version
   Boot commands:
     boot, bootm, go, loadb, loads, loadx, loady, saves, uimage
   ...

Signed-off-by: Holger Schurig <holgerschurig@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-05-14 07:59:55 +02:00
Sascha Hauer 8fb1d4e075 Merge branch 'for-next/mips'
Conflicts:
	arch/mips/boards/loongson-ls1b/serial.c
2014-05-05 11:06:17 +02:00
Sascha Hauer f8327af20c Merge branch 'for-next/ioresource' 2014-05-05 11:05:51 +02:00
Sascha Hauer 5d0362c5d3 dts: Use dt-bindings from kernel
barebox used to have its own include/dt-bindings with files copied
from the corresponding kernel files. Use upstream dt-bindings directly
instead.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-04-28 14:18:25 +02:00
Michel Stam 9f556d4b6f x86: ns16550: Rework driver to allow for x86 I/O space
The current implementation fakes a memory-mapped I/O device
at 0x3f8 and 0x2f8, then uses platform read/write functions
to do the actual reading and writing. These platform functions
only exist for the x86 platform; better to move the I/O
routines into the driver and have the driver request I/O ports
using request_ioport_region.

Signed-off-by: Michel Stam <michel@reverze.net>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-04-09 19:31:42 +02:00
Sascha Hauer 8f6bc22f3b mips: io: include generic io.h
To get definitions for inb/outb and friends.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Antony Pavlov <antonynpavlov@gmail.com>
2014-04-09 08:31:07 +02:00
Michel Stam 4d94f56c6c common: Allow for I/O mapped I/O
Rework the current framework so that I/O mapped I/O resources are
also possible.

Signed-off-by: Michel Stam <michel@reverze.net>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-04-08 08:17:55 +02:00
Antony Pavlov b7cc37eedf MIPS: loongson-ls1b: switch to device tree
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-04-08 08:03:45 +02:00
Antony Pavlov cd8a28dcbf MIPS: add Loongson Tech LS1B Demo Board dts file
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-04-08 08:03:45 +02:00
Antony Pavlov d7f3922a39 MIPS: add Longson LS1B SoC dtsi file
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-04-08 08:03:45 +02:00
Antony Pavlov 824d32f7d4 MIPS: tplink-mr3020_defconfig: add SPI support
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-04-07 11:22:32 +02:00
Antony Pavlov 5ba3f77003 MIPS: tplink-mr3020.dts: add S25FL032PIF SPI flash chip
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-04-07 11:22:32 +02:00
Antony Pavlov 0ddaa340a4 MIPS: ar9331.dtsi: add SPI master
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-04-07 11:22:32 +02:00
Sascha Hauer b587c87aac Merge branch 'for-next/mips' 2014-04-04 10:05:46 +02:00
Antony Pavlov 93f1811d8b MIPS: qemu-malta: add CBUS UART support
This patch adds CBUS UART dts support;
also it adds the necessary macros for DEBUG_LL.

qemu-malta supports three serial interfaces:

  * two ports are provided by the FDC37M817
    Super I/O; this chip is connected via LPC bus
    to Intel 82371EB (PIIX4E) South Bridge;

  * the third serial port is provided by
    the discrete TI 16C550C (CBUS UART);
    this chip is connected via CBUS directly
    to the board's GT64120 North Bridge.

See Malta User's Manual (MD00048) for details.

CBUS UART Instructions for use:

  1. Enable CONFIG_CONSOLE_ACTIVATE_ALL in .config
     (or disable uart0 in dts) and compile barebox;

  2. run qemu:

     qemu-system-mips -nographic -nodefaults \
        -monitor null -M malta -m 256 \
        -serial null -serial null -serial stdio \
        -bios barebox-flash-image

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-04-03 07:55:16 +02:00
Antony Pavlov b51cba9c9a MIPS: rzx50: use short form for serial1 reference
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-03-31 08:32:12 +02:00
Antony Pavlov c62db8d05f MIPS: add tplink-mr3020_defconfig
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-03-28 10:45:54 +01:00
Antony Pavlov 71eb6de4ea MIPS: tplink-mr3020: add documentation
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-03-28 10:45:54 +01:00
Antony Pavlov 6839863a85 MIPS: ath79: add tplink-mr3020 board support
This board support code can be used for TP-LINK WR703 too.

TP-LINK WR703 is very similar to TP-LINK MR3020, there are
some non-essential differences:

  * WR703 is smaller and cheaper;
  * WR703 has only one led, but MR3020 has five leds;
  * MR3020 uses mini-USB connector, WR703 uses micro-USB connector.

See https://forum.openwrt.org/viewtopic.php?id=45159 for details.

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-03-28 10:45:54 +01:00
Antony Pavlov 0b7f8d996d MIPS: ath79: ar9331: add devicetree files
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-03-28 10:37:33 +01:00
Antony Pavlov cf93dcd0db MIPS: ath79: add DEBUG_LL support for Atheros AR933x
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-03-28 10:28:15 +01:00
Du Huanpeng c1ef9f84a3 MIPS: add Atheros ar933x family support
Use the mach-ath79 name for compatibility with linux kernel.

Signed-off-by: Du Huanpeng <u74147@gmail.com>
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-03-28 10:28:15 +01:00
Antony Pavlov f0ca02de16 MIPS: lib: add BAREBOX_CLK_TABLE to linker script
This commit is based on
    commit fa1a406f72
    Author: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
    Date:   Sat Nov 9 14:24:18 2013 +0100

        ARM: lib: add BAREBOX_CLK_TABLE to linker script

        This adds an .oftables section right before .dtb section with
        BAREBOX_CLK_TABLE to ARM linker script.

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-03-28 10:28:15 +01:00
Antony Pavlov c167c8079b MIPS: mach-xburst: fix DEBUG_LL=n build error
Here is my error log:

  CC      common/startup.o
In file included from arch/mips/mach-xburst/include/mach/debug_ll.h:25,
                 from include/debug_ll.h:31,
                 from common/startup.c:36:
arch/mips/include/asm/debug_ll_ns16550.h: In function 'PUTC_LL':
arch/mips/include/asm/debug_ll_ns16550.h:62: error: 'DEBUG_LL_UART_ADDR' undeclared (first use in this function)
arch/mips/include/asm/debug_ll_ns16550.h:62: error: (Each undeclared identifier is reported only once
arch/mips/include/asm/debug_ll_ns16550.h:62: error: for each function it appears in.)
make[1]: *** [common/startup.o] Error 1

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-03-28 10:05:47 +01:00