Commit Graph

2313 Commits

Author SHA1 Message Date
Wyon Bi b65cee7aa1 drm/bridge: max96745: Add tx_rate switch for twisted-pair cable
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I02af1ca0325a0eeb41023f56d7d747da17afab99
2023-05-29 10:17:12 +08:00
Wyon Bi 23bc9d31c3 mfd: max96745: Add pwdnb GPIO support
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I1e19c365325196c3d6ff652079db2f816f31f4ad
2023-05-09 20:21:44 +08:00
Guochun Huang 88c283d19b mfd: max96755f: Add extcon support
Change-Id: I012272dc93b03b4604fa74229e02a02f0c83d49d
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
2023-04-21 15:15:14 +08:00
Guochun Huang ae15a01230 mfd: max96755f: Add patgen_mode debug node
Enable pattern:
echo 2 > /sys/bus/i2c/devices/x-0040/patgen_mode

Disable pattern:
echo 0 > /sys/bus/i2c/devices/x-0040/patgen_mode

Change-Id: I5bf970210b14f93599a36c78703e53252546da5b
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
2023-04-21 15:14:57 +08:00
Wyon Bi 9ba7ca42d5 mfd: max96745: Add extcon support
In order to set extcon state early at boot.

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: If4abed7d97bb53e7f73219b600a03b22a54409a6
2023-04-03 11:19:25 +08:00
Tao Huang cc17504307 Merge tag 'android12-5.10-2023-02_r1' of https://android.googlesource.com/kernel/common
android12-5.10 February 2023 release 1

Artifacts:
  https://ci.android.com/builds/submitted/9611440/kernel_aarch64/latest

* tag 'android12-5.10-2023-02_r1': (5560 commits)
  ANDROID: GKI: Enable ARM64_ERRATUM_2454944
  ANDROID: dma-ops: Add restricted vendor hook
  ANDROID: arm64: Work around Cortex-A510 erratum 2454944
  ANDROID: mm/vmalloc: Add override for lazy vunmap
  ANDROID: cpuidle-psci: Fix suspicious RCU usage
  ANDROID: ABI: update allowed list for galaxy
  FROMGIT: f2fs: add sysfs nodes to set last_age_weight
  FROMGIT: f2fs: fix wrong calculation of block age
  ANDROID: struct io_uring ABI preservation hack for 5.10.162 changes
  ANDROID: fix up struct task_struct ABI change in 5.10.162
  ANDROID: add flags variable back to struct proto_ops
  UPSTREAM: io_uring: pass in EPOLL_URING_WAKE for eventfd signaling and wakeups
  UPSTREAM: eventfd: provide a eventfd_signal_mask() helper
  UPSTREAM: eventpoll: add EPOLL_URING_WAKE poll wakeup flag
  UPSTREAM: Revert "proc: don't allow async path resolution of /proc/self components"
  UPSTREAM: Revert "proc: don't allow async path resolution of /proc/thread-self components"
  UPSTREAM: net: remove cmsg restriction from io_uring based send/recvmsg calls
  UPSTREAM: task_work: unconditionally run task_work from get_signal()
  UPSTREAM: signal: kill JOBCTL_TASK_WORK
  UPSTREAM: io_uring: import 5.15-stable io_uring
  ...

Change-Id: I2b16474d6e3a91f1d702486ec6d1565a7bc310e3

