可以根据实例说明,比如说瑞芯微的样本dts是rk3288-evb-android-act8846-edp.dts
时间: 2024-01-01 11:03:15 浏览: 191
当我们在使用Linux系统时,会需要使用设备树(Device Tree)来描述硬件设备的信息。设备树是一种描述硬件的抽象语言,可以在启动时加载到内核中,让内核知道如何与硬件设备进行交互。
以瑞芯微的样本dts为例,rk3288-evb-android-act8846-edp.dts是描述瑞芯微RK3288开发板上使用的ACT8846电源管理芯片和EDP显示器的设备树文件。这个设备树文件中包含了各个硬件设备的名称、地址、中断号等信息,让内核能够正确地与这些设备进行交互。
通过设备树,我们可以方便地修改硬件设备的配置,添加新的设备或者修改设备参数,而不需要重新编译内核。这样可以大大简化了系统维护和开发的难度。
相关问题
有没卡启动的rk3288-evb-android-act8846-edp.dts示例
以下是一个可以用于SD卡启动的rk3288-evb-android-act8846-ed.dts示例,仅供参考:
```
/dts-v1/;
/include/ "rk3288.dtsi"
/ {
model = "Rockchip RK3288 EVB with act8846 and edp";
chosen {
bootargs = "earlyprintk console=ttyS2,115200n8 root=/dev/mmcblk1p2 rw rootwait";
};
memory@60000000 {
reg = <0x60000000 0x40000000>;
};
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
ranges;
kernel@0 {
reg = <0x60000000 0x02000000>;
};
reserved@20000000 {
reg = <0x20000000 0x20000000>;
};
};
aliases {
mmc0 = &sdmmc;
};
sdmmc: sdmmc@fe310000 {
compatible = "rockchip,rk3288-dw-mshc";
reg = <0xfe310000 0x1000>;
interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cru PCLK_SDMMC0>, <&cru SCLK_SDMMC0>;
clock-names = "pclk", "hclk";
dmas = <&pdma 12>, <&pdma 12>;
dma-names = "rx", "tx";
pinctrl-0 = <&sdmmc_pins>;
pinctrl-names = "default";
status = "okay";
};
sdmmc_pins: sdmmc@0 {
rockchip,pins = <
RK_GPIO1 1 RK_FUNC_2
RK_GPIO1 2 RK_FUNC_2
RK_GPIO1 3 RK_FUNC_2
RK_GPIO1 4 RK_FUNC_2
RK_GPIO1 5 RK_FUNC_2
RK_GPIO1 6 RK_FUNC_2
RK_GPIO1 7 RK_FUNC_2
RK_GPIO1 8 RK_FUNC_2
>;
};
act8846: act8846@5b {
compatible = "active-semi,act8846";
reg = <0x5b>;
gpio-controller;
#gpio-cells = <2>;
interrupt-parent = <&gpio1>;
interrupts = <14 IRQ_TYPE_EDGE_RISING>;
pinctrl-names = "default";
pinctrl-0 = <&act8846_pins>;
status = "okay";
};
act8846_pins: act8846@0 {
rockchip,pins = <
RK_GPIO4 3 RK_FUNC_GPIO
RK_GPIO4 4 RK_FUNC_GPIO
RK_GPIO4 5 RK_FUNC_GPIO
>;
};
edp: edp@1c19000 {
compatible = "rockchip,rk3288-edp";
reg = <0x01c19000 0x1000>;
interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cru SCLK_EDP>;
clock-names = "edp";
status = "okay";
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm2 0 5000>;
brightness-levels = <0 14 28 42 56 70 84 100>;
default-brightness-level = <7>;
status = "okay";
};
};
```
这个示例中,sdmmc节点表示SD卡,act8846节点表示PMIC,edp节点表示eDP显示器接口,backlight节点表示背光控制。其中,bootargs设置了SD卡启动的相关参数。注意,这个示例是根据某个特定的rk3288 EVB开发板进行配置的,如果你的硬件不同,需要进行相应的修改。
给一份rk3288-evb-android-act8846-edp.dtssd卡启动的修改
以下是一份针对RK3288-EVB-Android SDK的DTS文件修改示例,可以实现SD卡启动:
```
/dts-v1/;
/plugin/;
/ {
model = "Rockchip RK3288-EVB board";
compatible = "rockchip,rk3288-evb";
memory@60000000 {
device_type = "memory";
reg = <0x60000000 0x40000000>;
};
chosen {
bootargs = "console=ttyS2,115200n8 root=/dev/mmcblk1p2 rw rootwait earlyprintk";
stdout-path = &uart2;
};
uart2: serial@11004000 {
compatible = "rockchip,rk3288-uart", "snps,dw-apb-uart";
reg = <0x11004000 0x1000>;
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&uart2_clk>;
clock-names = "uartclk";
status = "okay";
};
sdhci@11014000 {
compatible = "rockchip,rk3288-dw-mshc";
reg = <0x11014000 0x1000>;
interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cru SCLK_SDMMC>, <&cru PCLK_SDMMC>;
clock-names = "sdmmc", "apb_pclk";
pinctrl-names = "default";
pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4 &sdmmc_bus8 &sdmmc_cd_n>;
status = "okay";
mmc-slot@0 {
reg = <0>;
bus-width = <8>;
cd-gpios = <&gpio7 3 GPIO_ACTIVE_LOW>;
non-removable;
status = "okay";
};
};
&dpu {
status = "okay";
};
&lcdc {
status = "okay";
};
&backlight {
status = "okay";
};
&act8846_reg {
status = "okay";
};
&i2c1 {
status = "okay";
act8846: act8846@5b {
compatible = "active-semi,act8846";
reg = <0x5b>;
gpio-controller;
#gpio-cells = <2>;
interrupt-parent = <&gpio2>;
interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
status = "okay";
};
};
&mmc {
status = "okay";
};
&mmc1 {
status = "okay";
};
&mmc2 {
status = "okay";
};
&mmc3 {
status = "okay";
};
&mmc4 {
status = "okay";
};
&sdmmc_clk {
rockchip,pins = <RK_GPIO3 8 RK_FUNC_2 &pcfg_pull_none>;
};
&sdmmc_cmd {
rockchip,pins = <RK_GPIO3 9 RK_FUNC_2 &pcfg_pull_none>;
};
&sdmmc_bus4 {
rockchip,pins = <RK_GPIO3 10 RK_FUNC_2 &pcfg_pull_none>;
};
&sdmmc_bus8 {
rockchip,pins = <RK_GPIO3 11 RK_FUNC_2 &pcfg_pull_none>;
};
&sdmmc_cd_n {
rockchip,pins = <RK_GPIO7 3 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
```
此外,你还需要在编译内核时加入SD卡启动相关的配置选项。具体方法可以参考RK3288-Android SDK的文档。
阅读全文
相关推荐













