1. 30 Dec, 2008 7 commits
    • Anton Vorontsov's avatar
      powerpc/83xx: Add USB Host/Gadget support for MPC8360E-MDS boards · c9c5e52d
      Anton Vorontsov authored
      - Update the device tree per QE USB bindings;
      - Add timer (FSL GTM) node;
      - Add gpio-controller node for BCSR13 bank (GPIOs on that bank
        are used to control the USB transceiver);
      - Set up other BCSR registers;
      - Configure the QE Par IO.
      
      The work is loosely based on Li Yang's patch[1], which was used
      to support peripheral mode only.
      
      [1] http://ozlabs.org/pipermail/linuxppc-dev/2008-August/061357.html
      
      The s-o-b line of the original patch preserved here.
      Signed-off-by: default avatarLi Yang <leoli@freescale.com>
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      c9c5e52d
    • Anton Vorontsov's avatar
      powerpc: Implement GPIO driver for simple memory-mapped banks · 3d64de9c
      Anton Vorontsov authored
      The driver supports very simple GPIO controllers, that is, when a
      controller provides just a 'data' register. Such controllers may be
      found in various BCSRs (Board's FPGAs used to control board's
      switches, LEDs, chip-selects, Ethernet/USB PHY power, etc).
      
      So far we support only 1-byte GPIO banks. Support for other widths may
      be implemented when/if needed.
      
      p.s.
      To avoid "made up" compatible entries (like compatible = "simple-gpio"),
      boards must call simple_gpiochip_init() to pass the compatible string.
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      3d64de9c
    • Anton Vorontsov's avatar
      powerpc: Add device tree bindings for BCSR GPIO banks · 94409d6e
      Anton Vorontsov authored
      The patch adds bindings for BCSR GPIO banks, the bindings are used to
      describe particular BCSR registers that act as simple GPIO controllers.
      These GPIO banks might control power switches, SPI chip-selects, LEDs,
      etc.
      
      While at it, also fix "length" spelling error in the PIXIS FPGA
      bindings.
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      94409d6e
    • Anton Vorontsov's avatar
      powerpc/qe: Implement QE Pin Multiplexing API · 1b9e8904
      Anton Vorontsov authored
      With this API we're able to set a QE pin to the GPIO mode or a dedicated
      peripheral function.
      
      The API relies on the fact that QE gpio controllers are registered. If
      they aren't, the API won't work (gracefully though).
      
      There is one caveat though: if anybody occupied the node->data before us,
      or overwrote it, then bad things will happen. Luckily this is all in the
      platform code that we fully control, so this should never happen.
      
      I could implement more checks (for example we could create a list of
      successfully registered QE controllers, and compare the node->data in the
      qe_pin_request()), but this is unneeded if nobody is going to do silly
      things behind our back.
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      1b9e8904
    • Anton Vorontsov's avatar
      powerpc/83xx: Fix sparse warnings in mpc836x_mds.c · 78c77050
      Anton Vorontsov authored
      This patch fixes following sparse warnings:
      
        CHECK   mpc836x_mds.c
      mpc836x_mds.c:75:12: warning: Using plain integer as NULL pointer
      mpc836x_mds.c:79:13: warning: incorrect type in assignment (different address spaces)
      mpc836x_mds.c:79:13:    expected unsigned char [usertype] *static [toplevel] bcsr_regs
      mpc836x_mds.c:79:13:    got void [noderef] <asn:2>*
      mpc836x_mds.c:105:3: warning: incorrect type in argument 1 (different address spaces)
      mpc836x_mds.c:105:3:    expected unsigned char volatile [noderef] [usertype] <asn:2>*addr
      mpc836x_mds.c:105:3:    got unsigned char [usertype] *
      mpc836x_mds.c:105:3: warning: incorrect type in argument 1 (different address spaces)
      mpc836x_mds.c:105:3:    expected unsigned char const volatile [noderef] [usertype] <asn:2>*addr
      mpc836x_mds.c:105:3:    got unsigned char [usertype] *
      mpc836x_mds.c:107:3: warning: incorrect type in argument 1 (different address spaces)
      mpc836x_mds.c:107:3:    expected unsigned char volatile [noderef] [usertype] <asn:2>*addr
      mpc836x_mds.c:107:3:    got unsigned char [usertype] *
      mpc836x_mds.c:107:3: warning: incorrect type in argument 1 (different address spaces)
      mpc836x_mds.c:107:3:    expected unsigned char const volatile [noderef] [usertype] <asn:2>*addr
      mpc836x_mds.c:107:3:    got unsigned char [usertype] *
      mpc836x_mds.c:131:11: warning: incorrect type in argument 1 (different address spaces)
      mpc836x_mds.c:131:11:    expected void volatile [noderef] <asn:2>*addr
      mpc836x_mds.c:131:11:    got unsigned char [usertype] *static [toplevel] bcsr_regs
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      78c77050
    • Anton Vorontsov's avatar
      powerpc/83xx: Fix sparse warnings in board files · 81b36a0b
      Anton Vorontsov authored
      This patch fixes following sparse warnings:
      
        CHECK   83xx/usb.c
      83xx/usb.c:205:5: warning: symbol 'mpc837x_usb_cfg' was not declared. Should it be static?
        CHECK   83xx/mpc831x_rdb.c
      83xx/mpc831x_rdb.c:45:13: warning: symbol 'mpc831x_rdb_init_IRQ' was not declared. Should it be static?
        CHECK   83xx/mpc832x_rdb.c
      83xx/mpc832x_rdb.c:133:13: warning: symbol 'mpc832x_rdb_init_IRQ' was not declared. Should it be static?
        CHECK   83xx/mpc832x_mds.c
      83xx/mpc832x_mds.c:68:12: warning: Using plain integer as NULL pointer
      83xx/mpc832x_mds.c:72:13: warning: incorrect type in assignment (different address spaces)
      83xx/mpc832x_mds.c:72:13:    expected unsigned char [usertype] *static [toplevel] bcsr_regs
      83xx/mpc832x_mds.c:72:13:    got void [noderef] <asn:2>*
      83xx/mpc832x_mds.c:99:11: warning: incorrect type in argument 1 (different address spaces)
      83xx/mpc832x_mds.c:99:11:    expected void volatile [noderef] <asn:2>*addr
      83xx/mpc832x_mds.c:99:11:    got unsigned char [usertype] *static [toplevel] bcsr_regs
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      81b36a0b
    • Anton Vorontsov's avatar
      powerpc: Implement get_brgfreq() and get_baudrate() stubs · a5dae76a
      Anton Vorontsov authored
      This is needed to not bother with ugly #ifdefs in the drivers.
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      a5dae76a
  2. 28 Dec, 2008 2 commits
  3. 23 Dec, 2008 11 commits
  4. 22 Dec, 2008 2 commits
  5. 21 Dec, 2008 18 commits