Conflicts:
	Documentation/ABI/testing/configfs-usb-gadget-uac2
	Documentation/usb/gadget-testing.rst
	Makefile
	arch/arm/boot/dts/rk3288-evb-act8846.dts
	arch/arm64/mm/Makefile
	drivers/dma-buf/dma-buf.c
	drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
	drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
	drivers/gpu/drm/rockchip/analogix_dp-rockchip.c
	drivers/gpu/drm/rockchip/rockchip_drm_vop.c
	drivers/mmc/core/mmc.c
	drivers/pci/controller/dwc/pcie-designware-host.c
	drivers/pinctrl/pinctrl-rockchip.c
	drivers/regulator/core.c
	drivers/usb/dwc3/ep0.c
	drivers/usb/dwc3/gadget.c
	drivers/usb/gadget/function/f_hid.c
	drivers/usb/gadget/function/f_uac1.c
	drivers/usb/gadget/function/f_uac2.c
	drivers/usb/gadget/function/u_audio.c
	drivers/usb/gadget/function/u_audio.h
	drivers/usb/gadget/function/u_uac2.h
	drivers/usb/host/xhci.h
	drivers/usb/storage/unusual_uas.h
	drivers/usb/typec/altmodes/displayport.c
	include/linux/page_ext.h
	mm/cma.c
	mm/page_ext.c
	sound/core/pcm_dmaengine.c
	sound/soc/codecs/hdmi-codec.c
	include/linux/stmmac.h
	sound/drivers/aloop.c
	drivers/pci/controller/dwc/pcie-designware.h
2023-03-14 09:44:51 +08:00
Wyon Bi c1f870a930 Revert "mfd: Add support for Maxim MAX96776"
This reverts commit 4b9ba5d213.

Delete this unused driver.

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I2ba96feb73c5ea98d3945478eb90773efe4eed0d
2022-11-23 09:48:37 +08:00
Wyon Bi 9cd192293f Revert "mfd: Add support for Maxim MAX96752F"
This reverts commit ad3d90b0ba.

Delete this unused driver.

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: Ie3f71ea9cfb53751e7f1370ca95acfe9726e9696
2022-11-23 09:45:23 +08:00
Uwe Kleine-König 52ae9c1599 mfd: t7l66xb: Drop platform disable callback
[ Upstream commit 128ac294e1b437cb8a7f2ff8ede1cde9082bddbe ]

None of the in-tree instantiations of struct t7l66xb_platform_data
provides a disable callback. So better don't dereference this function
pointer unconditionally. As there is no user, drop it completely instead
of calling it conditional.

This is a preparation for making platform remove callbacks return void.

Fixes: 1f192015ca ("mfd: driver for the T7L66XB TMIO SoC")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20220530192430.2108217-3-u.kleine-koenig@pengutronix.de
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-08-21 15:16:09 +02:00
Guochun Huang 9218ea9567 mfd: MAX96745: add support line fault monitor status report
GMSL2 serializers include a novel line-fault detection circuit that
detects and reports open-circuit, short-to-battery, short-to-ground,
and line-to-line short. The line-fault monitor is disabled by default,
and configuration options are available through registers. Its status
can be read by register.

Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
Change-Id: Ie548d25a8492f0ff883cc777c3a14049d25dda9a
2022-08-19 09:44:37 +08:00
Guochun Huang 13c7ab8585 mfd: MAX96755F: add support line fault monitor status report
GMSL2 serializers include a novel line-fault detection circuit that
detects and reports open-circuit, short-to-battery, short-to-ground,
and line-to-line short. The line-fault monitor is disabled by default,
and configuration options are available through registers. Its status
can be read by register.

Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
Change-Id: Iad44a7d2a56992f2906376b9a07e708c8f37c05b
2022-08-19 09:44:37 +08:00
Guochun Huang 4b9ba5d213 mfd: Add support for Maxim MAX96776
The MAX96776/MAX96778 deserializers convert singleor
dual-link GMSL™ serial input to embedded DisplayPort
(eDP) v1.4a. 600MHz PCLK capability and decompression
of VESA 3:1 DSC v1.1 enable transport of 4K (UHD),
24-bit, 60fps video over a single coax or twisted pair
link. The MAX96776/MAX96778 also send and receive
sidechannel and peripheral control data to enable
full-duplex single-wire transmission of video and
bidirectional data.

Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
Change-Id: I3c07fc1053ae6080cb1cca1bfb9bca5fb38bb563
2022-08-10 10:19:27 +08:00
Wyon Bi 38fbb24eeb drm/bridge: maxim-max96745: Check training state
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I6f68dc0b155cd6e8a5ac314449ffe0f263f64046
2022-08-02 08:34:46 +00:00
Wyon Bi 69882bde7f mfd: max96752f: Add support for enable GPIO
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I6fc6933f037d7f8cc53e3c8c49233a14c9301a1f
2022-07-25 10:27:30 +08:00
Wyon Bi 332f5e008a mfd: max96752f: Fix display error during system suspend/resume
Remove regcache function.

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I17c17b8f6d49a6de0248932e4d579bcd4bd623ae
2022-06-29 19:11:19 +08:00
Wyon Bi 293bc21e4e mfd: max96752f: mark 0x0050 & 0x0073 register as non-volatile
Fixes: 4f64073a92 ("mfd: MAX96752F: add stream id for each link")
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I8a7bbce97363120fadf3bc2d4f27be7d02cc50aa
2022-06-07 10:07:13 +08:00
Guochun Huang 81e27b972c mfd: MAX96745: disable remote control-channel link on this link
there can be multiple SerDes applications on the same I2C BUS.
the serializer can attach multiple deiserializers which have
the same I2C slave device address, to avoid I2C communication
conflicts, driver should disable remote control-channel link
after accessing.

