1
0
Fork 0
Commit Graph

721756 Commits (redonkable)

Author SHA1 Message Date
Steinar Bakkemo 92bc07308a max77818-charger: add support for setting max current draw for CHGIN/WCIN
The POWER_SUPPLY_PROP_CURRENT_MAX is used to set max current draw on CHGIN,
and the new POWER_SUPPLY_PROP_CURRENT_MAX2 (added to power-supply core for
this purpose) is used to set max current draw on WCIN.
2020-10-08 20:41:25 +02:00
Steinar Bakkemo 8ab4975d96 power-supply: add support for setting max current for USB1/USB2 separately
In order for the MAX77818 driver to be able to set the max current separately
for the two VBUS lines, a new property was added (POWER_SUPPLY_PROP_CURRENT_MAX2),
enabling POWER_SUPPLY_PROP_CURRENT_MAX to configure USB1 max current draw and
POWER_SUPPLY_PROP_CURRENT_MAX2 to configure USB2 max current respectively.
2020-10-08 20:41:25 +02:00
Steinar Bakkemo f23dba4f13 max77818-battery: add usb-phy notification handling for dynamic max current adj.
The max77818-charger driver is used to set updated max current on given
interface, flipping the FGCC bit appropriately to enable charger device config
temporarily.
2020-10-08 20:41:25 +02:00
Steinar Bakkemo 8ae4524e0c chipidea-udc: disable static vbus max current defined in kernel gadget config 2020-10-08 20:41:25 +02:00
Steinar Bakkemo 46b4ee5f6b zero-sugar dts: (max77818) enable usb charger detection and add usb-phy refs to max77818 drv 2020-10-08 20:41:25 +02:00
Lars Ivar Miljeteig 15da38e5b2 sy7636a: VCOM sysfs attributes and fix vcom read
- Remove duplicate code for reading and writing vcom voltage
- Don't interrupt resume command if vcom not set
- Add sysfs attribute for setting vcom runtime (HACK)
- Make regulator microvolts return microvolts (was millivolts)
2020-10-08 20:41:25 +02:00
Lars Ivar Miljeteig 21f6699e77 zero-sugar dts: Control SDOE and GDOE as gpios
- Set up fixed regulators for SDOE and GDOE
- MUX LCD1_DATA16 and LCD1_DATA22 as gpios
- Set up SDOE as lcd2-supply in LCDIF
- Set GDOE as always on
2020-10-08 20:41:25 +02:00
Lars Ivar Miljeteig b255585a90 video: mxsfb: Add support for second lcd supply
Searches device tree for lcd2-supply
2020-10-08 20:41:25 +02:00
Lars Ivar Miljeteig 95219396d6 sy7636a-regulator: Set on delay times 0ms 2020-10-08 20:41:24 +02:00
Lars Ivar Miljeteig 44d3feb048 zero-sugar dts: Setup pictrl for EPD PMIC 2020-10-08 20:41:24 +02:00
Lars Ivar Miljeteig 7876084d33 sy7636a-regulator: Add mutex, remove i2c-pgood, reduce timeout
- Remove i2c based PGOOD usage to simplify code
- Reduce timeout value to 100ms
- Add mutex locking for enable/disable, so they don't confuse each other
- Register GPIO before regulator, to avoid race
2020-10-08 20:41:24 +02:00
Lars Ivar Miljeteig 29e61876d2 sy7636-regulator: PGOOD gpio wait loop in regulator_enable
In order to reduce the overhead as much as possible in the wait loop, the
PGOOD GPIO is used if given in devicetree. If not, the wait loop reads the
FAULT FLAG register to obtain the PGOOD status.
2020-10-08 20:41:24 +02:00
Steinar Bakkemo d222246bc0 sy7636a regulator: add wait loop in enable op checking pwr_good before returning
In order to make sure that all the rails are valid from the EPD PMIC when
sending new frames to the EPD, a wait loop has been introduced in the
regulator enable op waiting max 500 ms for PWR GOOD signal from EPD PMIC
before returning from the enable op.

The lcdif driver can then check the return code from the regulator_enable
call and if good, all the EPD power rails are ready.
2020-10-08 20:41:24 +02:00
Steinar Bakkemo 5a7b2a5d2c zero-sugar dts: Fix misleading comments
WCIN and CHGIN swapped + typo
2020-10-08 20:41:24 +02:00
Eirik Schultz b287997c17 zero-sugar: dts: Remove prototype from model name 2020-10-08 20:41:24 +02:00
Lars Ivar Miljeteig 1cbd264407 max77818-charger: Fix warning on debug output 2020-10-08 20:41:24 +02:00
Lars Ivar Miljeteig 63408b013c input evdev: Fix ktime_t pointer confusion 2020-10-08 20:41:24 +02:00
Lars Ivar Miljeteig c938cca235 zero-sugar config: Add Resleep lock 2020-10-08 20:41:24 +02:00
Lars Ivar Miljeteig 4609272411 PM: Don't sleep for 10 seconds after wakeup
Add a mutex lock that prevents returning to sleep within
10 seconds of wake up
2020-10-08 20:41:24 +02:00
Lars Ivar Miljeteig e753c5f29b Revert "touch: put touch into sleep when digitizer is in scanning"
This reverts commit 95f5a6b816857ad5b607a1be25cb41ce7c4ff4b2.

