1. 03 9月, 2013 1 次提交
  2. 29 8月, 2013 1 次提交
  3. 28 8月, 2013 4 次提交
    • S
      usb: musb: am335x: add second port to beagle bone · 2ae847a1
      Sebastian Andrzej Siewior 提交于
      So I assumed that Beagle bone has only one USB port in host mode because
      the micro USB connector had an USB-UART there. I was wrong a little. The
      second port runs on host mode, but the micro USB plug is connected to an
      internal HUB with two ports: one to the USB-UART and one to musb
      instance one.
      For that reason, this patch enables both ports: the primary in device
      mode only and the second in host mode only.
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      2ae847a1
    • S
      usb: musb: am335x-evm: Do not remove the session bit HOST-only mode · 781f1798
      Sebastian Andrzej Siewior 提交于
      This is what I observe:
      On the first connect, the musb starts with DEVCTL.Session set. On
      disconnect, musb_core calls try_idle. That functions removes the Session
      bit signalizing that the session is over (something that only in OTG is
      required). A new device, that is plugged, is no longer recognized.
      I've setup a timer and checked the DEVCTL register and I haven't seen a
      change in VBus and I saw the B-Device bit set. After setting the IDDIG
      into A mode and forcing the device to behave like a A device, I didn't
      see a change.
      Neither VBUS goes to 0b11 nor does a session start request comes.
      In the TI-v3.2 kernel they skip to call musb_platform_try_idle() in the
      OTG_STATE_A_WAIT_BCON state while not in OTG mode.
      Since the second port hast a standard A plug the patch changes the port
      to run in host mode only and skips the timer which would remove
      DEVCTL.Session so we can reconnect to another device later.
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      781f1798
    • S
      usb: usb: dsps: update code according to the binding document · c031a7d4
      Sebastian Andrzej Siewior 提交于
      This relfects the code and dts requires changes due to recent .dts
      binding updates:
      - use mg prefix for the Metor Graphics specific attributes
      - use power in mA not in mA/2 as specifed in the USB2.0 specification
      - remove the child node for USB. This is driver specific on won't be
        reflected in the device tree
      - use the "mentor" prefix instead of "mg".
      - use "dr_mode" istead of "mg,port-mode" for the port mode. The former
        is used by a few other drivers.
      
      Cc: Rob Herring <rob.herring@calxeda.com>
      Cc: Pawel Moll <pawel.moll@arm.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Stephen Warren <swarren@wwwdotorg.org>
      Cc: Ian Campbell <ian.campbell@citrix.com>
      Cc: devicetree@vger.kernel.org
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      c031a7d4
    • S
      usb: musb: dsps fix the typo in reg-names of the dma node · 3b6394b4
      Sebastian Andrzej Siewior 提交于
      I forgot to separete the different names in the reg-names property. This
      didn't cause anything to fail because the driver does not use the names
      and simply relies on the order of the memory offsets in reg.
      This patch fixes this in case it is used later.
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      3b6394b4
  4. 22 8月, 2013 1 次提交
    • S
      ARM: tegra: always enable USB VBUS regulators · 30ca2226
      Stephen Warren 提交于
      This fixes a regression exposed during the merge window by commit
      9f310ded "ARM: tegra: fix VBUS regulator GPIO polarity in DT"; namely that
      USB VBUS doesn't get turned on, so USB devices are not detected. This
      affects the internal USB port on TrimSlice (i.e. the USB->SATA bridge, to
      which the SSD is connected) and the external port(s) on Seaboard/
      Springbank and Whistler.
      
      The Tegra DT as written in v3.11 allows two paths to enable USB VBUS:
      
      1) Via the legacy DT binding for the USB controller; it can directly
         acquire a VBUS GPIO and activate it.
      
      2) Via a regulator for VBUS, which is referenced by the new DT binding
         for the USB controller.
      
      Those two methods both use the same GPIO, and hence whichever of the
      USB controller and regulator gets probed first ends up owning the GPIO.
      In practice, the USB driver only supports path (1) above, since the
      patches to support the new USB binding are not present until v3.12:-(
      
      In practice, the regulator ends up being probed first and owning the
      GPIO. Since nothing enables the regulator (the USB driver code is not
      yet present), the regulator ends up being turned off. This originally
      caused no problem, because the polarity in the regulator definition was
      incorrect, so attempting to turn off the regulator actually turned it
      on, and everything worked:-(
      
      However, when testing the new USB driver code in v3.12, I noticed the
      incorrect polarity and fixed it in commit 9f310ded "ARM: tegra: fix VBUS
      regulator GPIO polarity in DT". In the context of v3.11, this patch then
      caused the USB VBUS to actually turn off, which broke USB ports with VBUS
      control. I got this patch included in v3.11-rc1 since it fixed a bug in
      device tree (incorrect polarity specification), and hence was suitable to
      be included early in the rc series. I evidently did not test the patch at
      all, or correctly, in the context of v3.11, and hence did not notice the
      issue that I have explained above:-(
      
      Fix this by making the USB VBUS regulators always enabled. This way, if
      the regulator owns the GPIO, it will always be turned on, even if there
      is no USB driver code to request the regulator be turned on. Even
      ignoring this bug, this is a reasonable way to configure the HW anyway.
      
      If this patch is applied to v3.11, it will cause a couple pretty trivial
      conflicts in tegra20-{trimslice,seaboard}.dts when creating v3.12, since
      the context right above the added lines changed in patches destined for
      v3.12.
      Reported-by: NKyle McMartin <kmcmarti@redhat.com>
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      30ca2226
  5. 14 8月, 2013 1 次提交
  6. 13 8月, 2013 1 次提交
  7. 09 8月, 2013 2 次提交
    • S
      usb: musb dma: add cppi41 dma driver · 9b3452d1
      Sebastian Andrzej Siewior 提交于
      This driver is currently used by musb' cppi41 couter part. I may merge
      both dma engine user of musb at some point but not just yet.
      
      The driver seems to work in RX/TX mode in host mode, tested on mass
      storage. I increaed the size of the TX / RX transfers and waited for the
      core code to cancel a transfers and it seems to recover.
      
      v2..3:
      - use mall transfers on RX side and check data toggle.
      - use rndis mode on tx side so we haveon interrupt for 4096 transfers.
      - remove custom "transferred" hack and use dmaengine_tx_status() to
        compute the total amount of data that has been transferred.
      - cancel transfers and reclaim descriptors
      
      v1..v2:
      - RX path added
      - dma mode 0 & 1 is working
      - device tree nodes re-created.
      
      Cc: Vinod Koul <vinod.koul@intel.com>
      Cc: Dan Williams <djbw@fb.com>
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      9b3452d1
    • S
      usb: musb: dsps: use proper child nodes · 97238b35
      Sebastian Andrzej Siewior 提交于
      This moves the two instances from the big node into two child nodes. The
      glue layer ontop does almost nothing.
      
      There is one devices containing the control module for USB (2) phy,
      (2) usb and later the dma engine. The usb device is the "glue device"
      which contains the musb device as a child. This is what we do ever since.
      
      The new file musb_am335x is just here to prob the new bus and populate
      child devices.
      
      There are a lot of changes to the dsps file as a result of the changes:
      
      - musb_core_offset
        This is gone. The device tree provides memory ressources information
        for the device there is no need to "fix" things
      
      - instances
        This is gone as well. If we have two instances then we have have two
        child enabled nodes in the device tree. For instance the SoC in beagle
        bone has two USB instances but only one has been wired up so there is
        no need to load and init the second instance since it won't be used.
      
      - dsps_glue is now per glue device
        In the past there was one of this structs but with an array of two and
        each instance accessed its variable depending on the platform device
        id.
      
      - no unneeded copy of structs
        I do not know why struct dsps_musb_wrapper is copied but it is not
        necessary. The same goes for musb_hdrc_platform_data which allocated
        on demand and then again by platform_device_add_data(). One copy is
        enough.
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      97238b35
  8. 05 8月, 2013 3 次提交
  9. 30 7月, 2013 3 次提交
    • N
      ARM: dts: omap5-uevm: update optional/unused regulator configurations · bd3c5544
      Nishanth Menon 提交于
      commit e00c27ef
      (ARM: dts: OMAP5: Add Palmas MFD node and regulator nodes)
      introduced regulator entries for OMAP5uEVM.
      
      However, The regulator information is based on an older temporary
      pre-production board variant and does not reflect production board
      750-2628-XXX boards.
      
      The following optional/unused regulators can be updated:
      
      - SMPS9 supplies TWL6040 over VDDA_2v1_AUD. This regulator needs to be
      enabled only when audio is active. Since it does not come active by
      default, it does not require "always-on" or "boot-on".
      
      - LDO2 and LDO8 do not go to any peripheral or connector on the board.
      Further, these unused regulators should have been 2.8V for LDO2 and
      3.0V for LDO8. Mark these LDOs as disabled in the dts until needed.
      Reported-by: NMarc Jüttner <m-juettner@ti.com>
      Signed-off-by: NNishanth Menon <nm@ti.com>
      Acked-by: NJ Keerthy <j-keerthy@ti.com>
      Acked-by: NBenoit Cousson <benoit.cousson@gmail.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      bd3c5544
    • N
      ARM: dts: omap5-uevm: fix regulator configurations mandatory for SoC · e18235a6
      Nishanth Menon 提交于
      commit e00c27ef
      (ARM: dts: OMAP5: Add Palmas MFD node and regulator nodes)
      introduced regulator entries for OMAP5uEVM.
      
      However, The regulator information is based on an older temporary
      pre-production board variant and does not reflect production board
      750-2628-XXX boards.
      
      The following fixes are hence mandatory to ensure right voltage is
      supplied to key OMAP5 SoC voltage rails:
      
      - LDO1 supplies VDDAPHY_CAM which is OMAP5's vdda_csiporta/b/c. This
      can only be supplied at 1.5V or 1.8V and we currently supply 2.8V.
      
      To prevent any potential device damage risk, use the specified
      1.5V-1.8V supply.
      
      Remove 'always-on' and 'boot-on' settings here as it is
      a 'on need' supply to SoC IP and is not enabled by PMIC by
      default at boot.
      
      - LDO3 supplies Low Latency Interface(LLI) hardware module which is a
      special hardware to communicate with Modem. However since uEVM is
      not setup by default for this communication, this should be disabled
      by default.
      
      Further, vdda_lli is supposed to be 1.5V and not 3V.
      
      - LDO4 supplies VDDAPHY_DISP which is vdda_dsiporta/c/vdda_hdmi
      
      This can only be supplied at 1.5V or 1.8V and we currently
      supply 2.2V.
      
      To prevent any potential device damage risk, use the specified
      1.5V-1.8V supply.
      
      Remove 'always-on' and 'boot-on' settings here as it is a 'on need'
      supply to SoC IP and is not enabled by PMIC by default at boot.
      
      - LDO6 supplies the board specified VDDS_1V2_WKUP supply going to
      ldo_emu_wkup/vdds_hsic. To stay within the SoC specification supply
      1.2V instead of 1.5V.
      
      - LDO7 supplies VDD_VPP which is vpp1. This is currently configured for
      1.5V which as per data manual "A pulse width of 1000 ns and an amplitude
      of 2V is required to program each eFuse bit. Otherwise, VPP1 must not
      be supplied".
      
      So, fix the voltage to 2V. and disable the supply since we have no plans
      of programming efuse bits - it can only be done once - in factory.
      
      Further it is not enabled by default by PMIC so, 'boot-on' must be
      removed, and the 'always-on' needs to be removed to achieve pulsing
      if efuse needs to be programmed.
      
      - LDO9 supplies the board specified vdds_sdcard supply going within SoC
      specification of 1.8V or 3.0V. Further the supply is controlled by
      switch enabled by REGEN3. So, introduce REGEN3 and map sdcard slot to
      be powered by LDO9. Remove 'always-on' allowing the LDO to be disabled
      on need basis.
      Reported-by: NMarc Jüttner <m-juettner@ti.com>
      Signed-off-by: NNishanth Menon <nm@ti.com>
      Acked-by: NJ Keerthy <j-keerthy@ti.com>
      Acked-by: NBenoit Cousson <benoit.cousson@gmail.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      e18235a6
    • N
      ARM: dts: omap5-uevm: document regulator signals used on the actual board · 3709d323
      Nishanth Menon 提交于
      commit e00c27ef
      (ARM: dts: OMAP5: Add Palmas MFD node and regulator nodes)
      introduced regulator entries for OMAP5uEVM.
      
      However, currently we use the Palmas regulator names which is used for
      different purposes on uEVM. Document the same based on 750-2628-XXX
      boards - which is meant to be supported by this dts.
      Reported-by: NMarc Jüttner <m-juettner@ti.com>
      Signed-off-by: NNishanth Menon <nm@ti.com>
      Acked-by: NJ Keerthy <j-keerthy@ti.com>
      Acked-by: NBenoit Cousson <benoit.cousson@gmail.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      3709d323
  10. 29 7月, 2013 3 次提交
  11. 23 7月, 2013 1 次提交
    • S
      ARM: dts: STi: Fix pinconf setup for STiH416 serial2 · 334ab91d
      Srinivas Kandagatla 提交于
      This patch fixes a bug in pinctrl setup of serial2 device, Some of the
      pins in the pinctrl node of serial2 do not belong to that
      pin-controller. This patch divides them in the pins into there
      respective pin controller nodes.
      
      Without this patch serial on StiH416-B2000 Board will not work as it
      fails with:
      
      "st-pinctrl pin-controller-rear.3: failed to get pin(99) name
      st-pinctrl pin-controller-rear.3: maps: function serial2 group serial2-0
      num 4
      pinconfig core: failed to register map default (3): no group/pin given"
      Signed-off-by: NSrinivas Kandagatla <srinivas.kandagatla@st.com>
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      334ab91d
  12. 22 7月, 2013 2 次提交
  13. 19 7月, 2013 2 次提交
  14. 15 7月, 2013 6 次提交
  15. 04 7月, 2013 1 次提交
  16. 03 7月, 2013 1 次提交
  17. 28 6月, 2013 1 次提交
  18. 27 6月, 2013 5 次提交
  19. 26 6月, 2013 1 次提交