Change-Id: I099caf597835cc34f34231231fbaddf2c5d03288
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
2022-05-30 09:36:30 +08:00
Guochun Huang 4f64073a92 mfd: MAX96752F: add stream id for each link
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
Change-Id: I7e512351db58050c8550100c7a79c046dda5ea4e
2022-05-30 09:36:30 +08:00
Guochun Huang b564d3921a mfd: Add support for Maxim MAX96755F
The MAX96755F convert MIPI DSI 4-lane input port
data to GMSL2 high-speed serial link protocol.
They also send and receive control channel and
peripheral control data, enabling bidirectional
transmission of video and data over cables in
excess of 15 meters in length.

Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
Change-Id: I540bd4ca61ae6b6e77cb9635567690fe3367a281
2022-05-30 09:34:37 +08:00
Wyon Bi 83451397e8 mfd: Add support for Maxim MAX96745
The MAX96745 and MAX96747 convert DP1.4 and
eDP1.4a to single or dual GMSL2 serial. They also send
and receive control channel and peripheral control data,
enabling bidirectional transmission of video and data over
cables in excess of 15 meters in length.

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I59a338b0ef092bde1d1a444600acd92348cc9443
2022-05-18 19:18:35 +08:00
Wyon Bi ad3d90b0ba mfd: Add support for Maxim MAX96752F
The MAX96752F/MAX96754F deserializers convert a
single- or dual-link GMSL2 serial input to single or dual
OLDI. They also send and receive side-channel and
peripheral control data, enabling full-duplex, single wire,
bidirectional transmission of video and data over 15
meter cables.

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: Ibac9f881bd832e96a8606b9f6492e80f8d2494c6
2022-05-18 19:18:35 +08:00
Tao Huang f6909c028f Merge tag 'ASB-2021-12-05_12-5.10' of https://android.googlesource.com/kernel/common
https://source.android.com/security/bulletin/2021-12-01
CVE-2021-33909
CVE-2021-38204
CVE-2021-0961

* tag 'ASB-2021-12-05_12-5.10': (3010 commits)
  ANDROID: workqueue: export symbol of the function wq_worker_comm()
  ANDROID: GKI: Update symbols to symbol list
  ANDROID: vendor_hooks: Add hooks for binder proc transaction
  ANDROID: GKI: Add symbols abi for USB IP kernel modules.
  ANDROID: GKI: Fix file mode on mtk abi file
  UPSTREAM: erofs: fix deadlock when shrink erofs slab
  ANDROID: init_task: Init android vendor and oem data
  UPSTREAM: sched/core: Mitigate race cpus_share_cache()/update_top_cache_domain()
  ANDROID: Update symbol list for mtk
  UPSTREAM: erofs: fix unsafe pagevec reuse of hooked pclusters
  UPSTREAM: erofs: remove the occupied parameter from z_erofs_pagevec_enqueue()
  UPSTREAM: usb: dwc3: gadget: Fix null pointer exception
  ANDROID: fips140: support "evaluation testing" builds via build.sh
  FROMGIT: sched/scs: Reset task stack state in bringup_cpu()
  ANDROID: dma-buf: heaps: fix dma-buf heap pool pages stat
  ANDROID: ABI: Add several spi_mem related symbols
  UPSTREAM: spi: spi-mem: add spi_mem_dtr_supports_op()
  ANDROID: gki_defconfig: enable CONFIG_SPI_MEM
  ANDROID: ABI: Add several iio related symbols
  ANDROID: ABI: Update symbol list for IMX
  ...

