1. 30 Dec, 2008 15 commits
    • Julia Lawall's avatar
      powerpc/85xx: Add local_irq_restore in error handling code · 870029a6
      Julia Lawall authored
      There is a call to local_irq_restore in the normal exit case, so it would
      seem that there should be one on an error return as well.
      
      The semantic patch that makes this change is as follows:
      (http://www.emn.fr/x-info/coccinelle/)
      
      // <smpl>
      @@
      expression l;
      expression E,E1,E2;
      @@
      
      local_irq_save(l);
      ... when != local_irq_restore(l)
          when != spin_unlock_irqrestore(E,l)
          when any
          when strict
      (
      if (...) { ... when != local_irq_restore(l)
                     when != spin_unlock_irqrestore(E1,l)
      +   local_irq_restore(l);
          return ...;
      }
      |
      if (...)
      +   {local_irq_restore(l);
          return ...;
      +   }
      |
      spin_unlock_irqrestore(E2,l);
      |
      local_irq_restore(l);
      )
      // </smpl>
      Signed-off-by: default avatarJulia Lawall <julia@diku.dk>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      870029a6
    • Kumar Gala's avatar
      powerpc/85xx: Add SMP support to MPC8572 DS · 8bd3947a
      Kumar Gala authored
      Enable SMP support on the MPC8572 DS reference board.
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      8bd3947a
    • Kumar Gala's avatar
      powerpc/85xx: Enable SMP support · 00c4b95c
      Kumar Gala authored
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      00c4b95c
    • Becky Bruce's avatar
      powerpc/86xx: Update 8641hpcn dts file to match latest u-boot · 47f80a32
      Becky Bruce authored
      The newest revision of uboot reworks the memory map for this
      board to look more like the 85xx boards.  Also, some regions
      which were far larger than the actual hardware have been scaled
      back to match the board, and the imaginary second flash bank has
      been removed. Rapidio and PCI are mutually exclusive in the hardware,
      and they now are occupying the same space in the address map.
      The Rapidio node is commented out of the .dts since PCI is the
      common use case.
      Signed-off-by: default avatarBecky Bruce <beckyb@kernel.crashing.org>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      47f80a32
    • Anton Vorontsov's avatar
      powerpc/qe: Fix few build errors with CONFIG_QUICC_ENGINE=n · be11d3b3
      Anton Vorontsov authored
      Some 83xx boards were not ready for the optional QUICC Engine support.
      
      This patch fixes following build errors:
      
      arch/powerpc/platforms/built-in.o: In function `flush_disable_caches':
      (.text+0xb308): undefined reference to `par_io_data_set'
      arch/powerpc/platforms/built-in.o: In function `flush_disable_caches':
      (.text+0xb334): undefined reference to `par_io_data_set'
      arch/powerpc/platforms/built-in.o: In function `flush_disable_caches':
      (.text+0xb408): undefined reference to `qe_ic_get_high_irq'
      arch/powerpc/platforms/built-in.o: In function `flush_disable_caches':
      (.text+0xb478): undefined reference to `qe_ic_get_low_irq'
      arch/powerpc/platforms/built-in.o: In function `mpc832x_spi_init':
      mpc832x_rdb.c:(.init.text+0x574c): undefined reference to `par_io_config_pin'
      mpc832x_rdb.c:(.init.text+0x5768): undefined reference to `par_io_config_pin'
      mpc832x_rdb.c:(.init.text+0x5784): undefined reference to `par_io_config_pin'
      mpc832x_rdb.c:(.init.text+0x57a0): undefined reference to `par_io_config_pin'
      mpc832x_rdb.c:(.init.text+0x57bc): undefined reference to `par_io_config_pin'
      arch/powerpc/platforms/built-in.o:mpc832x_rdb.c:(.init.text+0x57d8): more undefined references to `par_io_config_pin' follow
      arch/powerpc/platforms/built-in.o: In function `mpc836x_rdk_init_IRQ':
      mpc836x_rdk.c:(.init.text+0x5e84): undefined reference to `qe_ic_init'
      arch/powerpc/platforms/built-in.o: In function `mpc836x_rdk_setup_arch':
      mpc836x_rdk.c:(.init.text+0x5f10): undefined reference to `qe_reset'
      make: *** [.tmp_vmlinux1] Error 1
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      be11d3b3
    • Anton Vorontsov's avatar
      powerpc/83xx: Fix few build errors with CONFIG_QUICC_ENGINE=n · 20cfb41b
      Anton Vorontsov authored
      Some 83xx boards were not ready for the optional QUICC Engine support.
      
      This patch fixes following build errors:
      
      arch/powerpc/platforms/built-in.o: In function `flush_disable_caches':
      (.text+0xb308): undefined reference to `par_io_data_set'
      arch/powerpc/platforms/built-in.o: In function `flush_disable_caches':
      (.text+0xb334): undefined reference to `par_io_data_set'
      arch/powerpc/platforms/built-in.o: In function `flush_disable_caches':
      (.text+0xb408): undefined reference to `qe_ic_get_high_irq'
      arch/powerpc/platforms/built-in.o: In function `flush_disable_caches':
      (.text+0xb478): undefined reference to `qe_ic_get_low_irq'
      arch/powerpc/platforms/built-in.o: In function `mpc832x_spi_init':
      mpc832x_rdb.c:(.init.text+0x574c): undefined reference to `par_io_config_pin'
      mpc832x_rdb.c:(.init.text+0x5768): undefined reference to `par_io_config_pin'
      mpc832x_rdb.c:(.init.text+0x5784): undefined reference to `par_io_config_pin'
      mpc832x_rdb.c:(.init.text+0x57a0): undefined reference to `par_io_config_pin'
      mpc832x_rdb.c:(.init.text+0x57bc): undefined reference to `par_io_config_pin'
      arch/powerpc/platforms/built-in.o:mpc832x_rdb.c:(.init.text+0x57d8): more undefined references to `par_io_config_pin' follow
      arch/powerpc/platforms/built-in.o: In function `mpc836x_rdk_init_IRQ':
      mpc836x_rdk.c:(.init.text+0x5e84): undefined reference to `qe_ic_init'
      arch/powerpc/platforms/built-in.o: In function `mpc836x_rdk_setup_arch':
      mpc836x_rdk.c:(.init.text+0x5f10): undefined reference to `qe_reset'
      make: *** [.tmp_vmlinux1] Error 1
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      20cfb41b
    • Anton Vorontsov's avatar
      powerpc/fsl_pci: Fix sparse warnings · c9dadffb
      Anton Vorontsov authored
      This patch fixes following sparse warnings:
      
        CHECK   fsl_pci.c
      fsl_pci.c:32:13: warning: symbol 'setup_pci_atmu' was not declared. Should it be static?
      fsl_pci.c:89:13: warning: symbol 'setup_pci_cmd' was not declared. Should it be static?
      fsl_pci.c:133:12: warning: symbol 'fsl_pcie_check_link' was not declared. Should it be static?
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      c9dadffb
    • Anton Vorontsov's avatar
      powerpc/83xx: Add USB Host support for MPC8360E-RDK boards · 25adde18
      Anton Vorontsov authored
      Simply add the usb node to support USB host on the MPC8360E-RDK
      boards.
      
      Currently U-Boot doesn't fill the clock-frequency property for
      timer nodes, so for now we have to fill it manually.
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      25adde18
    • 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 10 commits