我是靠谱客的博主 安静天空,最近开发中收集的这篇文章主要介绍RK3288W Android8.1开发日志(二),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、犯了一个错误,拿到SDK忘记执行源代码更新指令,5月8号的初始版本有挺多BUG,执行更新.repo/repo/repo sync,更新完之后编译烧录,之前的bug全无。

2、接上一篇文章,修改永不休眠,修改代码alpsframeworksbaseservicescorejavacomandroidserverpowerPowerManagerService.java


private int getScreenOffTimeoutLocked(int sleepTimeout) {
int timeout = mScreenOffTimeoutSetting;
>
//peng@ZY
>
if (timeout < 0) {
>
return mMaximumScreenOffTimeoutFromDeviceAdmin;
>
}
if (isMaximumScreenOffTimeoutFromDeviceAdminEnforcedLocked()) {
timeout = Math.min(timeout, mMaximumScreenOffTimeoutFromDeviceAdmin);
}
if (mUserActivityTimeoutOverrideFromWindowManager >= 0) {
timeout = (int)Math.min(timeout, mUserActivityTimeoutOverrideFromWindowManager);
}
if (sleepTimeout >= 0) {
timeout = Math.min(timeout, sleepTimeout);
}
return Math.max(timeout, mMinimumScreenOffTimeoutConfig);
}

在修改alpsframeworkspackagesSettingsProviderresvaluesdefaults.xml


<integer name="def_sleep_timeout">-1</integer>

3、调试以太网 RLT8211E-VB-G-CG

&gmac {
phy-supply = <&vcc_phy>;
phy-mode = "rgmii"; //100/1000M网卡
clock_in_out = "input";
snps,reset-gpio = <&gpio4 8 0>; //根据原理图修改
snps,reset-active-low;
snps,reset-delays-us = <0 10000 50000>;
assigned-clocks = <&cru SCLK_MAC>;
assigned-clock-parents = <&ext_gmac>;
pinctrl-names = "default";
pinctrl-0 = <&rgmii_pins>;
tx_delay = <0x30>;
rx_delay = <0x10>;
max-speed = <100>;
status = "okay";
};

编译烧录,终端查看sys/class/net/有eth0设备,说明芯片工作正常。
执行ping 自己,没问题,ping局域网的电脑不通,电脑ping板子,ping的通,检查硬件
在这里插入图片描述
板子是无法ping出去,并非外面ping不通板子,检查MAC_TXCLK脚。
在这里插入图片描述
把C2的电容去掉就正常了,同理,如果是外网ping不通板子,那就检查RX脚。(硬件贴错导致)

4、调试RT5640音频模块
驱动配置好5640模块

	sound: sound {
status = "disabled";
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,name = "rockchip,rt5640-codec";
simple-audio-card,mclk-fs = <512>;
simple-audio-card,widgets =
"Microphone", "Mic Jack",
"Headphone", "Headphone Jack",
"Speaker", "Speaker";
simple-audio-card,routing =
"Mic Jack", "MICBIAS1",
"IN2P", "Mic Jack",
"IN2N", "Mic Jack",
"Headphone Jack", "HPOL",
"Headphone Jack", "HPOR",
"Speaker", "SPOLP",
"Speaker", "SPOLN",
"Speaker", "SPORP",
"Speaker", "SPORN";
simple-audio-card,cpu {
sound-dai = <&i2s>;
};
simple-audio-card,codec {
sound-dai = <&rt5640>;
};
};
spdif_sound: spdif-sound {
status = "okay";
compatible = "simple-audio-card";
simple-audio-card,name = "rockchip,spdif";
simple-audio-card,cpu {
sound-dai = <&spdif>;
};
simple-audio-card,codec {
sound-dai = <&spdif_out>;
};
};
spdif_out: spdif-out {
status = "okay";
compatible = "linux,spdif-dit";
#sound-dai-cells = <0>;
};
&i2c2 { //硬件连接的是I2C2
status = "okay";
clock-frequency = <400000>;
rt5640: rt5640@1c {
#sound-dai-cells = <0>;
compatible = "realtek,rt5640";
reg = <0x1c>;
clocks = <&cru SCLK_I2S0_OUT>;
clock-names = "mclk";
//interrupt-parent = <&gpio6>;
//interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
};
};

