1. 04 Nov, 2019 2 commits
  2. 26 Oct, 2019 2 commits
  3. 24 Oct, 2019 2 commits
    • Olof Johansson's avatar
      Merge tag 'omap-for-v5.5/soc-signed' of... · cd474464
      Olof Johansson authored
      Merge tag 'omap-for-v5.5/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/soc
      
      SoC changes for omaps for v5.5
      
      This series of changes contains SoC related clean-up, and some PM
      improvments:
      
      - SoC clean-up to drop unused enable_wakeup and disable_wakeup,
        simplify clkdm_clock_enable and disable, and few sparse fixes
      
      - Drop pdata-quirks for TI bluetooth, this is now handled by a serdev
        driver
      
      - A series of PM changes to re-enable core oswr (open switch retention)
        for omap4 that got disabled earlier because of various gpio-omap issues
        that have been fixed earlier this year. We want to do this in small
        steps for the pwrdm_set_logic_retst() changes so we can identify the
        domain in case of unexpected issues
      
      - A series of PM changes to configure voltage controller for droid4.
        Eventually the voltage controller configuration should use device tree,
        but we want to get things working first. These changes bring down
        down the idle power consumption for droid4 with LCD blanked, WLAN
        connected, USB disabled, and modem disabled to about 32 to 35mW from
        about 39 to 45 mW
      
      * tag 'omap-for-v5.5/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (24 commits)
        ARM: OMAP2+: Remove duplicated include from pmic-cpcap.c
        ARM: OMAP2+: pdata-quirks: drop TI_ST/KIM support
        ARM: OMAP2+: make omap44xx_sha0_hwmod and omap44xx_l3_main_2__des static
        ARM: OMAP2+: prm44xx: make prm_{save,restore}_context static
        ARM: OMAP2+: make dra7xx_sha0_hwmod static
        ARM: OMAP2+: do not export am43xx_control functions
        ARM: OMAP2+: Configure voltage controller for cpcap to low-speed
        ARM: OMAP2+: Configure voltage controller for retention
        ARM: OMAP2+: Make some functions static
        ARM: OMAP2+: Simplify code for clkdm_clock_enable and disable
        ARM: OMAP2+: Drop unused enable_wakeup and disable_wakeup
        ARM: OMAP2+: Initialize voltage controller for omap4
        ARM: OMAP2+: Allow core oswr for omap4
        ARM: OMAP2+: Allow per oswr for omap4
        ARM: OMAP2+: Configure voltage controller for cpcap
        ARM: OMAP2+: Update 4430 voltage controller operating points
        ARM: OMAP2+: Remove bogus warnings for machines without twl PMIC
        ARM: OMAP2+: Drop bogus wkup domain oswr setting
        ARM: OMAP2+: Remove unused wakeup_cpu
        ARM: dts: Use level interrupt for omap4 & 5 wlcore
        ...
      
      Link: https://lore.kernel.org/r/pull-1571934890-285615@atomide.comSigned-off-by: default avatarOlof Johansson <olof@lixom.net>
      cd474464
    • Olof Johansson's avatar
      Merge tag 'arm-soc/for-5.5/soc' of https://github.com/Broadcom/stblinux into arm/soc · becbe95e
      Olof Johansson authored
      This pull request contains Broadcom ARM-based SoCs machine/Kconfig
      updates for 5.5, please pull the following:
      
      - Stefan adds a machine descriptor for BCM2711 (Raspberry Pi 4) which
        sets up the appropriate DMA aperture for the Pi peripherals to work
        (1GB window at 3GB offset)
      
      - Ben fixes a number of sparse warnings for the Kona SMC code and the
        BCM2836 SMP code
      
      * tag 'arm-soc/for-5.5/soc' of https://github.com/Broadcom/stblinux:
        ARM: bcm: fix missing __iomem in bcm_kona_smc.c
        ARM: bcm: include local platsmp.h for bcm2836_smp_ops
        ARM: bcm: Add support for BCM2711 SoC
      
      Link: https://lore.kernel.org/r/20191023212814.30622-4-f.fainelli@gmail.comSigned-off-by: default avatarOlof Johansson <olof@lixom.net>
      becbe95e
  4. 23 Oct, 2019 2 commits
  5. 22 Oct, 2019 1 commit
  6. 21 Oct, 2019 5 commits
  7. 19 Oct, 2019 1 commit
  8. 18 Oct, 2019 3 commits
    • Tony Lindgren's avatar
      ARM: OMAP2+: Configure voltage controller for cpcap to low-speed · c145649b
      Tony Lindgren authored
      Looks like the i2c timings in high-speed mode do not work properly to
      allow us to clear I2C_DISABLE bits for PRM_VOLTCTRL register and the
      device reboots if I2C_DISABLE bits are cleared.
      
      Let's configure the voltage controller i2c for low-speed mode as done in
      the Motorola Mapphone Android Linux kernel. This saves us about 7mW of
      power during retention compared to the high-speed values.
      
      Let's also change the low-speed warning to pr_info about relying on the
      bootloader configured low-speed values like we currently do.
      
      Cc: Merlijn Wajer <merlijn@wizzup.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Sebastian Reichel <sre@kernel.org>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      c145649b
    • Tony Lindgren's avatar
      ARM: OMAP2+: Configure voltage controller for retention · 71065d3f
      Tony Lindgren authored
      Similar to existing omap3_vc_set_pmic_signaling(), let's add omap4
      specific omap4_vc_set_pmic_signaling(). This allows the configured
      devices to enable voltage controller for retention later on during
      init.
      
      Cc: Merlijn Wajer <merlijn@wizzup.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Sebastian Reichel <sre@kernel.org>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      71065d3f
    • YueHaibing's avatar
      ARM: OMAP2+: Make some functions static · 821093e1
      YueHaibing authored
      Fix sparse warnings:
      
      arch/arm/mach-omap2/pmic-cpcap.c:29:15: warning: symbol 'omap_cpcap_vsel_to_uv' was not declared. Should it be static?
      arch/arm/mach-omap2/pmic-cpcap.c:43:15: warning: symbol 'omap_cpcap_uv_to_vsel' was not declared. Should it be static?
      arch/arm/mach-omap2/pmic-cpcap.c:93:15: warning: symbol 'omap_max8952_vsel_to_uv' was not declared. Should it be static?
      arch/arm/mach-omap2/pmic-cpcap.c:107:15: warning: symbol 'omap_max8952_uv_to_vsel' was not declared. Should it be static?
      arch/arm/mach-omap2/pmic-cpcap.c:140:15: warning: symbol 'omap_fan535503_vsel_to_uv' was not declared. Should it be static?
      arch/arm/mach-omap2/pmic-cpcap.c:155:15: warning: symbol 'omap_fan535508_vsel_to_uv' was not declared. Should it be static?
      arch/arm/mach-omap2/pmic-cpcap.c:173:15: warning: symbol 'omap_fan535503_uv_to_vsel' was not declared. Should it be static?
      arch/arm/mach-omap2/pmic-cpcap.c:192:15: warning: symbol 'omap_fan535508_uv_to_vsel' was not declared. Should it be static?
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Signed-off-by: default avatarYueHaibing <yuehaibing@huawei.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      821093e1
  9. 17 Oct, 2019 10 commits
  10. 16 Oct, 2019 12 commits
    • Florian Fainelli's avatar
      Merge tag 'tags/bcm2835-soc-next-2019-10-15' into soc/next · 72c63002
      Florian Fainelli authored
      This pull request introduces the machine board code for the BCM2711,
      which is placed on the Raspberry Pi 4.
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      72c63002
    • Ben Dooks's avatar
      ARM: bcm: fix missing __iomem in bcm_kona_smc.c · b47879aa
      Ben Dooks authored
      Fix the following sparse warnings from a missing __iomem
      in __bcm_kona_smc() function by adding __iomem attriubte.
      
      arch/arm/mach-bcm/bcm_kona_smc.c:143:21: warning: incorrect type in initializer (different address spaces)
      arch/arm/mach-bcm/bcm_kona_smc.c:143:21:    expected unsigned int [usertype] *args
      arch/arm/mach-bcm/bcm_kona_smc.c:143:21:    got void [noderef] <asn:2> *static [toplevel] [assigned] bcm_smc
      _buffer
      arch/arm/mach-bcm/bcm_kona_smc.c:149:9: warning: incorrect type in argument 2 (different address spaces)
      arch/arm/mach-bcm/bcm_kona_smc.c:149:9:    expected void volatile [noderef] <asn:2> *addr
      arch/arm/mach-bcm/bcm_kona_smc.c:149:9:    got unsigned int [usertype] *
      arch/arm/mach-bcm/bcm_kona_smc.c:150:9: warning: incorrect type in argument 2 (different address spaces)
      arch/arm/mach-bcm/bcm_kona_smc.c:150:9:    expected void volatile [noderef] <asn:2> *addr
      arch/arm/mach-bcm/bcm_kona_smc.c:150:9:    got unsigned int [usertype] *
      arch/arm/mach-bcm/bcm_kona_smc.c:151:9: warning: incorrect type in argument 2 (different address spaces)
      arch/arm/mach-bcm/bcm_kona_smc.c:151:9:    expected void volatile [noderef] <asn:2> *addr
      arch/arm/mach-bcm/bcm_kona_smc.c:151:9:    got unsigned int [usertype] *
      arch/arm/mach-bcm/bcm_kona_smc.c:152:9: warning: incorrect type in argument 2 (different address spaces)
      arch/arm/mach-bcm/bcm_kona_smc.c:152:9:    expected void volatile [noderef] <asn:2> *addr
      arch/arm/mach-bcm/bcm_kona_smc.c:152:9:    got unsigned int [usertype] *[assigned] args
      Signed-off-by: default avatarBen Dooks <ben.dooks@codethink.co.uk>
      Acked-by: default avatarScott Branden <scott.branden@broadcom.com>
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      b47879aa
    • Ben Dooks's avatar
      ARM: bcm: include local platsmp.h for bcm2836_smp_ops · d67fa6ca
      Ben Dooks authored
      Include platsmp.h for the definition of bcm2836_smp_ops to fix
      the following warning:
      
      arch/arm/mach-bcm/platsmp.c:334:29: warning: symbol 'bcm2836_smp_ops' was not declared. Should it be static?
      Signed-off-by: default avatarBen Dooks <ben.dooks@codethink.co.uk>
      Acked-by: default avatarScott Branden <scott.branden@broadcom.com>
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      d67fa6ca
    • Tony Lindgren's avatar
      ARM: OMAP2+: Simplify code for clkdm_clock_enable and disable · 21a18129
      Tony Lindgren authored
      We can make clkdm_clk_enable() usable for clkdm_hwmod_enable() by
      dropping the unused clock check, and drop _clkdm_clk_hwmod_enable().
      
      And we can make clkdm_hwmod_disable() call clkdm_hwmod_disable() and drop
      the duplicate code in clkdm_hwmod_disable().
      
      Cc: Tero Kristo <t-kristo@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      21a18129
    • Tony Lindgren's avatar
      ARM: OMAP2+: Drop unused enable_wakeup and disable_wakeup · 645ad6f3
      Tony Lindgren authored
      We're only using static _enable_wakeup(), the others have no callers.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      645ad6f3
    • Tony Lindgren's avatar
      ARM: OMAP2+: Initialize voltage controller for omap4 · 48738437
      Tony Lindgren authored
      We're missing initializing the PRM_VOLTCTRL register for voltage
      controller. Let's add omap4_vc_init_pmic_signaling() similar to what we
      have for omap3 and enable voltage control for retention.
      
      This brings down droid4 power consumption with mainline kernel to somewhere
      between 40 and 50mW from about 70 to 80 mW for the whole device when
      running idle with LCD and backlight off, WLAN connected, and USB and modem
      modules unloaded.
      
      Mostly just rmmod of omap2430, ohci-platform and phy-mapphone-mdm6600 are
      needed to idle USB and shut down the modem. And after that measuring idle
      power consumption can be done with reading sysfs entry periodically
      for /sys/class/power_supply/battery/power_avg. Then rmmod of phy-cpcap-usb
      will save few more mW, but will disable the debug UART.
      
      Note that sometimes CM_L4PER_UART1_CLKCTRL at 0x4a009540 does not idle
      properly after unloading of phy-mapphone-mdm6600.
      
      Cc: Merlijn Wajer <merlijn@wizzup.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Sebastian Reichel <sre@kernel.org>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      48738437
    • Tony Lindgren's avatar
      ARM: OMAP2+: Allow core oswr for omap4 · caf8c87d
      Tony Lindgren authored
      Commit f74297dd ("ARM: OMAP2+: Make sure LOGICRETSTATE bits are not
      cleared") disabled oswr (open switch retention) for per and core domains
      as various GPIO related issues were noticed if the bootloader had
      configured the bits for LOGICRETSTATE for per and core domains.
      
      With the recent gpio-omap fixes, mostly related to commit e6818d29
      ("gpio: gpio-omap: configure edge detection for level IRQs for idle
      wakeup"), things now behave for enabling core oswr for omap4.
      
      Cc: Merlijn Wajer <merlijn@wizzup.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Sebastian Reichel <sre@kernel.org>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      caf8c87d
    • Tony Lindgren's avatar
      ARM: OMAP2+: Allow per oswr for omap4 · 623429d5
      Tony Lindgren authored
      Commit f74297dd ("ARM: OMAP2+: Make sure LOGICRETSTATE bits are not
      cleared") disabled oswr (open switch retention) for per and core domains
      as various GPIO related issues were noticed if the bootloader had
      configured the bits for LOGICRETSTATE for per and core domains.
      
      With the recent gpio-omap fixes, mostly related to commit e6818d29
      ("gpio: gpio-omap: configure edge detection for level IRQs for idle
      wakeup"), things now behave for enabling per oswr for omap4.
      
      Cc: Merlijn Wajer <merlijn@wizzup.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Sebastian Reichel <sre@kernel.org>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      623429d5
    • Tony Lindgren's avatar
      ARM: OMAP2+: Configure voltage controller for cpcap · d44fa156
      Tony Lindgren authored
      We can configure voltage controller for cpcap with the data available in
      Motorola Mapphone Android Linux kernel. Let's add it so we can have droid4
      behave the same way for voltage controller as other omap4 devices and save
      some power when idle.
      
      Note that we're now using high-speed i2c mode, looks like the Motorola
      kernel had a typo using 0x200 instead of 200 for the timings which may
      caused it to not work properly.
      
      Also note that in the long run, this should just become dts data for a
      voltage controller device driver. But let's get things working first to
      make it possible to test further changes easily.
      
      Cc: Merlijn Wajer <merlijn@wizzup.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Sebastian Reichel <sre@kernel.org>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      d44fa156
    • Tony Lindgren's avatar
      ARM: OMAP2+: Update 4430 voltage controller operating points · 32236a84
      Tony Lindgren authored
      The current operating points in the mainline kernel are out of date for
      at least omap4430. Let's use the values from Motorola Mapphone Linux
      Android kernel as presumably those have been verified.
      
      Note that these are only used by voltage controller, they do not enable
      any new operating points for cpufreq. Looking at the recent omap3 cpufreq
      related patches posted, that's a totally separate series of patches.
      
      Cc: Merlijn Wajer <merlijn@wizzup.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Sebastian Reichel <sre@kernel.org>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      32236a84
    • Tony Lindgren's avatar
      ARM: OMAP2+: Remove bogus warnings for machines without twl PMIC · ccd36945
      Tony Lindgren authored
      In general we want to see a quiet dmesg output with no errors or warnings
      unless something is really wrong and needs attention. We currently see
      these bogus warnings on boot:
      
      twl: not initialized
      twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for 1375000 Vs max 1316660
      twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for 1375000 Vs max 1316660
      twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for 1375000 Vs max 1316660
      twl6030_uv_to_vsel:OUT OF RANGE! non mapped vsel for 1375000 Vs max 1316660
      ...
      
      Let's avoid these by checking if a device tree node for cpcap PMIC exists.
      
      Cc: Merlijn Wajer <merlijn@wizzup.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Sebastian Reichel <sre@kernel.org>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      ccd36945
    • Tony Lindgren's avatar
      ARM: OMAP2+: Drop bogus wkup domain oswr setting · dfc065aa
      Tony Lindgren authored
      The wkup domain is always on and does not have logic off setting. This
      got accidentally added by commit f74297dd ("ARM: OMAP2+: Make sure
      LOGICRETSTATE bits are not cleared") but is harmless.
      
      Cc: Merlijn Wajer <merlijn@wizzup.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Sebastian Reichel <sre@kernel.org>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      dfc065aa