1. 16 Dec, 2011 11 commits
    • Keshava Munegowda's avatar
      MFD: OMAP: USB: Runtime PM support · 1e7fe1a9
      Keshava Munegowda authored
      The usbhs core driver does not enable/disable the interface and
      functional clocks directly, These clocks are handled by runtime pm,
      hence instead of the clock enable/disable, the runtime pm APIS are
      used. however,the optional clocks and port clocks are handled by
      the usbhs core.
      
      Dependency:
      This patch is dependent on this series:
      [PATCH 0/5 v13 or latest version] omap: usb: host: Runtime PM preparation
      for EHCI and OHCI drivers.
      
      Validation performed:
      The global suspend/resume of EHCI and OHCI is validated on
      OMAP3430 sdp board with this patch combined with the series:
      [PATCH 0/5 v13 or latest version] omap: usb: host: Runtime PM preparation
      for EHCI and OHCI drivers.
      Signed-off-by: default avatarKeshava Munegowda <keshava_mgowda@ti.com>
      Reviewed-by: default avatarKevin Hilman <khilman@ti.com>
      Reviewed-by: default avatarPartha Basak <parthab@india.ti.com>
      Acked-by: default avatarFelipe Balbi <balbi@ti.com>
      Acked-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      1e7fe1a9
    • Keshava Munegowda's avatar
      ARM: OMAP: USBHOST: Replace usbhs core driver APIs by Runtime pm APIs · 6c984b06
      Keshava Munegowda authored
      The ehci and ohci drivers does not use the APIs of the usbhs
      core driver; the runtime pm APIs are used for clock
      enable/disable. Since usbhs is parent platform device of the
      ehci and ohci devices, the runtime apis indirectly uses the
      usb hs core device as input parameter to for clock functions.
      Signed-off-by: default avatarKeshava Munegowda <keshava_mgowda@ti.com>
      Reviewed-by: default avatarKevin Hilman <khilman@ti.com>
      Reviewed-by: default avatarPartha Basak <parthab@india.ti.com>
      Acked-by: default avatarFelipe Balbi <balbi@ti.com>
      Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      6c984b06
    • Keshava Munegowda's avatar
      ARM: OMAP: USB: device name change for the clk names of usbhs · a6d3a662
      Keshava Munegowda authored
      device name usbhs clocks are changed from
      usbhs-omap.0 to usbhs_omap; this is because
      in the hwmod registration the device name is set
      as usbhs_omap; The redudant clock nodes are removed.
      Signed-off-by: default avatarKeshava Munegowda <keshava_mgowda@ti.com>
      Reviewed-by: default avatarPartha Basak <parthab@india.ti.com>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      a6d3a662
    • Keshava Munegowda's avatar
      ARM: OMAP: USB: register hwmods of usbhs · 50b2a9bd
      Keshava Munegowda authored
      The hwmod structure of usb_host_hs  and usb_tll are
      retrieved and registered with omap device
      Signed-off-by: default avatarKeshava Munegowda <keshava_mgowda@ti.com>
      Reviewed-by: default avatarPartha Basak <parthab@india.ti.com>
      [paul@pwsan.com: this patch is merged with the understanding that the
       authors will send patches for the next merge window to remove the
       multiple hwmods-per-omap_device]
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      50b2a9bd
    • Shubhrajyoti D's avatar
      ARM: OMAP3+: hwmod data: Add the default clockactivity for I2C · 3e47dc6a
      Shubhrajyoti D authored
      For I2C clockactivity field is added for OMAP3 and OMAP4 that defines how the
      interface (OCP) and functional (system) clocks behave when the I2C module is
      idle.
      
      The configuration of the clock activity bit field (per TRM) is as follows:
      0x0: Both clocks can be cut off
      0x1: Only OCP clock must be kept active; system clock
           can be cut off
      0x3: Both clocks must be kept active
      0x2: Only system clock must be kept active; OCP clock
           can be cut off
      
      The patch makes 0x2(CLOCKACT_TEST_ICLK) the default for OMAP3 and OMAP4.
      Signed-off-by: default avatarShubhrajyoti D <shubhrajyoti@ti.com>
      Signed-off-by: default avatarJon Hunter <jon-hunter@ti.com>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      3e47dc6a
    • Paul Walmsley's avatar
      ARM: OMAP3: hwmod data: disable multiblock reads on MMC1/2 on OMAP34xx/35xx <= ES2.1 · a52e2ab6
      Paul Walmsley authored
      The HSMMC1/HSMMC2 host controllers on OMAP34xx and
      OMAP3503/3515/3525/3530 chips at ES levels prior to 3.0 can't do multiple
      block reads[1].  Mark the hwmod data appropriately.
      
      Reported by Dave Hylands <dhylands@gmail.com> and Steve Sakoman
      <sakoman@gmail.com>.  Thanks to Steve Sakoman for further help
      testing this patch.
      
      1. See for example Advisory 2.1.1.128 "MMC: Multiple Block Read
         Operation Issue" in _OMAP3530/3525/3515/3503 Silicon Errata_
         Revision F (October 2010) (SPRZ278F), available from
         http://focus.ti.com/lit/er/sprz278f/sprz278f.pdfSigned-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Dave Hylands <dhylands@gmail.com>
      Cc: Steve Sakoman <sakoman@gmail.com>
      a52e2ab6
    • Benoit Cousson's avatar
      ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP4 · af88fa9a
      Benoit Cousson authored
      Following 2 hwmod structures are added
      1. usb_host_hs
           The hwmod of usbhs with uhh, ehci and ohci base addresses
           functional clock and ehci, ohci irqs
      
      2. usb_tll_hs
            hwmod of usbhs with the TLL base address and irq.
      Signed-off-by: default avatarBenoit Cousson <b-cousson@ti.com>
      [keshava_mgowda@ti.com: rebased to kernel version 3.0, added workarounds for
       hardware issues]
      Signed-off-by: default avatarKeshava Munegowda <keshava_mgowda@ti.com>
      Reviewed-by: default avatarPartha Basak <parthab@india.ti.com>
      [paul@pwsan.com: fixed multi-line comments, fixed whitespace, fixed S-o-b
       notes, removed spurious TLL->L3 interface]
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      af88fa9a
    • Keshava Munegowda's avatar
      ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP3 · de231388
      Keshava Munegowda authored
      Following 2 hwmod structures are added
          1. usb_host_hs
               The hwmod of usbhs with uhh, ehci and ohci base addresses
               functional clock and ehci, ohci irqs
      
          2. usb_tll_hs
                hwmod of usbhs with the TLL base address and irq.
      Signed-off-by: default avatarKeshava Munegowda <keshava_mgowda@ti.com>
      Reviewed-by: default avatarPartha Basak <parthab@india.ti.com>
      [paul@pwsan.com: fixed whitespace; removed nonexistent TLL->L3 interface;
       added master & slave for L4 CORE->TLL interface; skip registration on
       3430ES1; fixed multiline comment style; updated to apply on Tony's cleanup
       branch; rebased]
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      de231388
    • Kyle Manna's avatar
      ARM: OMAP: hwmod data: Add support for AM35xx UART4/ttyO3 · 4bf90f65
      Kyle Manna authored
      Add hwmod support to enable access to UART4 of the AM35xx series of
      chips.  The UART4 device referenced from the TRM will show up as ttyO3.
      
      This was tested on an AM3505.
      Signed-off-by: default avatarKyle Manna <kyle.manna@fuel7.com>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      4bf90f65
    • Aaro Koskinen's avatar
      ARM: OMAP: hwmod data: fix the panic on Nokia RM-680 during boot · 91a36bdb
      Aaro Koskinen authored
      Booting the Linux kernel on Nokia RM-680 board has been broken since
      2.6.39 due to the following:
      
      [    0.217193] omap_hwmod: timer12: enabling
      [    0.221435] Unhandled fault: external abort on non-linefetch (0x1028) at 0xfa304010
      [    0.229431] Internal error: : 1028 [#1] SMP
      [    0.233825] Modules linked in:
      [    0.237060] CPU: 0    Not tainted  (3.2.0-rc4-dirty #46)
      [    0.242645] PC is at _update_sysc_cache+0x2c/0x7c
      [    0.247589] LR is at _enable+0x1b0/0x2d8
      [    0.251708] pc : [<c0026108>]    lr : [<c0026df4>]    psr: 40000013
      [    0.251708] sp : ef831f40  ip : ef82f380  fp : c06ac0c0
      [    0.263702] r10: 00000000  r9 : c05dfb2c  r8 : ef830000
      [    0.269165] r7 : c0027494  r6 : 00000000  r5 : 00000000  r4 : c06608b0
      [    0.276000] r3 : fa304000  r2 : 00000010  r1 : c0661e28  r0 : c06608b0
      [    0.282806] Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
      [    0.290405] Control: 10c5387d  Table: 80004019  DAC: 00000017
      [    0.296417] Process swapper (pid: 1, stack limit = 0xef8302f8)
      [    0.302520] Stack: (0xef831f40 to 0xef832000)
      [    0.307098] 1f40: c06608b0 c0026df4 c06ad094 c0035120 00000001 c06608b0 00000000 c0027530
      [    0.315612] 1f60: c0027604 ef830000 c05dfb2c c06608b0 c0642ac0 c0025bf0 c0621234 c062120c
      [    0.324127] 1f80: c0621738 00000013 ef830000 c05dfb6c c0621234 c0008688 c062c880 c009eadc
      [    0.332641] 1fa0: 0000005f 00000000 c0621738 35390013 00000000 00000000 00000000 0000019a
      [    0.341156] 1fc0: c0681cf4 c0621234 c062120c c0621738 00000013 00000000 00000000 00000000
      [    0.349670] 1fe0: 00000000 c05d5298 00000000 c05d5200 c0014fa8 c0014fa8 ffff0000 ffff0000
      [    0.358184] [<c0026108>] (_update_sysc_cache+0x2c/0x7c) from [<c0026df4>] (_enable+0x1b0/0x2d8)
      [    0.367248] [<c0026df4>] (_enable+0x1b0/0x2d8) from [<c0027530>] (_setup+0x9c/0x170)
      [    0.375335] [<c0027530>] (_setup+0x9c/0x170) from [<c0025bf0>] (omap_hwmod_for_each+0x38/0x58)
      [    0.384307] [<c0025bf0>] (omap_hwmod_for_each+0x38/0x58) from [<c05dfb6c>] (omap_hwmod_setup_all+0x40/0xa0)
      [    0.394409] [<c05dfb6c>] (omap_hwmod_setup_all+0x40/0xa0) from [<c0008688>] (do_one_initcall+0x34/0x180)
      [    0.404296] [<c0008688>] (do_one_initcall+0x34/0x180) from [<c05d5298>] (kernel_init+0x98/0x144)
      [    0.413452] [<c05d5298>] (kernel_init+0x98/0x144) from [<c0014fa8>] (kernel_thread_exit+0x0/0x8)
      [    0.422576] Code: e3130c01 1590304c 0590304c 119320b2 (07932002)
      [    0.429046] ---[ end trace 1b75b31a2719ed1c ]---
      [    0.433959] Kernel panic - not syncing: Attempted to kill init!
      
      Timer 12 is not necessarily available on non-GP devices (see e.g.
      http://marc.info/?l=linux-omap&m=129433066521102&w=2), so it should be
      registered only on GP OMAPs. With this change it's again possible to
      boot RM-680 into the shell. Tested with 3.2-rc4.
      Signed-off-by: default avatarAaro Koskinen <aaro.koskinen@nokia.com>
      [paul@pwsan.com: changed subject line]
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      91a36bdb
    • Felipe Contreras's avatar
      ARM: OMAP: hwmod data: fix iva and mailbox hwmods for OMAP 3 · 7c17c770
      Felipe Contreras authored
      Seems the commit 7e89098c was overly aggressive in adding iva and mailbox
      hwmods so now they are registered twice.
      
      ------------[ cut here ]------------
      WARNING: at arch/arm/mach-omap2/omap_hwmod.c:1959 omap_hwmod_register+0x104/0x12c()
      omap_hwmod: iva: _register returned -22
      Modules linked in:
      [<c0012aa4>] (unwind_backtrace+0x0/0xec) from [<c002f970>] (warn_slowpath_common+0x4c/0x64)
      [<c002f970>] (warn_slowpath_common+0x4c/0x64) from [<c002fa08>] (warn_slowpath_fmt+0x2c/0x3c)
      [<c002fa08>] (warn_slowpath_fmt+0x2c/0x3c) from [<c02fdb4c>] (omap_hwmod_register+0x104/0x12c)
      [<c02fdb4c>] (omap_hwmod_register+0x104/0x12c) from [<c02fbb44>] (omap3_init_early+0x1c/0x28)
      [<c02fbb44>] (omap3_init_early+0x1c/0x28) from [<c02f9580>] (setup_arch+0x6b8/0x7a4)
      [<c02f9580>] (setup_arch+0x6b8/0x7a4) from [<c02f754c>] (start_kernel+0x6c/0x264)
      [<c02f754c>] (start_kernel+0x6c/0x264) from [<80008040>] (0x80008040)
      ---[ end trace 1b75b31a2719ed1c ]---
      ------------[ cut here ]------------
      WARNING: at arch/arm/mach-omap2/omap_hwmod.c:1959 omap_hwmod_register+0x104/0x12c()
      omap_hwmod: mailbox: _register returned -22
      Modules linked in:
      [<c0012aa4>] (unwind_backtrace+0x0/0xec) from [<c002f970>] (warn_slowpath_common+0x4c/0x64)
      [<c002f970>] (warn_slowpath_common+0x4c/0x64) from [<c002fa08>] (warn_slowpath_fmt+0x2c/0x3c)
      [<c002fa08>] (warn_slowpath_fmt+0x2c/0x3c) from [<c02fdb4c>] (omap_hwmod_register+0x104/0x12c)
      [<c02fdb4c>] (omap_hwmod_register+0x104/0x12c) from [<c02fbb44>] (omap3_init_early+0x1c/0x28)
      [<c02fbb44>] (omap3_init_early+0x1c/0x28) from [<c02f9580>] (setup_arch+0x6b8/0x7a4)
      [<c02f9580>] (setup_arch+0x6b8/0x7a4) from [<c02f754c>] (start_kernel+0x6c/0x264)
      [<c02f754c>] (start_kernel+0x6c/0x264) from [<80008040>] (0x80008040)
      ---[ end trace 1b75b31a2719ed1d ]---
      Signed-off-by: default avatarFelipe Contreras <felipe.contreras@gmail.com>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      7c17c770
  2. 09 Dec, 2011 29 commits