DTS配置

DTS配置包括:I2C mount、body、regulator、rtc和其他部分。以下代码块为&i2c5pmic_axp15060: axp15060_reg@36的设备树源代码示例。
&i2c5 {
    clock-frequency = <100000>;
    i2c-sda-hold-time-ns = <300>;
    i2c-sda-falling-time-ns = <510>;
    i2c-scl-falling-time-ns = <510>;
    auto_calc_scl_lhcnt;
    pinctrl-names = "default";
    pinctrl-0 = <&i2c5_pins>;
status = "okay";

    pmic_axp15060: axp15060_reg@36 {
        compatible = "starfive,axp15060-regulator";
        reg = <0x36>;

        regulators {
            cpu_vdd: DCDC2 {
                regulator-boot-on;
                regulator-always-on;
                regulator-compatible = "cpu_vdd";
                regulator-name = "cpu_vdd";
                regulator-min-microvolt = <500000>;
                regulator-max-microvolt = <1540000>;
            };
            emmc_vdd: BLDO3 {
                regulator-boot-on;
                regulator-always-on;
                regulator-compatible = "emmc_vdd";
                regulator-name = "emmc_vdd";
                regulator-min-microvolt = <1800000>;
                regulator-max-microvolt = <1800000>;
            };
            vcc_3v3: BLDO4 {
                regulator-boot-on;
                regulator-always-on;
                regulator-compatible = "vcc_3v3";
                regulator-name = "vcc_3v3";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
            };
        };
    };
};
以下提供了对上述代码块中的参数说明。
  • clock-frequency:上述时钟的频率。
  • pinctrl-names:pinctrl的名称。
  • status:i2c模块的工作状态。
  • compatible:兼容性信息,用于连接驱动程序和目标设备。
  • reg:i2c的寄存器地址。
  • regulators: 需要被控制的regulator。
  • regulator-boot-on:由引导加载程序或固件启用的regulator。
  • regulator-always-on:禁止对该regulator进行断电操作。
  • regulator-min-microvolt:用户可设置的最小电压。
  • regulator-max-microvolt:用户可设置的最大电压。