Change-Id: I09cddc92fa34553b944e62cc5cbbba94a84e5437

Conflicts:
	arch/arm/boot/dts/rk322x.dtsi
	arch/arm64/boot/dts/rockchip/rk3399.dtsi
	drivers/dma-buf/heaps/system_heap.c
	drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
	drivers/gpu/drm/rockchip/rockchip_drm_vop.c
	drivers/gpu/drm/rockchip/rockchip_lvds.c
	drivers/gpu/drm/rockchip/rockchip_vop_reg.c
	drivers/mtd/nand/spi/core.c
	drivers/pci/controller/pcie-rockchip-host.c
	drivers/soc/rockchip/Kconfig
	drivers/usb/dwc3/core.c
	drivers/usb/dwc3/core.h
2021-12-14 17:09:02 +08:00
shengfei Xu 52d9400791 mfd: rk806: update rk806 IRQ table
Signed-off-by: shengfei Xu <xsf@rock-chips.com>
Change-Id: Ib00435e710946c6b510c76122ed43ce0b134fe32
2021-12-13 15:02:53 +08:00
shengfei Xu a5a0435814 regulator: rk806: optimize regulator code
update:
1. use gpiod_get_value() instead of gpio_get_value()
2. updtae the rk806 register offset

Signed-off-by: shengfei Xu <xsf@rock-chips.com>
Change-Id: I55b7dfdde06dabe3f8ab6285366059930f282a42
2021-12-01 16:49:07 +08:00
shengfei Xu 5a55442ff1 regulator: rk806: support shutdown/reset function
Signed-off-by: shengfei Xu <xsf@rock-chips.com>
Change-Id: I3fecda310463dd183bb85adc0671f356ff81cd1a
2021-11-23 10:28:51 +08:00
Wyon Bi 358218bef5 drm/rockchip: Add rk628 display driver
Change-Id: I7be65c5ed58df2be2cf2cfe819feacf8a610e880
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2021-10-19 10:36:14 +08:00
Shunqing Chen 4d66e9d27f clk/rockchip/regmap: rk628: compatible with MCU mode
Signed-off-by: Shunqing Chen <csq@rock-chips.com>
Change-Id: I85f2c97ac23c585fc136eb5efa4e01fde979f883
2021-10-18 16:56:49 +08:00
Joseph Chen 1df11488e9 mfd: rk808: support power off system in syscore shutdown
For PMIC that power off supplies by write register via i2c bus,
it's better to do power off at syscore shutdown.

Because when run to kernel's "pm_power_off" call, i2c may has
been stopped or PMIC may not be able to get i2c transfer while
there are too many devices are competiting.

This patch effects on PMIC: RK808/RK818/RK816, not including RK805
which power off system by pull up pmic sleep pin in ATF.

The i2c maybe stopped before pm_power_off() is called, which
results in the PMIC power off failure issue.
Moving PMIC power off operation to syscore shutdown is better.

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: Ib43827ebd49059719b8899f90a696b6c32a6ddd1
2021-10-18 14:47:06 +08:00
shengfei Xu 94a2726fb4 mfd: rk806: Add RK806 support
The RK806 are a Power Management IC (PMIC) for multimedia
and handheld devices. They contains the following components:
- Regulators
- Pinctrl
- PowerKey

Signed-off-by: shengfei Xu <xsf@rock-chips.com>
Change-Id: Iee9c521d52c53752286238c93b39afb5eb32e9b2
2021-10-12 14:50:23 +08:00
Wyon Bi ff9626ac6c mfd: Drop unused rk610/rk616 driver
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I76c73d0c565b04261a099373c7a9200d6058b8ec
2021-09-26 14:26:14 +08:00
Axel Lin cfb8173a23 regulator: rt5033: Fix n_voltages settings for BUCK and LDO
[ Upstream commit 6549c46af8551b346bcc0b9043f93848319acd5c ]

