01 Nov, 2013

1 commit


15 Oct, 2013

1 commit


24 Jul, 2013

1 commit


26 Jun, 2013

1 commit


06 Jun, 2013

1 commit


05 Jun, 2013

2 commits

  • We know the exact property names that the code wants to process. Look
    these up directly with fdt_get_property(), rather than iterating over
    all properties within the node, and checking each property's name, in
    a convoluted fashion, against the expected name.

    Signed-off-by: Stephen Warren

    Stephen Warren
     
  • Initialized character arrays on the stack can cause gcc to emit code that
    performs unaligned accessess. Make the data static to avoid this.

    Note that the unaligned accesses are made when copying data to prefix[] on
    the stack from .rodata. By making the data static, the copy is completely
    avoided. All explicitly written code treats the data as u8[], so will never
    cause any unaligned accesses.

    Signed-off-by: Stephen Warren
    Acked-by: Simon Glass

    Stephen Warren
     

04 Feb, 2013

1 commit


19 Nov, 2012

1 commit

  • Add support for CONSOLE_MUX to tegra-kbc driver. This requires
    adding a flag to struct keyb to know the driver has already been
    initialized so if we try to initialize it again we can just return
    success. Also call into iomux_doenv() from drv_keyboard_init to
    re-evaluate the stdin string.

    Signed-off-by: Allen Martin
    Signed-off-by: Tom Warren

    Allen Martin
     

05 Nov, 2012

1 commit


20 Oct, 2012

5 commits

  • To support Non-ASCII keys (ex, Fn, PgUp/Dn, arrow keys, ...), we need to
    translate key code into escape sequence.

    (Updated by sjg@chromium.org to move away from a function to store
    keycodes, so we can easily record how many were sent. We now need to
    return this from input_send_keycodes() so we know whether keys were
    generated.)

    Signed-off-by: Hung-Te Lin
    Signed-off-by: Simon Glass
    Signed-off-by: Tom Rini

    Hung-Te Lin
     
  • The i8042 keyboard reset was not checking the results of the output
    buffer after the reset command. This can jam up some KBC/keyboards.
    Also, remove a write to the wrong register and the CONFIG setting
    around the incorrect write.

    Signed-off-by: Marc Jones
    Signed-off-by: Simon Glass
    Signed-off-by: Tom Rini

    Marc Jones
     
  • The BIOS leaves the keyboard enabled during boot time so that any
    keystroke would interfere kernel driver initialization.

    Add a way to disable the keyboard to make sure no scancode will be
    generated during the boot time. Note that the keyboard will be
    re-enabled again after the kernel driver is up.

    This code can be called from the board functions.
    Signed-off-by: Louis Yung-Chieh Lo

    Signed-off-by: Louis Yung-Chieh Lo
    Signed-off-by: Simon Glass
    Signed-off-by: Tom Rini

    Louis Yung-Chieh Lo
     
  • This change adds a board overridable function which can be used to decide
    whether or not to initialize the i8042 keyboard controller. On systems where
    it isn't actually connected to anything, this can save a significant amount of
    boot time.

    On Stumpy, this saves about 200ms on boot.

    Signed-off-by: Gabe Black
    Signed-off-by: Simon Glass
    Signed-off-by: Tom Rini

    Gabe Black
     
  • On x86, the i8042 keyboard controller driver frequently waits for the keyboard
    input buffer to be empty to make sure the controller has had a chance to
    process the data it was given. The way the delay loop was structured, if the
    controller hadn't cleared the corresponding status bit immediately, it would
    wait 1ms before checking again. If the keyboard responded quickly but not
    instantly, the driver would still wait a full 1ms when perhaps 1us would have
    been sufficient. Because udelay is a busy wait anyway, this change decreases
    the delay between checks to 1us.

    Also, this change gets rid of a hardcoded 250ms delay.

    On Stumpy, this saves 100-150ms during boot.

    Signed-off-by: Gabe Black
    Signed-off-by: Simon Glass
    Signed-off-by: Tom Rini

    Gabe Black
     

16 Oct, 2012

5 commits


22 Sep, 2012

1 commit


11 Sep, 2012

1 commit