Caused a two second delay before the touch screen would
work after using the pen. Disturbed the gestures.
2020-10-08 20:41:24 +02:00
Steinar Bakkemo e0641b5c1d max77818-charger: add dynamic debug to output read raw charge state GPIOs 2020-10-08 20:41:24 +02:00
Steinar Bakkemo 61408e240c max77818-charger: add pm_ops in order to switch/reset pinctrl state after LPSR
When going into LPSR sleep, the power is taken from the GPIO bank used for the
charge state GPIOs.

When returning from LPSR sleep, the GPIO pinctrl state has to be re-initialized
in order to enable the internal pull-up.

As the GPIOs are used as inputs and no other initialization is done during the
initial probe/init of the driver, no further action is required.
2020-10-08 20:41:23 +02:00
Steinar Bakkemo a105a67547 max77818-charger: fix related to reading charger_mode in FGCC mode
Add support for recognizing all expected read back charger_mode values.

Remove unwanted side-effect causing charger_mode to be written when
unrecognized value is read back.

When reading back charger_mode and the batery is (nearly) full,
the read back charger_mode from the charger device is not necessarily the same
as the written value due to internal states being triggered by current state
if charge. A mode 0x05 (Charger) written might yield a read back value of 0x04,
which is ok when the capacity is 100% but still an indication that the charger_mode
is set to "Charger".

Also when writing mode 0x00 (Off), the read back value might yield 0x01..0x03,
which has to be accepted as "Off".
2020-10-08 20:41:23 +02:00
Steinar Bakkemo 3e7f312291 max77818-battery: improve FGCC enable/disable (configurable delay)
Add post_fgcc_change_delay_us module parameter with default value
100000 us.

Move delay into FGCC enable/disable function.
Add delay both after FGCC enable and disable.
2020-10-08 20:41:23 +02:00
Lars Ivar Miljeteig d1d18f2cd4 Revert "bd7181x: Leave LDO1_3V3 enabled in LPSR sleep"
This reverts commit 84432a0dacd9d97390b24ed6426ef0ec0fcaa430.
2020-10-08 20:41:23 +02:00
Lars Ivar Miljeteig 5b723bf8ae bd7181x: Leave LDO1_3V3 enabled in LPSR sleep 2020-10-08 20:41:23 +02:00
Lars Ivar Miljeteig ee94fa5883 bd71815: Enable 32k out in cmos mode 2020-10-08 20:41:23 +02:00
Lars Ivar Miljeteig b888700e21 pm-imx7: LPSR: Button ON_TIME & GPIO wakeup tweaks
Differentiate SNVS button click time for LPSR sleep
and power on:
Power off -> On - 500ms
LPSR Sleep -> Wake-up - 50ms

Turn off GPIO wake-up hack when not in LPSR sleep
2020-10-08 20:41:23 +02:00
Lars Ivar Miljeteig 6e3da14a60 Revert "snvs_pwrkey: shorten ON_TIME to get a faster reaction on wake-up"
This reverts commit cc7fffa6e20c6b90568f745c51e6f33e0b91c694.

Code is moved to pm-imx7.

We want to have 500ms ON_TIME for power on, and
50ms ON_TIME from LPSR sleep
2020-10-08 20:41:23 +02:00
Lars Ivar Miljeteig 0f5a981ae8 Revert "poweroff: fix issue of poweroff turning into reset"
This reverts commit 297b2161b23d9c2f2a573674d217bca1d9cd33df.

Made long click reboot the device. Code is moved to pm-imx7
2020-10-08 20:41:23 +02:00
Lars Ivar Miljeteig a6387eca21 Revert "touchscreen: cyttsp5: Do FW update as delayed work"
This reverts commit a5410575ebbde14b55f66af5782779f31e14efe7.

Caused some partial updates, and touch didn't work for a couple of
seconds after boot when waiting for firmware update.
2020-10-08 20:41:23 +02:00
Steinar Bakkemo 03c05f6d75 max77818-battery: fix mixed up lock/write/unlock => unlock/write/lock 2020-10-08 20:41:23 +02:00
Steinar Bakkemo 15bc7fa6cd max77818-battery: set 'is_learn_value' for iavg-min register 2020-10-08 20:41:23 +02:00
Thomas Ingebretsen 6118256eba wacom_i2c: use BARREL_SWITCH_2 as BTN_STYLUS2 instead of INVERT. 2020-10-08 20:41:23 +02:00
Steinar Bakkemo adb89d3867 max77818-battery: set 'is_learn_value' flag for dpacc and dqacc registers
As the dpacc and dqacc registers change over time, these are skipped in addition
to other learned values to prevent them from being overwritten on every boot.
2020-10-08 20:41:22 +02:00
Steinar Bakkemo 889eb9a32b max77818-battery: add unlocking of extra config registers in verify_custom_patems
Unlock and re-lock of extra config registers were separated into common
functions to be used both in initial write_custom_params and new verify/write
routine.

