This patch restrict the usage of extcon_update_state() in the extcon
core because the extcon_update_state() use the bit masking to change
the state of external connector. When this function is used in device drivers,
it may occur the probelm with the handling mistake of bit masking.
Also, this patch removes the extcon_get/set_state() functions because these
functions use the bit masking which is reluctant way. Instead, extcon
provides the extcon_set/get_cable_state_() functions.
Change-Id: I436b8d4f9485bb318e7d77db8902f85e2bc15778
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
(cherry picked from commit c2692f2dad4f3228579bb0b2cf2d6d9bf283f31a)
This patch removes the usage of extcon_set_state() because it uses the bit
masking to change the state of external connectors. The extcon framework
should handle the state by extcon_set/get_cable_state_() with extcon id.
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
(cherry picked from commit 0ddde3db610d57d28c1fe9a61e32dff1dc55ea59
git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon.git extcon-next)
Change-Id: I64d5ff0c054ca0bab9a59105bf5c395d998665ff
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
This patch removes the usage of extcon_set_state() because it uses
the bit masking to change the state of external connectors. The extcon framework
should handle the state by extcon_set_cable_state_() with extcon id.
Change-Id: I726f690d900375d36001fe4eda9b53bcdd2b4f86
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
(cherry picked from commit 448991505c967d7b44ae9ea328224ec02858c8da)
This patch remvoes the usage of extcon_update_state() because
the extcon_update_state() use directly the bit masking calculation
to change the state of external connector without the unique id of
external connector. It makes the code diffcult to read it.
So, this patch uses the extcon_set_cable_state_() instead.
Change-Id: I807cce6c46e37b32d5fbdbf65c45d1ddf6587996
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
(cherry picked from commit af67ea70da0e8e906a81ae00d742c82ecda63a27)
There is no need for a semi-colon at the end of a switch statement so
remove it.
Change-Id: I64a6f485bcb1b064d17cea5f56f22f8b3773bf75
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
(cherry picked from commit fa1723bb3461f42b3c35eeb313f7021d089da5f1)
This patch fixes the wrong description about extcon_set/get_cable_state_()
because they use the unique id of external connector instead of legacy name.
Change-Id: I954d0905c966b5128e9de577db9633f6b4b398bb
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
(cherry picked from commit bc92126012)
This patch removes the state_store() which change the state of external
connectors with bit masking on user-space. It is wrong access to modify
the change the state of external connectors.
Change-Id: I635e30e2a22ddc313ed90dc7ab0f7fdaa271ed1d
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
(cherry picked from commit eeb820116207aa5dd71edbc0b8f0eaf3b20d77a1)
Sometimes drivers may call this API and expect it to fail because
the extcon they're looking for is optional. Let's move these
prints to debug level so it doesn't look like there's a problem
when there isn't one.
Change-Id: Id3297af428cbaaef208e1990e1678b9ef04a7246
Signed-off-by: Stephen Boyd <stephen.boyd@linaro.org>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
(cherry picked from commit 27210e4efd5259c691c4c3ab53e74239efa0d581)
of_node_put needs to be called when the device node which is got
from of_parse_phandle has finished using.
Change-Id: I96ad96b55e6f6c5e5335d12aeb5963c1b06451b3
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
(cherry picked from commit 5d5c4c139d)
Splitting the resource-managed functions into a separate module
means that the extcon core now fails to build because the internal
"extcon_dev_allocate" symbol is not exported:
ERROR: extcon_dev_allocate [drivers/extcon/devres.ko] undefined!
My guess is that the intention was not to have two separate
modules (which could be fixed by adding an export, plus the
normal MODULE_AUTHOR/MODULE_LICENSE/... fields), but have two
source files in the same module.
This fixes the Makefile accordingly, making the name of the
module extcon_core.ko, which is created from building both
extcon.c and devres.c.
Fixes: b225d00f3a ("extcon: Split out the resource-managed functions from extcon core")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
(cherry picked from commit af61f96109
git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon.git extcon-next)
Change-Id: I8a319f46437cd3d6ce98a4f6ac5d1c56930c9c76
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
This patch adds the resource-managed functions for register/unregister
the extcon notifier with the id of each external connector. This function
will make it easy to handle the extcon notifier.
- int devm_extcon_register_notifier(struct device *dev,
struct extcon_dev *edev, unsigned int id,
struct notifier_block *nb);
- void devm_extcon_unregister_notifier(struct device *dev,
struct extcon_dev *edev, unsigned int id,
struct notifier_block *nb);
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
(cherry picked from commit 58f386560a
git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon.git extcon-next)
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Change-Id: I852184d12dc4a03b6d526112e998b087931726e5
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
This patch split out the resource-managed related functions
from extcon core driver.
Change-Id: I4dd6cff278849c754bd529f44c3489d8bc665b15
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
(cherry picked from commit b225d00f3a)
This patch moves the struct extcon_cable because that should
be only handled by extcon core. There are no reason to publish
the internal structure.
Change-Id: I7b2e68487ad0ddfa8a2342e7754f16af8623aa58
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
(cherry picked from commit 20f7b53dfc)
If we call extcon_register_notifier() with the wrong cable type,
it blows up with an oops instead of returning an error code.
Let's be nice and fail gracefully given that the consumer might
not know if the cable is supported by the extcon provider.
Change-Id: I6e357a6af600dac82e9b1c30499b2d0a3d58d716
Signed-off-by: Stephen Boyd <stephen.boyd@linaro.org>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
(cherry picked from commit a05f44c89e)
This patch removes the deprecated extcon functions using string type
to identify the type of external connector. The Commit 2a9de9c0f0
("extcon: Use the unique id for external connector instead of string)
uses the unique id to separate the type of external connector instead of
string name.
- extcon_register_interest()
- extcon_unregister_interest()
- extcon_set_cable_state()
- extcon_get_cable_state()
And, extcon_register_interest() finds the first extcon device to include the
requested external connector from extcon client device and then register the
notifier if extcon device argument is NULL. Instead, extcon_register_notifier()
supports this feature.
But, this patch remains the deprecatd function definition to prevent
the build break.
Change-Id: I8238aa91a6da91fe66cb6c182602bc3bcc8688ae
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
(cherry picked from commit 830ae44220)
If we enable the kernel low-level debugging port option, then we must
assign the right UART types and PHYS address for it. But different
CPUs must have different UART configures, we can't cover all of them
in this common configure file. For example:
* RK3036 would want to chose the UART types would be RK29_UART2, and
UART_PHYS would be 0x20068000.
* RK3228 would want to chose the UART types would be RK29_UART2, and
UART_PHYS would be 0x11030000.
* RK3288 would want to chose the UART types would be RK32_UART2, and
UART_PHYS would be 0xff690000.
Change-Id: I70d0da1fbffbb720b5e464acd79405624d9e7d40
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
The MIPI DSI do not need check the validity of resolution, the max resolution
should depend VOP. So remove rk3288_mipi_dsi_mode_valid here.
Change-Id: I789d184f9a14010795fe595ef31e1bea5d1022e0
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Support for some evb3 with edp screen, and with new touchscreen.
Change-Id: I8624ae38faef63aa5205861cfebb2a04f7bb8b30
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Tested-by: Frank Wang <frank.wang@rock-chips.com>
With atomic helpers there's no need to track the enabled state of a pipe
any more, because atomic helpers track this accurately already.
Change-Id: Ic2441b5acefe327cdef797aca88f6a2098643c69
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
In rk3036, the voltages of CPU and GPU are controlled by the same
regulator 'vdd_cpu'.
Here, we fix it to 1.25v to ensure that GPU could work well in
development period.
The actual voltage GPU needs might be much lower, and relative to
the frequence GPU runs at. this would be optimized when we implement
GPU DVFS with devfreq.
Change-Id: Ia25f0a67577fbfe248a25e4d913dc5f14fa40f0d
Signed-off-by: chenzhen <chenzhen@rock-chips.com>
Add the rk3399-evb-cros.dtsi for cros private.
Also, we should add the rev3 dts to support it.
Change-Id: Ie68d4352474c7ea02c188e2c2176244709ac1b48
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
This patch trys to sync the rockchip_defconfig for cros.
Change-Id: Ieeda1e41f05f33ffaa708c9825901553a759b17b
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Enable both OTG1 PHY and OTG2 USB2 PHY for rk3399 board.
With this patch, we can support usb battery charger detect
and hold wake lock in OTG peripheral mode.
Change-Id: Icae1924d8a2427c297f28032588f178532acc560
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
DRM dw_hdmi audio driver is based on common hdmi-codec driver, and bind
with i2s controller through simple-audio-card.
Change-Id: I2d9d5941b8e7c1f256e505338f43869584772e79
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
This patch prevents OTG0 and OTG1 PHY from entering suspend mode.
Because if PHY enter suspend, it will cause DWC3 controller work
abnormally now. We can revert it if fusb302 driver is merged.
Change-Id: I74c3ee5d3e1b925e8dc758bdc6d67372df421b98
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
This patch add USB2 PHY1 OTG port configurations for rk3399,
it support PHY1 suspend and bvalid detect, but not support
usb battery charger detect.
Change-Id: I7a6aaf484d6ad2ad097a7d9679a56aa545f217c8
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
RK3399 SoC USB2 PHY1 comprises with one host-port and
one otg-port, now we support PHY1 otg-port.
Change-Id: I8e7fd53ce6f1552172044ad2adc3f19e923d1bcd
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
Should do vop_cfg_done to let windows disable take effect
Change-Id: Ib2966d8825a195696a963de7bc1d9665e78e5389
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
The series of vop is:
IP version chipname
3.1 rk3288
3.2 rk3368
3.4 rk3366
3.5 rk3399 big
3.6 rk3399 lit
3.7 rk322x
The IP version is from VERSION_INFO register
major version: used for IP structure, Vop full framework is 3,
vop little framework is 2.
minor version: on same structure, newer design vop will bigger then
old one.
Change-Id: I032cb3d74cd01440274d3efeefa747e6028c1689
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
If cmd is empty in get_reboot_mode_magic, we should return normal magic.
Change-Id: I10931adc49e33f72ae73d9471159f82cc02ff0c0
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>