修复 rk3288 android9 的一些问题
生活随笔
收集整理的這篇文章主要介紹了
修复 rk3288 android9 的一些问题
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.視頻播放卡,有時(shí)播放H265視頻HDMI顯示花屏。
&route_hdmi{status = "okay";
};&lvds_in_vopb {status = "disabled"; // LVDS使用vopl, 關(guān)閉vopb
};&hdmi_in_vopl {status = "disabled";
};\sdk-9.0\kernel\drivers\gpu\drm\rockchip\dw_hdmi-rockchip.c+530 if(!strcmp(mode->name, "4096x2160") || !strcmp(mode->name, "3840x2160")){
+531 printk(KERN_ERR"bad mode:%s, vrefresh:%d\n",mode->name, mode->vrefresh);
+532 return MODE_BAD;
+533 }關(guān)閉4k以上的分辨率
會(huì)出現(xiàn)桌面切換緩慢,hdmi閃黑屏,播放4k視頻花屏。原因是當(dāng)插上hdmi后,會(huì)自動(dòng)識(shí)別hdmi的分辨率,當(dāng)屏的分辨率與hdmi輸出的分辨率不一致時(shí),容易發(fā)生異常。但也不是絕對(duì)的,閃黑屏可以打補(bǔ)丁解決,但4k p30 的分辨率在板子上運(yùn)行是不太流暢的,所以我想讓它默認(rèn)低分辨率輸出,有4k需求的時(shí)候再設(shè)置4k分辨率。(1)解決閃黑屏補(bǔ)丁
(u-boot)
diff --git a/drivers/clk/rockchip/clk_rk3288.c b/drivers/clk/rockchip/clk_rk3288.c
index ab346ef539..ede89a7445 100644
--- a/drivers/clk/rockchip/clk_rk3288.c
+++ b/drivers/clk/rockchip/clk_rk3288.c
@@ -169,7 +169,7 @@ enum {/* Keep divisors as low as possible to reduce jitter and power usage */static const struct pll_div apll_init_cfg = PLL_DIVISORS(APLL_HZ, 1, 1);
-static const struct pll_div gpll_init_cfg = PLL_DIVISORS(GPLL_HZ, 2, 4);
+static const struct pll_div gpll_init_cfg = PLL_DIVISORS(GPLL_HZ, 1, 8);static const struct pll_div cpll_init_cfg = PLL_DIVISORS(CPLL_HZ, 1, 2);(kernel)
\sdk-9.0\kernel\drivers\gpu\drm\rockchip\dw_hdmi-rockchip.cstatic const struct dw_hdmi_plat_data rk3288_hdmi_drv_data = {.mode_valid = dw_hdmi_rockchip_mode_valid,.mpll_cfg = rockchip_mpll_cfg,
+ .mpll_cfg_420 = rockchip_mpll_cfg_420, //rockchip_rk3288w_mpll_cfg_420,.cur_ctr = rockchip_cur_ctr,.phy_config = rockchip_phy_config,.dev_type = RK3288_HDMI,.tmds_n_table = rockchip_werid_tmds_n_table,
};\sdk-9.0\kernel\drivers\clk\rockchip\clk-rk3288.c- RK3066_PLL_RATE_NB(594000000, 2, 198, 4, 1),
+ RK3066_PLL_RATE_NB(594000000, 1, 198, 8, 1),
+
\sdk-9.0\kernel\arch\arm\boot\dts\rk3288-evb-android-act8846-edp.dtsivdd_10: REG10 {regulator-name = "VDD_10";
- regulator-min-microvolt = <1000000>;
- regulator-max-microvolt = <1000000>;+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <1100000>;regulator-always-on;};
(2) 設(shè)置主副屏,為副屏hdmi設(shè)置默認(rèn)分辨率\sdk-9.0\device\rockchip\rk3288\device.mk
PRODUCT_PROPERTY_OVERRIDES += \vendor.hwc.device.primary=LVDS \vendor.hwc.device.extend=HDMI-A \persist.vendor.resolution.aux=1920x1080p60 (3)打開(kāi)配置\sdk-9.0\device\rockchip\rk3288\BoardConfig.mkBOARD_SHOW_HDMI_SETTING = true(4)添加服務(wù)(查看自己使用的是哪個(gè)manifest.xml)\sdk-9.0\device\rockchip\common\4g_modem\manifest.xml<hal format="hidl"><name>rockchip.hardware.outputmanager</name><transport>hwbinder</transport><version>1.0</version><interface><name>IRkOutputManager</name><instance>default</instance></interface></hal>5.發(fā)現(xiàn)hdmi顯示正常了,但4k分辨率情況下,播放高清視頻會(huì)花屏。(關(guān)閉hwc測(cè)試)\sdk-9.0\device\rockchip\rk3288\device.mk
PRODUCT_PROPERTY_OVERRIDES += \vendor.hwc.compose_policy=0 \
2.WIFI與藍(lán)牙不穩(wěn)定,有時(shí)啟動(dòng)之后無(wú)法打開(kāi),硬件的問(wèn)題性比較大舊版本的AP6212穩(wěn)定。改版為AP6356之后經(jīng)常打不開(kāi)。待定
3.gps不支持,系統(tǒng)顯示測(cè)試應(yīng)用版本太低。$: logcat
發(fā)現(xiàn)/dev/ttyS3沒(méi)有權(quán)限\sdk-9.0\device\rockchip\common\init.rk30board.rc
+ chmod 777 /dev/ttyS3刪除老舊的應(yīng)用
4.SATA不支持。SATA供電腳沒(méi)有電。
&i2c0 {act8846: act8846@5a {sata-enable-gpio = <&gpio7 RK_PB7 GPIO_ACTIVE_HIGH>;//usb_hub_reset_gpio = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;//sata_reset_gpio = <&gpio8 RK_PA7 GPIO_ACTIVE_HIGH>;....}}sdk-9.0\kernel\drivers\regulator\act8865-regulator.cstatic int act8865_pmic_probe(struct i2c_client *client,const struct i2c_device_id *i2c_id)
{......
+ int sata_enable;
+ enum of_gpio_flags flags;......if (IS_ERR(rdev)) {dev_err(dev, "failed to register %s\n", desc->name);return PTR_ERR(rdev);}}+ sata_enable = of_get_named_gpio_flags(client->dev.of_node, "sata-enable-gpio", 0, &flags);
+ //GPIO7_B7_D //sata enable
+ if(!gpio_request(sata_enable, "")){
+ gpio_direction_output(sata_enable, 0);
+ gpio_set_value(sata_enable,1);
+ printk("rk3288 sata_enable gpio ok\n");
+ }else{
+ printk("rk3288 gpio erro\n");
+ }
.......
}還存在有事連接不上的問(wèn)題
參照android7.1 修改 act8865-regulator.c 驅(qū)動(dòng)后問(wèn)題已解決。
5.RTC時(shí)間可運(yùn)行斷電能保存,但不能跟網(wǎng)絡(luò)時(shí)間同步.$:make ARCH=arm menuconfig
# 使用rtc芯片,關(guān)掉系統(tǒng)自帶的rtcDevice Drivers → Real Time Clock<*> Haoyu Microelectronics HYM8563 < > Rockchip RK808/RK816 RTC 以上方法尚未解決,待定。重新編譯配置后,沒(méi)有進(jìn)行更換,導(dǎo)致時(shí)間不同步CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
CONFIG_RTC_SYSTOHC=y
CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set測(cè)試發(fā)現(xiàn) rtc并未同步。logcat :
05-10 03:44:36.580 436 1384 D SntpClient: request time failed: java.net.SocketTimeoutException: Poll timed out
05-10 03:44:36.581 436 1384 E NtpTimeHelper: requestTime failed
05-10 03:44:37.125 1305 1305 W ServiceManagement: Waited one second for android.hardware.radio@1.0::IRadio/slot1. Waiting another..
ntp 連接不上,參照android7修改地址。做一下修改
sdk-9.0\frameworks\base\core\res\res\values\config.xml
+ <!-- <string translatable="false" name="config_ntpServer">time.android.com</string> -->
+ <string translatable="false" name="config_ntpServer">2.android.pool.ntp.org</string>已解決。曾修改用蘋(píng)果的地址,發(fā)現(xiàn)gps受影響。
6.系統(tǒng)運(yùn)行比較卡界面切換響應(yīng)較慢。系統(tǒng)在啟動(dòng)或者運(yùn)行中一直報(bào)VCCIO_SD的電壓?jiǎn)栴}打印影響終端的使用如附件所示.\sdk-9.0\kernel\drivers\power\avs\rockchip-io-domain.c
+162 //dev_info(supply->iod->dev, "Setting to %d done\n", uV);\sdk-9.0\kernel\drivers\regulator\core.cif (*min_uV > *max_uV) {
+256 //rdev_err(rdev, "Restricting voltage, %u-%uuV\n",
+266 //*min_uV, *max_uV);return -EINVAL;}系統(tǒng)運(yùn)行比較卡界面切換響應(yīng)較慢,尚未解決。更新:由于hdmi處于4kp30分辨率下,系統(tǒng)運(yùn)行比較卡,已經(jīng)切換到低分辨率。
總結(jié)
以上是生活随笔為你收集整理的修复 rk3288 android9 的一些问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: git如何新建分支
- 下一篇: c语言if else嵌套,C语言if e