For linear regulators, the n_voltages should be (max - min) / step + 1.

Buck voltage from 1v to 3V, per step 100mV, and vout mask is 0x1f.
If value is from 20 to 31, the voltage will all be fixed to 3V.
And LDO also, just vout range is different from 1.2v to 3v, step is the
same. If value is from 18 to 31, the voltage will also be fixed to 3v.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Reviewed-by: ChiYuan Huang <cy_huang@richtek.com>
Link: https://lore.kernel.org/r/20210627080418.1718127-1-axel.lin@ingics.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-08-08 09:05:22 +02:00
Linus Walleij a8a2e506ea power: supply: ab8500: Fix an old bug
commit f1c74a6c07e76fcb31a4bcc1f437c4361a2674ce upstream.

Trying to get the AB8500 charging driver working I ran into a bit
of bitrot: we haven't used the driver for a while so errors in
refactorings won't be noticed.

This one is pretty self evident: use argument to the macro or we
end up with a random pointer to something else.

Cc: stable@vger.kernel.org
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Marcus Cooper <codekipper@gmail.com>
Fixes: 297d716f62 ("power_supply: Change ownership from driver to core")
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-07-19 09:45:00 +02:00
Joseph Chen 93120310c3 power: battery/charger: move battery/charger drivers to power/supply
Change-Id: I70092715368a9d5c7241258a97dc51e55659499b
Signed-off-by: Shengfei Xu <xsf@rock-chips.com>
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
2021-06-28 19:06:43 +08:00
Tao Huang 582f79266f Merge remote branch 'android12-5.10' of https://android.googlesource.com/kernel/common
* android12-5.10: (2274 commits)
  FROMGIT: mm: slub: move sysfs slab alloc/free interfaces to debugfs
  ANDROID: gki - CONFIG_NET_SCH_FQ=y
  ANDROID: GKI: Kconfig.gki: Add GKI_HIDDEN_ETHERNET_CONFIGS
  FROMLIST: media: Kconfig: Fix DVB_CORE can't be selected as module
  ANDROID: Update ABI and symbol list
  Revert "net: usb: cdc_ncm: don't spew notifications"
  ANDROID: Fips 140: move fips symbols entirely in own list
  ANDROID: core of xt_IDLETIMER send_nl_msg support
  ANDROID: start to re-add xt_IDLETIMER send_nl_msg support
  ANDROID: add fips140.ko symbols to module ABI
  ANDROID: inject correct HMAC digest into fips140.ko at build time
  ANDROID: crypto: fips140 - perform load time integrity check
  FROMLIST: crypto: shash - stop comparing function pointers to avoid breaking CFI
  ANDROID: arm64: module: preserve RELA sections for FIPS140 integrity selfcheck
  ANDROID: arm64: simd: omit capability check in may_use_simd()
  ANDROID: kbuild: lto: permit the use of .a archives in LTO modules
  ANDROID: arm64: only permit certain alternatives in the FIPS140 module
  ANDROID: crypto: lib/aes - add vendor hooks for AES library routines
  ANDROID: crypto: lib/sha256 - add vendor hook for sha256() routine
  UPSTREAM: KVM: arm64: Mark the host stage-2 memory pools static
  ...

Conflicts:
	drivers/mmc/core/mmc_ops.c
	drivers/usb/gadget/function/f_uac1.c
	drivers/usb/gadget/function/f_uac2.c
	drivers/usb/gadget/function/f_uvc.c
2021-06-25 11:32:04 +08:00
Joseph Chen e4ff4df380 mfd: rk808: set fall event higher priority than rise event
When PMIC irq occurs, regmap-irq.c will traverse all PMIC child
interrupts from low index 0 to high index, we give fall interrupt
high priority to be called earlier than rise, so that it can be
override by late rise event. This can helps to solve key release
glitch which make a wrongly fall event immediately after rise.