02 Sep, 2012

1 commit

  • On Microblaze with device tree support enabled we run into
    the error below.

    I'm not sure, but I think that all source code should include
    at least the common.h and just this fix the problem on
    Microblaz architecture.

    The error is:

    In file included from key_matrix.c:29:
    include/malloc.h:364: error: conflicting types for 'memset'
    include/linux/string.h:71: error: previous declaration of 'memset' was here
    include/malloc.h:365: error: conflicting types for 'memcpy'
    include/linux/string.h:74: error: previous declaration of 'memcpy' was here

    Signed-off-by: Stephan Linz
    CC: Bernie Thompson
    CC: Simon Glass
    CC: Tom Warren
    CC: Michal Simek
    Acked-by: Simon Glass
    Acked-by: Michal Simek

    Stephan Linz
     

01 Sep, 2012

1 commit

  • This is make naming consistent with the kernel and devicetree and in
    preparation of pulling out the common tegra20 code.

    Signed-off-by: Allen Martin
    Acked-by: Stephen Warren
    Tested-by: Thierry Reding
    Signed-off-by: Tom Warren

    Allen Martin
     

15 May, 2012

3 commits

  • Add support for internal matrix keyboard controller for Nvidia Tegra
    platforms. This driver uses the fdt decode function to obtain its key
    codes.

    Support for the Ctrl modifier is provided. The left and right ctrl keys are
    dealt with in the same way.

    This uses the new keyboard input library (drivers/input/input.c) to decode
    keys and handle most of the common input logic. The new key matrix library
    is also used to decode (row, column) key positions into key codes.

    The intent is to make this driver purely about dealing with the hardware.

    Key detection before the driver is loaded is supported. This key will be
    picked up when the keyboard driver is initialized.

    Modified by Bernie Thompson and
    Simon Glass for device tree, input layer, key matrix
    and various other things.

    Signed-off-by: Simon Glass
    Signed-off-by: Tom Warren

    Rakesh Iyer
     
  • Matrix keyboards require a key map to be set up, and must also deal with
    key ghosting.

    Create a keyboard matrix management implementation which can be leveraged
    by various keyboard drivers. This includes code to read the keymap from
    the FDT and perform debouncing.

    Signed-off-by: Bernie Thompson
    Signed-off-by: Simon Glass
    Signed-off-by: Tom Warren

    Bernie Thompson
     
  • Add a module which understands converting key codes (or scan codes)
    to ASCII characters. It includes FIFO support and can call back to
    drivers to read new characters when its FIFO is empty.

    Keycode maps are provided for un-modified, shift and ctrl keys.

    The plan is to use this module where such mapping is required.

    Signed-off-by: Simon Glass
    Signed-off-by: Tom Warren

    Simon Glass
     

29 Nov, 2011

2 commits

  • If no controller is present, the i8402 driver should return immediately and
    not attempt to operate on the missing hardware.

    In kbd_input_empty, the status register is checked every millisecond to see
    whether the input buffer is empty, up to a timeout which is tracked by
    decrimenting a counter each time the check is performed. The decrement is
    performed with a postfix -- operator, and the value of the counter is
    checked in place. That means that when the counter reaches zero and the
    loop terminates, it will actually be decrimented one more time and become
    -1. That value is returned as the return value of the function. That would
    give the right answer if it wasn't for that extra decrement because a
    timeout would indicate that the buffer never became empty.

    This change fixes both of those bugs.

    Signed-off-by: Gabe Black

    Gabe Black
     
  • Signed-off-by: Gabe Black

    Gabe Black
     

18 Nov, 2010

1 commit

  • Before this commit, weak symbols were not overridden by non-weak symbols
    found in archive libraries when linking with recent versions of
    binutils. As stated in the System V ABI, "the link editor does not
    extract archive members to resolve undefined weak symbols".

    This commit changes all Makefiles to use partial linking (ld -r) instead
    of creating library archives, which forces all symbols to participate in
    linking, allowing non-weak symbols to override weak symbols as intended.
    This approach is also used by Linux, from which the gmake function
    cmd_link_o_target (defined in config.mk and used in all Makefiles) is
    inspired.

    The name of each former library archive is preserved except for
    extensions which change from ".a" to ".o". This commit updates
    references accordingly where needed, in particular in some linker
    scripts.

    This commit reveals board configurations that exclude some features but
    include source files that depend these disabled features in the build,
    resulting in undefined symbols. Known such cases include:
    - disabling CMD_NET but not CMD_NFS;
    - enabling CONFIG_OF_LIBFDT but not CONFIG_QE.

    Signed-off-by: Sebastien Carlier

    Sebastien Carlier
     

