clock { } ( 给不同的cpu模块提供时钟. qt2440里也有的)

一个设备树的总体结构如下

  / o device-tree
      |- name = "device-tree"
      |- model = "MyBoardName"
      |- compatible = "MyBoardFamilyName"
      |- #address-cells = <2>
      |- #size-cells = <2>
      |- linux,phandle = <0>
      |
      o cpus
      | | - name = "cpus"
      | | - linux,phandle = <1>
      | | - #address-cells = <1>
      | | - #size-cells = <0>
      | |
      | o PowerPC,970@0
      |   |- name = "PowerPC,970"
      |   |- device_type = "cpu"
      |   |- reg = <0>
      |   |- clock-frequency = <0x5f5e1000>
      |   |- 64-bit
      |   |- linux,phandle = <2>
      |
      o memory@0
      | |- name = "memory"
      | |- device_type = "memory"
      | |- reg = <0x00000000 0x00000000 0x00000000 0x20000000>
      | |- linux,phandle = <3>
      |
      o chosen
        |- name = "chosen"
        |- bootargs = "root=/dev/sda2"
        |- linux,phandle = <4>


下面是个实际的例子:s3c6410-smdk6410板子的设备树
/ {
    model = "SAMSUNG SMDK6410 board based on S3C6410";
    compatible = "samsung,mini6410", "samsung,s3c6410";

    memory {
        reg = <0x50000000 0x8000000>;
    };

    chosen {
        bootargs = "console=ttySAC0,115200n8 earlyprintk rootwait root=/dev/mmcblk0p1";
    };

    clocks {
        compatible = "simple-bus";
        #address-cells = <1>;
        #size-cells = <0>;

        fin_pll: oscillator@0 {
            compatible = "fixed-clock";
            reg = <0>;
            clock-frequency = <12000000>;
            clock-output-names = "fin_pll";
            #clock-cells = <0>;
        };

        xusbxti: oscillator@1 {
            compatible = "fixed-clock";
            reg = <1>;
            clock-output-names = "xusbxti";
            clock-frequency = <48000000>;
            #clock-cells = <0>;
        };
    };

    srom-cs1@18000000 {
        compatible = "simple-bus";
        #address-cells = <1>;
        #size-cells = <1>;
        reg = <0x18000000 0x8000000>;
    rangs;

posted on 2017-03-24 10:52  Red_Point  阅读(448)  评论(0)    收藏  举报

导航