Change-Id: Ieda1d6fd3c50cc36742a4740504ec7ce12ea509b
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
2021-06-24 15:34:34 +08:00
Axel Lin 0609c36696 regulator: bd70528: Fix off-by-one for buck123 .n_voltages setting
[ Upstream commit 0514582a1a5b4ac1a3fd64792826d392d7ae9ddc ]

The valid selectors for bd70528 bucks are 0 ~ 0xf, so the .n_voltages
should be 16 (0x10). Use 0x10 to make it consistent with BD70528_LDO_VOLTS.
Also remove redundant defines for BD70528_BUCK_VOLTS.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
Link: https://lore.kernel.org/r/20210523071045.2168904-1-axel.lin@ingics.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-06-23 14:42:47 +02:00
Axel Lin 4579f65176 regulator: bd71828: Fix .n_voltages settings
commit 4c668630bf8ea90a041fc69c9984486e0f56682d upstream.

Current .n_voltages settings do not cover the latest 2 valid selectors,
so it fails to set voltage for the hightest voltage support.
The latest linear range has step_uV = 0, so it does not matter if we
count the .n_voltages to maximum selector + 1 or the first selector of
latest linear range + 1.
To simplify calculating the n_voltages, let's just set the
.n_voltages to maximum selector + 1.

Fixes: 522498f8cb ("regulator: bd71828: Basic support for ROHM bd71828 PMIC regulators")
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Reviewed-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
Link: https://lore.kernel.org/r/20210523071045.2168904-2-axel.lin@ingics.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-16 12:01:43 +02:00
Joseph Chen 6902a2c176 regulator: rk808: optimise/fix for rk805/816
RK805:
- correct enable/disable for suspend and runtime;
- add individual ramp delay set;
- add of_map_mode definition;
- buck4 has 2 line range group;

RK816:
- clean code;

Other: Add set/get mode for BUCKs.

Change-Id: Ife49259cc57c47fa54d078041724a69a42b0faae
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2021-05-14 15:45:12 +08:00
Elaine Zhang efd02ec172 mfd: rk808: update pre_init_reg for rk805/rk818
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I1bd9c99a544b4fbda23efc7b5540985048ca2f89
2021-05-12 14:18:10 +08:00
shengfei Xu f26962f3fb mfd: rk808: update rk817 volatile reg range
Signed-off-by: shengfei Xu <xsf@rock-chips.com>
Change-Id: Ifeb89255a2e98d4d2af92b83726017c2f75ebc92
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2021-05-12 14:18:10 +08:00
Joseph Chen 5a363f34b8 pinctrl: rk805: add rk816 support
RK816 has 1 pin to be used as GPIO or TS function.
When used as GPIO function, the pin can be output or input.

Change-Id: I8607595826ac3125dfa2a4c7c483be6b084204c2
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2021-05-12 14:18:10 +08:00
Joseph Chen 3bb76af1a8 mfd: rk808: update rk818 volatile reg range
The registers relative with fuel gauge must be volatile.

Change-Id: I8e942e8f15f66dabf24ede48b81857947575fa23
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2021-05-12 14:18:09 +08:00
Tony Xie a921d23418 mfd: rk808: Set only resetting pmic register for 817&809.
If the system needs hold register values when system will reboot.
need to set only resetting pmic register for 817&809 forcedly.

When system restart, there are two rst actions of PMIC sleep if
board hardware support:

- 0b'00: reset the PMIC itself completely.
- 0b'01: reset the 'RST' related register only.

In the case of 0b'00, PMIC reset itself which triggers SoC NPOR-reset
at the same time, so the command: reboot load/bootload/recovery, etc
is not effect any more.

We add a cmd list to check if this reboot cmd is what we expect for 0b'01.

Change-Id: Ib4b850c86ec3079cd7e374bc96460ee1532854a2
Signed-off-by: Tony Xie <tony.xie@rock-chips.com>
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2021-05-12 14:18:09 +08:00
Tony Xie 2dc862f592 pinctrl: support pinctrl driver for the RK817&RK809 PMIC
Change-Id: I9a24ee0d9266a000d582f8ffff8b0c872e3a0769
Signed-off-by: Tony Xie <tony.xie@rock-chips.com>
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2021-05-12 12:19:25 +08:00
Hubert Streidl 14c7e3f5be mfd: da9063: Support SMBus and I2C mode
[ Upstream commit 586478bfc9f7e16504d6f64cf18bcbdf6fd0cbc9 ]