Verification of the RelaxCfg register was also added to the new verify/write routine.
2020-10-08 20:41:22 +02:00
Steinar Bakkemo 96de964264 max77818-battery: enable default config-update mode (verify)
- Set 'verify' as the default config-update mode
- Add flag in max77818_of_property (is_learned_value) in order to prevent config
  values given in DT as initial values that is expected to change from being
  reset when device reboots and params are synced to curent DT.
2020-10-08 20:41:22 +02:00
Steinar Bakkemo 390c586d4e max77818-battery: add synchronized access to init_done flag
The power_supply get_property handler is protected by a flag indicating
when the config init/update thread is complete, but this flag was not
synchronized.

In addition to this, the flag is now cleared before the driver is registered
as a power_supply device to properly tell the power_supply initiation to wait.
2020-10-08 20:41:22 +02:00
Steinar Bakkemo 2334273c25 max77818-battery: add config_update type 'verify'
If max77818.config_update=verify, and POR is not set, all custom params will
be verified against current DT configuration and updated if required.
2020-10-08 20:41:22 +02:00
Steinar Bakkemo 4b6c4e8daa max77818-battery: add FG config update params
Add module parameter enabling complete FG config rewrite from DT or
only custom params update from DT depending on what is required.

The driver may be given either "max77818_battery.config_update=complete" or
"max77818_battery.config_update=partial" respectively through the kernel commandline
from u-boot.

Versioning scheme may then be implemented outside of the kernel if required,
and which update to apply to a given device will then be chosen by update scripts.
2020-10-08 20:41:22 +02:00
Lars Ivar Miljeteig 6ec71e28f8 zero-sugar config: Remove BRCM_TRACING
This tracing is not useful at the moment,
and clutters our logs.
2020-10-08 20:41:22 +02:00
Shawn Guo f28a1381b4 Add a dts for wifi calibration
It adds a separate dts/dtb for wifi calibration, which works with BCMDHD
wifi driver instead of BRCMFMAC.  Comparing to mainstream zero-sugar.dts,
it adds 'wifi-host' property for SDIO slot and deletes bcrmf child node
from there, as the node is only required by BRCMFMAC driver.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2020-10-08 20:41:22 +02:00
Shawn Guo 32f0dd7a25 Switch wifi driver to BCMDHD for wifi-calibration defconfig
It switches wifi driver from BRCMFMAC to BCMDHD for wifi-calibration
defconfig.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2020-10-08 20:41:22 +02:00
Shawn Guo 152f66d4a0 Copy zero-sugar_defconfig as zero-sugar-wifi-cal_defconfig
To make the change history clear, let's copy zero-sugar_defconfig as
zero-sugar-wifi-cal_defconfig with zero change first, and make necessary
changes on top of it later.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2020-10-08 20:41:22 +02:00
Shawn Guo be845f8d23 Remove wifi callibration dts and defconfig
As the first step of syncing up with mainstream dts and defconfig, let's
remove the outdated versions and add updated ones back later.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2020-10-08 20:41:22 +02:00
Shawn Guo 91c7b32118 wacom: fix ghost power on VDD_3V3_DIGITIZER
It operates on GPIO DIGITIZER_PWR_EN via regulator API to turn off
VDD_3V3_DIGITIZER for 'mem' sleep.  While at it, let's call pinctrl
functions and wacom_setup_device() for 'mem' sleep only, as they are not
required for 'standby' sleep.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2020-10-08 20:41:22 +02:00
Shawn Guo cb78912da0 poweroff: fix issue of poweroff turning into reset
To get GPIO1/2 LPSR wakeup work, we have commit 57673afb8d27 ("zero-sugar:
init SNVS for LPSR GPIO wakeup") in U-Boot to set bit 7 of SNVS register
0x48.  Unfortunately, it brings us a side effect, that is setting TOP
(Turn off System Power) bit of SNVS LPCR register results in an immeidate
reset instead of poweroff.  To work around the issue, let's clear the bit
right before setting TOP bit for powering system off.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2020-10-08 20:41:22 +02:00
Patrick Hisni Brataas f1dfb46cc0 Revert "dts/zero-sugar: enable Wifi wake-up support"
This reverts commit ef2623787555bc6f076f90b17b4fc4ed78b3f80f.

Revert this until we receive WiFi firmware that supports WoWLAN
2020-10-08 20:41:21 +02:00
Steinar Bakkemo d30c2ef150 otgcontrol: change charger_mode property string to comply with power_supply_sysfs.c
OTG_supply -> OTG Supply
2020-10-08 20:41:21 +02:00
Steinar Bakkemo caeba76d7f otgcontrol: read current GPIO state directly from sysfs attribute_show method
In order to read the current GPIO state regardless of the current controller
mode, and thus regardless of whether the GPIO irq is enabled, a direct
read of the raw GPIO state is done directly from the sysfs attribute_show
method.

Required synchronization was added to the access method to prevent race
if the attribute is read at the same time the irq handler is running.
2020-10-08 20:41:21 +02:00