This patch is based on https://patchwork.kernel.org/patch/9801533,
add the drm property "hdmi_output_format", the possible value
could be:
- RGB
- YCBCR 444
- YCBCR 422
To handle various subsampling of YCBCR output types, this property
allows two special automatic cases:
- DRM_HDMI_OUTPUT_YCBCR_HQ
This indicates preferred output should be YCBCR output,
with highest subsampling rate by the source/sink, which
can be typically:
- ycbcr444
- ycbcr422
- ycbcr420
- DRM_HDMI_OUTPUT_YCBCR_LQ
This indicates preferred output should be YCBCR output, with
lowest subsampling rate supported by source/sink, which can be:
- ycbcr420
- ycbcr422
- ycbcr444
Default value of the property is set to 0 = RGB, so no changes if you
don't set the property.
Change-Id: Ie4a98ba91c8285a2e8f1ec7832d73183ad57665e
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
This patch introduce a drm property hdmi_output_depth to
get/set HDMI color depth, the possible value could be
- Automatic
This indicates prefer highest color depth, it is
30bit on rockcip platform.
- 24bit
- 30bit
The default value of property is 24bit.
The max_tmds_clock is 0 on some display device, we think it's
max_tmds_clock is 340MHz.
If tmdsclock > max_tmds_clock, real output color depth fallback
to 24bit.
Change-Id: I666ac85d1ce5e73af31251eae324d1a6ae00b31e
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
Add supports-emmc for emmc; supports-sd for sdcard; supports-sdio for
wifi.
Change-Id: I13d3918f41f63ed9b27e9969e6f89d1006c9d45c
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
HDMI can't display afer resume, because HDMI 5v was turn off.
This patch fix up this problem.
Change-Id: Id48ca0616b81ea27416dc733662f388d51b2643c
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
HDMI can't display afer resume, because HDMI 5v was turn off.
This patch fix up this problem.
Change-Id: Ia3994c756324043d1c71c7840ed3ff2a303af523
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
HDMI can't display afer resume, because HDMI 5v was turn off.
This patch fix up this problem.
Change-Id: Ib43893cdbdafec2cf264c724d5c56e9e0f63d8b5
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
According to HDMI2.0 spec table 10-6, DC_48bit_420/DC_36bit_420/
DC_30bit_420 is at bit2~bit0 of HDMI Fortum Vendor Specific Data
Block byte7.
Change-Id: Iab2748695c68b950617955132579a3c12476cc5b
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
There is no media type for YUV444 output. so when bus format is yuv,
and out_mode is AAAA or P888, assume output is YUV444.
From H/W testing, YUV444 mode need a rb swap.
Change-Id: I1191df702ebe4afc107cf321fe5381be4f07eb7b
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
porting from kernel 3.10, it includes fuel gauge and charger.
Change-Id: Ib1dbc6a2c869a44459570f5368900e9dbfe93ed0
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Application need to listen HDMI connector state when connector is
forced on/off, so we add switch_set_stat in dw_hdmi_connector_force.
Change-Id: I2b76a0a647eb6a4cfde7584e085f53540d0fa27f
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
According to HDMI spec 1.4, YCbCr422 is also 36-bit mode, so
we remove the override of color format when parsing hdmi deep
color info. And record hdmi YCbCr444 deep color info in
edid_hdmi_dc_modes.
The edid_hdmi_dc_modes should be clean up when parsing EDID.
Change-Id: Ic5bd3ff5e50b37f04ed4a0688be68bd8259e5af0
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
It allows me to set the mac address in the bootloader.
Change-Id: Iad988205c6953e843e62aec67daad52128086324
Signed-off-by: Randy Li <randy.li@rock-chips.com>
There is a combo of a HEVC decoder and a VPU1 decoder at rk3036.
Change-Id: Ia7174cc9e2f2d640a74271077bd62cc68f3482b4
Signed-off-by: Randy Li <randy.li@rock-chips.com>
From rk3288 vop version register, rk3288 vop version is 3.0
Change-Id: Ib7e40ec93792290a8ea6e350bb7fdcfeeb697ec6
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
The version of RK3288 HDMI is 0x200a, it doesn't support ycbcr420 mode.
Change-Id: I65ee16ae79f42fd13514db8e5819db6d07db9d3d
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
Comparing to the latest the ion driver, the vmap() or
vunmap() are not supported yet, but at least it would
be more easy to implement the sync function.
I didn't remove those legacy iommu code this time, I just
add this patch to make the functions I want work.
Change-Id: Id7731fd44b729338c0a0059a1517bfe1333391e8
Signed-off-by: Randy Li <randy.li@rock-chips.com>
RK3128 and RK3126 failed to read vop iommu register, it is SoC bug.
Add this patch as a workaround for this bug, make SoC work as normal
Change-Id: I44d4ef7f6e15f85a466563b0b3e8e091db23fba0
Signed-off-by: Simon Xue <xxm@rock-chips.com>
set 1 if the regulator is enabled in system suspend, 0 if not.
Change-Id: I8d51ac685bbd2417f440842d010fe47946c9f567
Signed-off-by: shengfei Xu <xsf@rock-chips.com>
42019da52a ("android: base-cfg: turn off /dev/mem and /dev/kmem")
Change-Id: I2d34d76b6ed85fbd590be2e0c445c19f253bc2c4
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
42019da52a ("android: base-cfg: turn off /dev/mem and /dev/kmem")
870f86b79c85 ("Unsetting DEVPORT from marlin configurations.")
Change-Id: I03610d55f3af2e9398b02e36d1d6c05a2eda9657
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Due to hardware issue, boost and otg switch must be conctrolled
with special timing carefully by rk816 battery driver. Otherwise
boost maybe burn off.
Change-Id: Id28208c5b9757e1ff0e57ec5d26f1ac0afb88ad5
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Due to different irq_reg_stride of register, add individual
irq chip for battery.
Change-Id: Ic37b136ebc543d4f7bd22d5748b59df73526ccbe
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>