By default the PMIC DA9063 2-wire interface is SMBus compliant. This
means the PMIC will automatically reset the interface when the clock
signal ceases for more than the SMBus timeout of 35 ms.

If the I2C driver / device is not capable of creating atomic I2C
transactions, a context change can cause a ceasing of the clock signal.
This can happen if for example a real-time thread is scheduled. Then
the DA9063 in SMBus mode will reset the 2-wire interface. Subsequently
a write message could end up in the wrong register. This could cause
unpredictable system behavior.

The DA9063 PMIC also supports an I2C compliant mode for the 2-wire
interface. This mode does not reset the interface when the clock
signal ceases. Thus the problem depicted above does not occur.

This patch tests for the bus functionality "I2C_FUNC_I2C". It can
reasonably be assumed that the bus cannot obey SMBus timings if
this functionality is set. SMBus commands most probably are emulated
in this case which is prone to the latency issue described above.

This patch enables the I2C bus mode if I2C_FUNC_I2C is set or
otherwise keeps the default SMBus mode.

Signed-off-by: Hubert Streidl <hubert.streidl@de.bosch.com>
Signed-off-by: Mark Jonas <mark.jonas@de.bosch.com>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-05-11 14:47:31 +02:00
Xu Yilun d7ec1dab6b mfd: intel-m10-bmc: Fix the register access range
[ Upstream commit d9b326b2c3673f939941806146aee38e5c635fd0 ]

This patch fixes the max register address of MAX 10 BMC. The range
0x20000000 ~ 0x200000fc are for control registers of the QSPI flash
controller, which are not accessible to host.

Signed-off-by: Xu Yilun <yilun.xu@intel.com>
Reviewed-by: Tom Rix <trix@redhat.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-05-11 14:47:31 +02:00
Tao Huang d648938407 Merge remote branch 'android12-5.10' of https://android.googlesource.com/kernel/common
* android12-5.10: (1647 commits)
  FROMGIT: mm/page_owner: record the timestamp of all pages during free
  UPSTREAM: mm/page_io: use pr_alert_ratelimited for swap read/write errors
  ANDROID: roll back xt_IDLETIMER to 5.10.21 upstream/vanilla version
  ANDROID: qcom: Add ip, rtnl and free related symbols
  FROMGIT: power: supply: Fix build error when CONFIG_POWER_SUPPLY is not enabled.
  FROMGIT: usb: dwc3: gadget: modify the scale in vbus_draw callback
  BACKPORT: FROMLIST: usb: dwc3: gadget: Clear DEP flags after stop transfers in ep disable
  FROMLIST: Makefile: fix GDB warning with CONFIG_RELR
  ANDROID: refresh ABI XML before enabling KMI enforcement
  Revert "Revert "ANDROID: GKI: Enable bounds sanitizer""
  Revert "ANDROID: Revert "f2fs: fix to tag FIEMAP_EXTENT_MERGED in f2fs_fiemap()""
  ANDROID: Enforce KMI stability
  ANDROID: enable options prior to enforcing KMI
  Revert "ANDROID: GKI: temporarily disable LTO/CFI"
  ANDROID: gki_defconfig: Enable NET_CLS_{BASIC,TCINDEX,MATCHALL} & NET_ACT_{GACT,MIRRED}
  FROMLIST: selftests: Add a MREMAP_DONTUNMAP selftest for shmem
  FROMLIST: mm: Extend MREMAP_DONTUNMAP to non-anonymous mappings
  ANDROID: GKI: enable CONFIG_CMA_SYSFS
  ANDROID: make cma_sysfs experimental
  FROMLIST: mm: cma: support sysfs
  ...

