日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

rk3288_updata

發(fā)布時(shí)間:2023/12/14 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 rk3288_updata 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
.調(diào)屏1.搭建 rk3288-evb-android-act8846-edp-avb.dtb \ (與使用的板子向匹配)2.背光使用pwm1控制backlight: backlight {compatible = "pwm-backlight";brightness-levels = <0 1 2 3 4 5 6 78 9 10 11 12 13 14 1516 17 18 19 20 21 22 2324 25 26 27 28 29 30 3132 33 34 35 36 37 38 3940 41 42 43 44 45 46 4748 49 50 51 52 53 54 5556 57 58 59 60 61 62 6364 65 66 67 68 69 70 7172 73 74 75 76 77 78 7980 81 82 83 84 85 86 8788 89 90 91 92 93 94 9596 97 98 99 100 101 102 103104 105 106 107 108 109 110 111112 113 114 115 116 117 118 119120 121 122 123 124 125 126 127128 129 130 131 132 133 134 135136 137 138 139 140 141 142 143144 145 146 147 148 149 150 151152 153 154 155 156 157 158 159160 161 162 163 164 165 166 167168 169 170 171 172 173 174 175176 177 178 179 180 181 182 183184 185 186 187 188 189 190 191192 193 194 195 196 197 198 199200 201 202 203 204 205 206 207208 209 210 211 212 213 214 215216 217 218 219 220 221 222 223224 225 226 227 228 229 230 231232 233 234 235 236 237 238 239240 241 242 243 244 245 246 247248 249 250 251 252 253 254 255>;default-brightness-level = <128>;//enable-gpios = <&gpio7 2 GPIO_ACTIVE_HIGH>;pinctrl-names = "default";//pinctrl-0 = <&bl_en>;pwms = <&pwm1 0 1000000 0>;};3. 配屏&lvds {status = "okay"; };&lvds_panel {compatible = "simple-panel";backlight = <&backlight>;bus-format = <MEDIA_BUS_FMT_RGB888_1X24>; enable-gpios = <&gpio1 RK_PD1 GPIO_ACTIVE_HIGH>;enable-delay-ms = <120>;rockchip,data-mapping = "vesa";rockchip,data-width = <24>;rockchip,output = "lvds";status = "okay";disp_timings: display-timings {native-mode = <&timing0>;timing0: timing0 {clock-frequency = <70000000>;hactive = <1280>;vactive = <800>;hback-porch = <100>;hfront-porch = <20>;vback-porch = <18>;vfront-porch = <8>;hsync-len = <10>;vsync-len = <2>;hsync-active = <0>;vsync-active = <0>;de-active = <0>;pixelclk-active = <0>;};}; };//顯示logo &route_lvds {status = "okay"; };4.上電時(shí)序&i2c0 { .... }5.發(fā)現(xiàn)logo并沒(méi)有顯示\sdk-9.0\u-boot\drivers\video\drm\inno_video_phy.c + // status & PLL_LOCK, 10000); + status & PLL_LOCK,1000000);6.旋轉(zhuǎn)屏幕\sdk-9.0\device\rockchip\rk3288\BoardConfig.mk# 0/90/180/270 SF_PRIMARY_DISPLAY_ORIENTATION := 07.調(diào)節(jié)像素密度 (圖像或按鍵太大,影響美觀,將其調(diào)小)sdk-9.0\device\rockchip\rk3288\device.mkPRODUCT_PROPERTY_OVERRIDES += \.....ro.sf.lcd_density=170 \.....7.觸摸同博文 觸摸驅(qū)動(dòng)8.開(kāi)機(jī)logo閃屏&dmc { + vop-dclk-mode = <1>;center-supply = <&vdd_log>;status = "okay"; }; 二、HDMI調(diào)試1.開(kāi)機(jī)會(huì)自動(dòng)識(shí)別分辨率,連接上4k顯示器,當(dāng)其與屏的分辨率不一致時(shí),會(huì)發(fā)生各種異常。設(shè)置開(kāi)機(jī)默認(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 三、音頻 1.make ARCH=arm menuconfig → Device Drivers → Sound card support → Advanced Linux Sound Architecture → ALSA for SoC audio support → CODEC drivers→ <*> Everest Semi ES8323 CODEC確保\sdk-9.0\kernel\arch\arm\configs\rockchip_defconfig 存在如下配置。CONFIG_SND_SOC_ES8323=yCONFIG_SND_SOC_HDMI_CODEC=y2. &i2c2 {status = "okay";es8323: es8323@10 {status = "okay";compatible = "everest,es8323";reg = <0x10>;spk-con-gpio = <&gpio7 RK_PB4 GPIO_ACTIVE_HIGH>; hp-det-gpio = <&gpio7 RK_PB1 GPIO_ACTIVE_HIGH>;clock-names = "mclk";clocks = <&cru SCLK_I2S0_OUT>; pinctrl-names = "default";pinctrl-0 = <&i2s0_mclk>;#sound-dai-cells = <0>; }; };3.修改dts文件相關(guān)音頻配置,使用es8323.4.配置驅(qū)動(dòng)寄存器 (修改的部分)usleep_range(18000, 20000);snd_soc_write(codec, 0x02, 0xf3);snd_soc_write(codec, 0x2B, 0x80);snd_soc_write(codec, 0x08, 0x00); /* ES8388 salve */snd_soc_write(codec, 0x00, 0x32); //0x35snd_soc_write(codec, 0x01, 0x72); //0x50 /* PLAYBACK & RECORD Mode,EnRefr=1 */snd_soc_write(codec, 0x03, 0x59); /* pdn_ana=0,ibiasgen_pdn=0 */snd_soc_write(codec, 0x05, 0x00); /* pdn_ana=0,ibiasgen_pdn=0 */snd_soc_write(codec, 0x06, 0xc3); //0x00 /* pdn_ana=0,ibiasgen_pdn=0 */snd_soc_write(codec, 0x07, 0x7c);snd_soc_write(codec, 0x09, 0x88); /* ADC L/R PGA = +24dB */snd_soc_write(codec, 0x0a, 0xfa); //0xf0 /* ADC INPUT=LIN1/RIN1 */snd_soc_write(codec, 0x0b, 0x02); //0x82 /* ADC INPUT=LIN1/RIN1 */snd_soc_write(codec, 0x0C, 0x4c); /* I2S-24BIT */snd_soc_write(codec, 0x0d, 0x02); /* MCLK/LRCK=256 */snd_soc_write(codec, 0x10, 0x66); //0x00 /* ADC Left Volume=0db */snd_soc_write(codec, 0x11, 0x66); //0x00 /* ADC Right Volume=0db */snd_soc_write(codec, 0x12, 0xea); /* ALC stereo MAXGAIN: 35.5dB, MINGAIN: +6dB (Record Volume increased!) */snd_soc_write(codec, 0x13, 0xc0);snd_soc_write(codec, 0x14, 0x05);snd_soc_write(codec, 0x15, 0x06);snd_soc_write(codec, 0x16, 0x53);snd_soc_write(codec, 0x17, 0x18); /* I2S-16BIT */snd_soc_write(codec, 0x18, 0x02);snd_soc_write(codec, 0x1A, 0x00); //0x0A /* DAC VOLUME=0DB */snd_soc_write(codec, 0x1B, 0x00); //0x0Asnd_soc_write(codec, 0x26, 0x12); /* Left DAC TO Left IXER */snd_soc_write(codec, 0x27, 0xb8); /* Left DAC TO Left MIXER */snd_soc_write(codec, 0x28, 0x38);snd_soc_write(codec, 0x29, 0xb8); //0x38snd_soc_write(codec, 0x2A, 0xb8);snd_soc_write(codec, 0x02, 0x00); /* START DLL and state-machine,START DSM */snd_soc_write(codec, 0x19, 0x02); /* SOFT RAMP RATE=32LRCKS/STEP,Enable ZERO-CROSS CHECK,DAC MUTE */snd_soc_write(codec, 0x04, 0x0c); /* pdn_ana=0,ibiasgen_pdn=0 */usleep_range(18000, 20000);snd_soc_write(codec, 0x2e, 0x00);snd_soc_write(codec, 0x2f, 0x00);snd_soc_write(codec, 0x30, 0x08);snd_soc_write(codec, 0x31, 0x08);usleep_range(18000, 20000);snd_soc_write(codec, 0x30, 0x0f);snd_soc_write(codec, 0x31, 0x0f);usleep_range(18000, 20000);snd_soc_write(codec, 0x30, 0x18);snd_soc_write(codec, 0x31, 0x18);usleep_range(18000, 20000);snd_soc_write(codec, 0x04, 0x2c); /* pdn_ana=0,ibiasgen_pdn=0 */5.對(duì)于新手,調(diào)試音頻還是有一定的難度的,這是底層,上層的配置還有待研究。 6.camere&i2c3 {status = "okay";ov13850: ov13850@10 {compatible = "ovti,ov13850";status = "okay";reg = <0x10>;clocks = <&cru SCLK_VIP_OUT>;clock-names = "xvclk";reset-gpios = <&gpio7 0 GPIO_ACTIVE_HIGH>;pwdn-gpios = <&gpio8 8 GPIO_ACTIVE_HIGH>;rockchip,camera-module-index = <0>;rockchip,camera-module-facing = "back";rockchip,camera-module-name = "CMK-CT0116";rockchip,camera-module-lens-name = "Largan-50013A1";port {cam_out: endpoint {remote-endpoint = <&mipi_in_cam>;data-lanes = <1 2>;};};}; }; &mipi_phy_tx1rx1 {status = "okay";ports {#address-cells = <1>;#size-cells = <0>;port@0 {reg = <0>;#address-cells = <1>;#size-cells = <0>;mipi_in_cam: endpoint@1 {reg = <1>;remote-endpoint = <&cam_out>;data-lanes = <1 2>;};};port@1 {reg = <1>;#address-cells = <1>;#size-cells = <0>;mipi_sensor_input: endpoint@0 {reg = <0>;remote-endpoint = <&isp_mipi_in>;};};}; };&rkisp1 {status = "okay";pinctrl-names = "default";pinctrl-0 = <&isp_mipi>;port {#address-cells = <1>;#size-cells = <0>;isp_mipi_in: endpoint@0 {reg = <0>;remote-endpoint = <&mipi_sensor_input>;};}; };&isp {status = "disabled"; };\sdk-9.0\kernel\arch\arm\configs\rockchip_defconfigCONFIG_VIDEO_OV13850=y 7.SATA1.GPIO 驅(qū)動(dòng),供電和復(fù)位腳使用。2.dtsigpio_driver {compatible = "gpio_driver";sata_enable_gpio = <&gpio7 RK_PB7 GPIO_ACTIVE_HIGH>;sata_reset_gpio = <&gpio8 RK_PA7 GPIO_ACTIVE_HIGH>; }; 3.發(fā)現(xiàn)一個(gè)現(xiàn)象,插上sata后,時(shí)間變得不準(zhǔn)確,外接電源還是有這個(gè)現(xiàn)象,logcat報(bào)錯(cuò),連接不上ntp,為什么會(huì)導(dǎo)致連接不上ntp還位置,我直接更改ntp地址。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> 8.4G and gps 同其他文件 9.聲卡(1)dtsi sound: sound {status = "okay";....}; hdmi_analog_sound: hdmi-analog-sound {....status = "disabled";};2)命令調(diào)試1. 通過(guò)如下命令確認(rèn)聲卡是否注冊(cè)成功# cat /proc/asound/cards 0 [rockchiprt5640c]: rockchip_rt5640 - rockchip,rt5640-codec rockchip,rt5640-codec# ls -l /dev/snd/ crw-rw---- system audio 116, 2 2013-01-18 08:51 controlC0 crw-rw---- system audio 116, 4 2013-01-18 08:51 pcmC0D0c crw-rw---- system audio 116, 3 2013-01-18 08:51 pcmC0D0p2. 通過(guò)命令行播放錄制調(diào)試聲卡:播放:# tinyplay Usage: tinyplay file.wav [-D card] [-d device] [-p period_size] [-n n_periods]# tinyplay /sdcard/test44.wav -D 0 -d 0 -p 1024 -n 3 Playing sample: 2 ch, 44100 hz, 32 bit錄制:# tinycap Usage: tinycap file.wav [-D card] [-d device] [-c channels] [-r rate] [-b bits] [-p period_size] [-n n_periods]# tinycap /sdcard/rec.wav -D 0 -d 0 –c 2 –r 44100 –b 16 –p 1024 –n 33)如果HDMI有聲音輸出且聲音正常,說(shuō)明kernel沒(méi)有問(wèn)題,否則反之。但打開(kāi)APP卻沒(méi)有聲音輸出,則需要調(diào)試應(yīng)用層。(問(wèn)題因人而異)(4)耳機(jī)錄音不生效,就是插入耳機(jī)的時(shí)候,沒(méi)有進(jìn)行耳機(jī)與麥克風(fēng)的切換。后來(lái)發(fā)現(xiàn)是中斷的問(wèn)題:// #define IRQ_TYPE_EDGE_BOTH (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING)//雙邊沿觸發(fā) // #define IRQ_TYPE_LEVEL_LOW 8//低電平觸發(fā) if (hp_irq) { ret = devm_request_threaded_irq(&i2c->dev, hp_irq, NULL, hp_det_irq_handler,IRQ_TYPE_LEVEL_LOW | IRQF_ONESHOT,"ES8323", NULL);.....} 驅(qū)動(dòng)選擇的是雙邊沿觸發(fā),但這里雙邊沿觸發(fā)并沒(méi)有生效,所以改成下邊沿觸發(fā)。(5)發(fā)現(xiàn)耳機(jī)錄音有背景噪音,通過(guò)調(diào)試ADC得到徹底的解決,于是通過(guò)降低增益減少噪音的干擾,后續(xù)待解決。 10.有時(shí)進(jìn)深度休眠無(wú)法喚醒http://www.cnblogs.com/lialong1st/

總結(jié)

以上是生活随笔為你收集整理的rk3288_updata的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。