rk3568 系统移植和编译

1。 硬件问题

尽量根据原版 evb 开发版 pcb 进行布线和移植,切记不可自行走线。 emmc 和 ddr4 选型都有要求的,按照硬件手册进行设计

2。软件问题

2.1  目前固件系统选用1.3.2 版本进行设计

解压后运行  .repo/repo/repo sync -c  更新代码

2.2 uboot 建议不要动,尝试在 u-boot/include/configs/rk3568_common.h  添加

#define DEBUG  编译报错, spl 编译中没有甚至lib 文件夹下面的链接,修复后又因为,uboot.img 文件变大,无法封包,修改 uboot/KConfig 中的 spl_image_KB 的默认大小 到3072,还需要修改 parameter.txt 设置文件大小

2.3 parameter.txt 参数 解释

CMDLINE: mtdparts=rk29xxnand:0x00002000@0x00004000(uboot),0x00002000@0x00006000(misc),0x00020000@0x00008000(boot),0x00020000@0x00028000(recovery),0x00010000@0x00048000(backup),0x00c00000@0x00058000(rootfs),0x00040000@0x00c58000(oem),-@0x00c98000(userdata:grow)

2.3.1 前面是大小,后面是起始位置,单位是 512 sector

2000*512 /1024/1024

修改 rootfs大小,可以增加的便的大小

0x02000000@0x00058000(rootfs),0x00040000@0x02058000(oem),-@0x02098000(userdata:grow)

0x02000000  16G emmc

2.4 修改电源

&pmu_io_domains {

status = "okay";

pmuio2-supply = <&vcc3v3_pmu>;

vccio1-supply = <&vccio_acodec>;

vccio3-supply = <&vccio_sd>;

vccio4-supply = <&vcc_1v8>;

vccio5-supply = <&vcc_3v3>;

vccio6-supply = <&vcc_1v8>;

vccio7-supply = <&vcc_3v3>;

};

2.5 酌情 修改 设备树,

2.5.1 设备数

&hdmi {
status = "okay";
rockchip,defaultmode = <4>;
};

HDMI 在开机时使用的分辨率按照以下优先级:
1. 在 Android 平台,若上次开机用户在 setting 中手动切换过分辨率且未曾恢复出厂设置或重新烧写固
件,则 HDMI 开机使用的分辨率为用户选择的分辨率。
2. 若用户未曾手动设置过分辨率,且开机 HDMI 成功读取 EDID,则选用 EDID 中的与
rockchip,defaultmode 的值对应的分辨率。
3. 若 EDID 中不存在 rockchip,defaultmode 对应的分辨率,则选择 EDID 中最大的分辨率。
4. 若读取 EDID 失败,则直接使用 rockchip,defaultmode 对应的分辨率。
5. 若在 dts 中未配置 rockchip,defaultmode ,则默认使用
kernel/drivers/video/rockchip/hdmi/rockchip-hdmi.h 中的宏
HDMI_VIDEO_DEFAULT_MODE 对应的分辨率。

2.5.2  dmc {disabled} dfi {disabled}

2.5.3 usb 3.0 Host to usb 2.0 host

&usbhost_dwc3 {

phys = <&u2phy0_host>; /*配置 phys 属性只引用 usb 2.0 phy 节点 */

phy-names = "usb2-phy";

maximum-speed = "high-speed"; /*配置 dwc3 控制器最高支持 high speed */

snps,dis_u2_susphy_quirk; /*配置 dwc3 控制器不支持自动 suspend usb2 phy */

status = "okay";

};

&combphy1_usq {

rockchip,dis-u3otg1-port; /*配置 dwc3_1 控制器最高支持 high speed */

status = "okay";

};

2.5.4  route_hdmi   保留一个

其余显示配置全部删除

3. 内核 USB 配置
USB 模块的配置及保存和其它内核模块的配置方法一样,以 arm64 架构的芯片配置为例:
导入默认配置:
make ARCH=arm64 rockchip_linux_defconfig
选择 Kernel 配置:
make ARCH=arm64 menuconfig
保存 default 配置:
make ARCH=arm64 savedefconfig
保存 default 配置,然后用 defconfig 替换 rockchip_linux_defconfig

你可能感兴趣的:(linux)