Change-Id: I6145eddeb253bea33164fc909e7790d30f17ef1f
2021-04-25 18:33:22 +08:00
Tao Huang bc69b758ef Merge remote branch 'android12-5.10' of https://android.googlesource.com/kernel/common
* android12-5.10: (176331 commits)
  ANDROID: GKI: Enable bounds sanitizer
  ANDROID: Allow HAS_LTO_CLANG with KASAN_HW_TAGS
  ANDROID: abi_gki_aarch64_qcom: Add cpufreq related symbols
  ANDROID: cpufreq: Add a restricted vendor hook for freq transition
  ANDROID: scsi: ufs: add hooks to track ufs commands
  ANDROID: Fix compilation error when CPU_FREQ is disabled
  BACKPORT: kasan, arm64: allow using KUnit tests with HW_TAGS mode
  Revert "FROMGIT: kasan, arm64: allow using KUnit tests with HW_TAGS mode"
  Revert "BACKPORT: kasan: remove redundant config option"
  UPSTREAM: arm/kasan: fix the array size of kasan_early_shadow_pte[]
  FROMGIT: KVM: arm64: Workaround firmware wrongly advertising GICv2-on-v3 compatibility
  FROMGIT: KVM: arm64: Rename __vgic_v3_get_ich_vtr_el2() to __vgic_v3_get_gic_config()
  FROMGIT: KVM: arm64: Don't access PMSELR_EL0/PMUSERENR_EL0 when no PMU is available
  FROMGIT: KVM: arm64: Turn kvm_arm_support_pmu_v3() into a static key
  FROMGIT: KVM: arm64: Fix nVHE hyp panic host context restore
  FROMGIT: KVM: arm64: Avoid corrupting vCPU context register in guest exit
  FROMLIST: arm64: cpufeatures: Fix handling of CONFIG_CMDLINE for idreg overrides
  ANDROID: sched: Add vendor hook for uclamp_eff_value
  ANDROID: abi_gki_aarch64_qcom: Add CFS scheduler symbols
  ANDROID: GKI: Add mempool APIs to the symbol list
  ...

Change-Id: I4ed13984b97bc531d1dae61920457f31b84190e9

Conflicts:
	Documentation/devicetree/bindings/nvmem/rockchip-otp.txt
	arch/arm64/boot/dts/rockchip/px30.dtsi
	arch/arm64/boot/dts/rockchip/rk3308.dtsi
	arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
	drivers/clk/rockchip/Kconfig
	drivers/clk/rockchip/clk-rk3308.c
	drivers/gpu/drm/rockchip/rk3066_hdmi.c
	drivers/gpu/drm/rockchip/rockchip_rgb.c
	drivers/media/i2c/imx219.c
	drivers/nvmem/rockchip-otp.c
	drivers/power/supply/cw2015_battery.c
	sound/soc/codecs/cx2072x.c
	sound/soc/codecs/cx2072x.h
	sound/soc/codecs/rk3328_codec.c
2021-03-17 18:07:51 +08:00
Tao Huang 251c226c35 rk: revert to v4.19
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I502dce68b639df4ebf5a1688e0dc2e5c5763ebc2
2021-03-17 18:05:39 +08:00
Matti Vaittinen 3604dfd1c6 regulator: bd718x7, bd71828, Fix dvs voltage levels
[ Upstream commit c294554111a835598b557db789d9ad2379b512a2 ]

The ROHM BD718x7 and BD71828 drivers support setting HW state
specific voltages from device-tree. This is used also by various
in-tree DTS files.

These drivers do incorrectly try to compose bit-map using enum
values. By a chance this works for first two valid levels having
values 1 and 2 - but setting values for the rest of the levels
do indicate capability of setting values for first levels as
well. Luckily the regulators which support setting values for
SUSPEND/LPSR do usually also support setting values for RUN
and IDLE too - thus this has not been such a fatal issue.

Fix this by defining the old enum values as bits and fixing the
parsing code. This allows keeping existing IC specific drivers
intact and only slightly changing the rohm-regulator.c

Fixes: 21b72156ed ("regulator: bd718x7: Split driver to common and bd718x7 specific parts")
Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
Acked-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20210212080023.GA880728@localhost.localdomain
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-03-04 11:38:07 +01:00