1. 13 5月, 2016 2 次提交
    • T
      ARM: dts: Fix uart wakeirq on omap5 by removing WAKEUP_EN for omaps · e0e80d43
      Tony Lindgren 提交于
      The padconf register WAKEUP_EN is now handled in a generic way using
      Linux wakeirqs where pinctrl-single toggles the WAKEUP_EN bit when
      a wakeirq is enabled or disabled.
      
      At least omap5 gets confused if the WAKEUP_EN bit is set and the pin
      is not claimed as a wakeirq. The end result is that wakeirqs don't
      work properly as there is nothing handling the wakeirq.
      
      So let's just remove the WAKEUP_EN usage from dts files.
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      e0e80d43
    • T
      ARM: dts: Fix igepv5 audiopwon-gpio · 49111cd1
      Tony Lindgren 提交于
      Playing audio works on omap5-uevm, but produces an "Unhandled fault:
      imprecise external abort (0x1406) at 0x00000000" error on igepv5.
      
      Looks like the twl6040 audpwron GPIO pin is different for these
      boards. Let's fix the issue by configuring the audpwron in the
      board specific dts file.
      
      Cc: Agustí Fontquerni <af@iseebcn.com>
      Cc: Eduard Gavin <egavin@iseebcn.com>
      Cc: Enric Balletbo i Serra <eballetbo@gmail.com>
      Acked-by: Peter Ujfalusi <peter.ujflausi@ti com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      49111cd1
  2. 06 5月, 2016 1 次提交
    • N
      ARM: dts: omap5-board-common: Describe the voltage supply mapping accurately · 6b4e9418
      Nishanth Menon 提交于
      OMAP5uEVM based platforms share a similar voltage rail map. This
      should be properly described in device tree, without this regulator core
      will be unable to determine the source voltage of LDOs such as LDO9 and
      SMPS10 which could be configured for bypass depending on the voltage
      requested of them. This results in conditions such as:
      
      ldo9: bypassed regulator has no supply!
      ldo9: failed to get the current voltage(-517)
      palmas-pmic 48070000.i2c:palmas@48:palmas_pmic: failed to register
      48070000.i2c:palmas@48:palmas_pmic regulator
      
      Cc: Agustí Fontquerni <af@iseebcn.com>
      Cc: Eduard Gavin <egavin@iseebcn.com>
      Cc: Enric Balletbo i Serra <eballetbo@iseebcn.com>
      Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
      Signed-off-by: NNishanth Menon <nm@ti.com>
      [tony@atomide.com: fixed to use palmas style in-supply]
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      6b4e9418
  3. 27 4月, 2016 3 次提交
  4. 16 1月, 2016 1 次提交
  5. 12 1月, 2016 1 次提交
    • T
      ARM: dts: Fix omap5 PMIC control lines for RTC writes · af756bbc
      Tony Lindgren 提交于
      The palmas PMIC has two control lines that need to be muxed properly
      for things to work. The sys_nirq pin is used for interrupts, and msecure
      pin is used for enabling writes to some PMIC registers.
      
      Without these pins configured properly things can fail in mysterious
      ways. For example, we can't update the RTC registers on palmas PMIC
      unless the msecure pin is configured. And this is probably the reason
      why we had RTC missing from the omap5 dts file.
      
      According to "OMAP5430 ES2.0 Data Manual [Public] VErsion A (Rev. F)"
      swps052f.pdf, mux mode 1 is for sys_drm_msecure so in theory there's
      should be no need to configure it as a GPIO pin.
      
      However, it seems there are some reliability issues using the msecure
      mux mode. And the TI trees configure the msecure pin as GPIO out high
      instead.
      
      As the PMIC only cares that the msecure line is high to allow access
      to the RTC registers, let's use a GPIO hog as suggested by Nishanth
      Menon <nm@ti.com>. Also the use of the internal pull was considered
      but supposedly that may not be capable of keeping the line high in
      a noisy environment.
      
      If we ever see high security omap5 products in the mainline tree,
      those need to skip the msecure pin muxing and ignore setting the GPIO
      hog. Chances are the related pin mux registers are locked in that case
      and the msecure pin is managed by whatever software may be running in
      the ARM TrustZone.
      
      Who knows what the original intention of the msecure pin was. Maybe
      it was supposed to prevent the system time to be set back for some
      game demo modes to time out? Anyways, it seems that later PMICs like
      tps659037 have recycled this pin for "powerhold" and devices like
      beagle-x15 do not need changes to the msecure pin configuration.
      
      To avoid further confusion with TWL variant PMICs, beagle-x15 does
      not have a back-up battery for RTC palmas. Instead the mcp79410 RTC
      is used with rtc-ds1307 driver. There is a "powerhold" jumper j5
      holes near the palmas PMIC, and shorting it seems to power up
      beagle-x15 automatically. It is unknown if it also has other side
      effects to the beagle-x15 power up sequence.
      
      Cc: stable@vger.kernel.org # v4.4
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      af756bbc
  6. 01 12月, 2015 1 次提交
  7. 17 10月, 2015 2 次提交
    • T
      ARM: dts: Move most of omap5-uevm.dts to omap5-board-common.dtsi · ee9a97db
      Tony Lindgren 提交于
      Looks like thevarious omap5-uevm models and igepv5 are very similar. So let's
      create omap5-board-common.dtsi to allow fixing up things properly for mainline
      kernel to support all these.
      
      Even if we eventually end up having only PMIC + MMC + eMMC + SDIO WLAN + SATA +
      USB + HDMI configuration in the omap5-board-common.dtsi, this is the easiest
      way to add support for other boards rather than diffing various versions of
      out of tree dts files.
      
      My guess is that also omap5-sbc-t54.dts can use this, but I don't have that
      board so that will need to be dealt with later on.
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      ee9a97db
    • T
      ARM: dts: Fix WLAN regression on omap5-uevm · 0efc898a
      Tony Lindgren 提交于
      Commit 99f84cae ("ARM: dts: add wl12xx/wl18xx bindings") added
      device tree bindings for the TI WLAN SDIO on many omap variants.
      
      I recall wondering how come omap5-uevm did not have the WLAN
      added and this issue has been bugging me for a while now, and
      I finally tracked it down to a bad pinmux regression, and a missing
      deferred probe handling for the 32k clock from palmas that's
      requested by twl6040.
      
      Basically 392adaf7 ("ARM: dts: omap5-evm: Add mcspi data")
      added pin muxing for mcspi4 that conflicts with the onboard
      WLAN. While some omap5-uevm don't have WLAN populated, the
      pins are not reused for other devices. And as the SDIO bus
      should be probed, let's try to enable WLAN by default.
      
      Let's fix the regression and add the WLAN configuration as
      done for the other boards in 99f84cae ("ARM: dts: add
      wl12xx/wl18xx bindings"). And let's use the new MMC pwrseq for
      the 32k clock as suggested by Javier Martinez Canillas
      <javier@dowhile0.org>.
      
      Note that without a related deferred probe fix for twl6040,
      the 32k clock is not initialized if palmas-clk is a module
      and twl6040 is built-in.
      
      Let's also use the generic "non-removable" instead of the
      legacy "ti,non-removable" property while at it.
      
      And finally, note that omap5 seems to require WAKEUP_EN for
      the WLAN GPIO interrupt.
      
      Fixes: 392adaf7 ("ARM: dts: omap5-evm: Add mcspi data")
      Cc: Sourav Poddar <sourav.poddar@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      0efc898a
  8. 13 10月, 2015 1 次提交
  9. 17 9月, 2015 1 次提交
  10. 21 7月, 2015 1 次提交
  11. 21 5月, 2015 1 次提交
  12. 15 3月, 2015 1 次提交
    • M
      ARM: omap: convert wakeupgen to stacked domains · 7136d457
      Marc Zyngier 提交于
      OMAP4/5 has been (ab)using the gic_arch_extn to provide
      wakeup from suspend, and it makes a lot of sense to convert
      this code to use stacked domains instead.
      
      This patch does just this, updating the DT files to actually
      reflect what the HW provides.
      
      BIG FAT WARNING: because the DTs were so far lying by not
      exposing the WUGEN HW block, kernels with this patch applied
      won't have any suspend-resume facility when booted with old DTs,
      and old kernels with updated DTs won't even boot.
      
      On a platform with this patch applied, the system looks like
      this:
      
      root@bacon-fat:~# cat /proc/interrupts
                  CPU0       CPU1
       16:          0          0     WUGEN  37  gp_timer
       19:     233799     155916       GIC  27  arch_timer
       23:          0          0     WUGEN   9  l3-dbg-irq
       24:          1          0     WUGEN  10  l3-app-irq
       27:        282          0     WUGEN  13  omap-dma-engine
       44:          0          0  4ae10000.gpio  13  DMA
      294:          0          0     WUGEN  20  gpmc
      297:        506          0     WUGEN  56  48070000.i2c
      298:          0          0     WUGEN  57  48072000.i2c
      299:          0          0     WUGEN  61  48060000.i2c
      300:          0          0     WUGEN  62  4807a000.i2c
      301:          8          0     WUGEN  60  4807c000.i2c
      308:       2439          0     WUGEN  74  OMAP UART2
      312:        362          0     WUGEN  83  mmc2
      313:        502          0     WUGEN  86  mmc0
      314:         13          0     WUGEN  94  mmc1
      350:          0          0      PRCM  pinctrl, pinctrl
      406:   35155709          0       GIC 109  ehci_hcd:usb1
      407:          0          0     WUGEN   7  palmas
      409:          0          0     WUGEN 119  twl6040
      410:          0          0   twl6040   5  twl6040_irq_ready
      411:          0          0   twl6040   0  twl6040_irq_th
      IPI0:          0          1  CPU wakeup interrupts
      IPI1:          0          0  Timer broadcast interrupts
      IPI2:      95334     902334  Rescheduling interrupts
      IPI3:          0          0  Function call interrupts
      IPI4:        479        648  Single function call interrupts
      IPI5:          0          0  CPU stop interrupts
      IPI6:          0          0  IRQ work interrupts
      IPI7:          0          0  completion interrupts
      Err:          0
      Acked-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      Link: https://lkml.kernel.org/r/1426088629-15377-8-git-send-email-marc.zyngier@arm.comSigned-off-by: NJason Cooper <jason@lakedaemon.net>
      7136d457
  13. 15 7月, 2014 3 次提交
  14. 03 6月, 2014 2 次提交
  15. 05 3月, 2014 1 次提交
  16. 23 10月, 2013 2 次提交
  17. 22 10月, 2013 2 次提交
  18. 21 10月, 2013 1 次提交
  19. 12 10月, 2013 2 次提交
  20. 08 10月, 2013 2 次提交
  21. 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
  22. 20 6月, 2013 1 次提交
  23. 19 6月, 2013 5 次提交