20 Sep, 2010

1 commit

  • Recent changes caused that the HMI10 board now is included in the
    boards built by MAKEALL, which revealed that compilation for this
    board has been broken for a long time:

    ps2ser.c: In function 'ps2ser_init':
    ps2ser.c:155: error: 'UART_LCR' undeclared (first use in this function)
    ps2ser.c:155: error: (Each undeclared identifier is reported only once
    ps2ser.c:155: error: for each function it appears in.)
    ps2ser.c:156: error: 'UART_DLL' undeclared (first use in this function)
    ps2ser.c:157: error: 'UART_DLM' undeclared (first use in this function)
    ps2ser.c:159: error: 'UART_IER' undeclared (first use in this function)
    ps2ser.c:160: error: 'UART_MCR' undeclared (first use in this function)
    ps2ser.c:161: error: 'UART_FCR' undeclared (first use in this function)
    ps2ser.c:162: error: 'UART_FCR_ENABLE_FIFO' undeclared (first use in this function)
    ps2ser.c:166: error: 'UART_LSR' undeclared (first use in this function)
    ps2ser.c: In function 'ps2ser_putc':
    ps2ser.c:198: error: 'UART_LSR' undeclared (first use in this function)
    ps2ser.c:200: error: 'UART_TX' undeclared (first use in this function)
    ps2ser.c: In function 'ps2ser_getc_hw':
    ps2ser.c:224: error: 'UART_LSR' undeclared (first use in this function)
    ps2ser.c:225: error: 'UART_RX' undeclared (first use in this function)
    ps2ser.c: In function 'ps2ser_interrupt':
    ps2ser.c:293: error: 'UART_IIR' undeclared (first use in this function)

    The board is orphaned, and AFAICT has reached EOL.
    Drop support for it.

    Signed-off-by: Wolfgang Denk

    Wolfgang Denk
     

22 Mar, 2010

1 commit


05 Sep, 2009

1 commit


18 Jul, 2009

1 commit

  • So far the console API uses the following naming convention:

    ======Extract======
    typedef struct device_t;

    int device_register (device_t * dev);
    int devices_init (void);
    int device_deregister(char *devname);
    struct list_head* device_get_list(void);
    device_t* device_get_by_name(char* name);
    device_t* device_clone(device_t *dev);
    =======

    which is too generic and confusing.

    Instead of using device_XX and device_t we change this
    into stdio_XX and stdio_dev

    This will also allow to add later a generic device mechanism in order
    to have support for multiple devices and driver instances.

    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD

    Edited commit message.

    Signed-off-by: Wolfgang Denk

    Jean-Christophe PLAGNIOL-VILLARD
     

04 Apr, 2009

1 commit


19 Oct, 2008

1 commit


13 Aug, 2008

1 commit


14 Jul, 2008

1 commit


11 Jun, 2008

1 commit

  • This patch adds basic support for the TQM8548 module from TQ-Components
    (http://www.tqc.de/) including DDR2 SDRAM initialisation and support for
    eTSEC 3 and 4

    Furthermore Flash buffer write has been enabled to speed up output to
    the Flash by approx. a factor of 10.

    Signed-off-by: Thomas Waehner
    Signed-off-by: Wolfgang Grandegger

    Wolfgang Grandegger
     

21 May, 2008

1 commit

  • This commit gets rid of a huge amount of silly white-space issues.
    Especially, all sequences of SPACEs followed by TAB characters get
    removed (unless they appear in print statements).

    Also remove all embedded "vim:" and "vi:" statements which hide
    indentation problems.

    Signed-off-by: Wolfgang Denk

    Wolfgang Denk