根据环境切换通道,要修改hardwarerockchipaudiotinyalsa_halcodec_configrt5640_config.h

5、tc358749x HDMI2MIPI转换芯片(HDMI IN功能)

&i2c3{
status = "okay";
clock-frequency = <400000>;
tc358749x: tc358749x@0f {
compatible = "toshiba,tc358749x";
reg = <0x0f>;
power-gpios
= <&gpio8 9 GPIO_ACTIVE_HIGH>; //根据硬件配置
stanby-gpios = <&gpio8 3 GPIO_ACTIVE_HIGH>;
reset-gpios
= <&gpio8 2 GPIO_ACTIVE_HIGH>;
int-gpios
= <&gpio8 0 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&hdmiin_gpios>;
status = "okay";
};
&pinctrl {
hdmiin {
hdmiin_gpios: hdmiin_gpios {
rockchip,pins =
<8 0 RK_FUNC_GPIO &pcfg_pull_none>,
<8 2 RK_FUNC_GPIO &pcfg_pull_none>,
<8 9 RK_FUNC_GPIO &pcfg_pull_none>,
<8 3 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};

配置hardwarerockchipcameraConfigcam_board_rk3288.xml

<?xml version="1.0" ?>
<BoardFile>
<BoardXmlVersion version="v0.0xf.0">
</BoardXmlVersion>
<CamDevie>
<HardWareInfo>
<Sensor>
<SensorName name="TC358749XBG" ></SensorName>
<SensorDevID IDname="CAMSYS_DEVID_SENSOR_1B"></SensorDevID>
<SensorHostDevID busnum="CAMSYS_DEVID_MARVIN" ></SensorHostDevID>
<SensorI2cBusNum busnum="3"></SensorI2cBusNum>
//I2C通道
<SensorI2cAddrByte byte="2"></SensorI2cAddrByte>
<SensorI2cRate rate="100000"></SensorI2cRate>
<SensorAvdd name="NC" min="0" max="0" delay="0"></SensorAvdd>
<SensorDovdd name="NC" min="0" max="0" delay="0"></SensorDovdd>
<SensorDvdd name="NC" min="0" max="0" delay="0"></SensorDvdd>
<SensorMclk mclk="27000000" delay="0"></SensorMclk>
<SensorGpioPwen ioname="NC" active="1" delay="1000"></SensorGpioPwen>
<SensorGpioRst ioname="NC" active="0" delay="1000"></SensorGpioRst>
<SensorGpioPwdn ioname="NC" active="0" delay="1000"></SensorGpioPwdn>
<SensorFacing facing="back"></SensorFacing>
<SensorInterface interface="MIPI"></SensorInterface>
<SensorMirrorFlip mirror="0"></SensorMirrorFlip>
<SensorOrientation orientation="0"></SensorOrientation>
<SensorPowerupSequence seq="1234"></SensorPowerupSequence>
<SensorFovParemeter h="60.0" v="60.0"></SensorFovParemeter>
<SensorAWB_Frame_Skip fps="0"></SensorAWB_Frame_Skip>
<SensorPhy phyMode="CamSys_Phy_Mipi" lane="4"
phyIndex="1" sensorFmt="CamSys_Fmt_Yuv422_8b"></SensorPhy>/
</Sensor>
………………………………

phyIndex 根据硬件连接方式填写,如果是连接MIPI TX/RX 选择1,如果是MIPI TX选择0。
编译烧录,发现很多这种CamerIcIspIrq: pic err first,g_ispFrameNum == 1
测量发现MIPI信号时有时无,问了redmine说是mipi信号可能有问题。

又是到周末了,先溜~,下周继续!!!!!!!!!

最后

以上就是安静天空为你收集整理的RK3288W Android8.1开发日志(二)的全部内容,希望文章能够帮你解决RK3288W Android8.1开发日志(二)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(30)

评论列表共有 0 条评论

立即
投稿
返回
顶部