i.mx287基于linux-2.6.35内核驱动之clk_get()函数用法

360阅读 0评论2014-06-07 正道利剑
分类:LINUX

clk_get(NULL,"lradc")用来获得lradc时钟,clk_get从一个时钟list链表中以字符id名称来查找一个时钟clk结构体。之后调用clk_enable(),能使能对应的外设时钟源。
clk_get(NULL,"lradc"),函数的第二个参数"lradc"是在内核2.6.35中的arch/arm/mach-mx28/clock.c文件中定义的:
 

点击(此处)折叠或打开

  1. static struct clk_lookup onchip_clocks[] = {
  2.     {
  3.      .con_id = "xtal.0",
  4.      .clk = &xtal_clk[0],
  5.      },
  6.     {
  7.      .con_id = "xtal.1",
  8.      .clk = &xtal_clk[1],
  9.      },
  10.     {
  11.      .con_id = "xtal.2",
  12.      .clk = &xtal_clk[2],
  13.      },
  14.     {
  15.      .con_id = "pll.0",
  16.      .clk = &pll_clk[0],
  17.      },
  18.     {
  19.      .con_id = "pll.1",
  20.      .clk = &pll_clk[1],
  21.      },
  22.     {
  23.      .con_id = "pll.2",
  24.      .clk = &pll_clk[2],
  25.      },
  26.     {
  27.      .con_id = "ref_xtal",
  28.      .clk = &ref_xtal_clk,
  29.      },
  30.     {
  31.      .con_id = "ref_cpu",
  32.      .clk = &ref_cpu_clk,
  33.      },
  34.     {
  35.      .con_id = "ref_emi",
  36.      .clk = &ref_emi_clk,
  37.      },
  38.     {
  39.      .con_id = "ref_io.0",
  40.      .clk = &ref_io_clk[0],
  41.      },
  42.     {
  43.      .con_id = "ref_io.1",
  44.      .clk = &ref_io_clk[1],
  45.      },
  46.     {
  47.      .con_id = "ref_pix",
  48.      .clk = &ref_pix_clk,
  49.      },
  50.     {
  51.      .con_id = "ref_hsadc",
  52.      .clk = &ref_hsadc_clk,
  53.      },
  54.     {
  55.      .con_id = "ref_gpmi",
  56.      .clk = &ref_gpmi_clk,
  57.      },
  58.     {
  59.      .con_id = "ana",
  60.      .clk = &ana_clk,
  61.      },
  62.     {
  63.      .con_id = "rtc",
  64.      .clk = &rtc_clk,
  65.      },
  66.     {
  67.      .con_id = "cpu",
  68.      .clk = &cpu_clk,
  69.      },
  70.     {
  71.      .con_id = "h",
  72.      .clk = &h_clk,
  73.      },
  74.     {
  75.      .con_id = "x",
  76.      .clk = &x_clk,
  77.      },
  78.     {
  79.      .con_id = "ocrom",
  80.      .clk = &ocrom_clk,
  81.      },
  82.     {
  83.      .con_id = "clk_32k",
  84.      .clk = &clk_32k,
  85.      },
  86.     {
  87.      .con_id = "uart",
  88.      .clk = &uart_clk,
  89.      },
  90.     {
  91.      .con_id = "pwm",
  92.      .clk = &pwm_clk,
  93.      },
  94.     {
  95.      .con_id = "lradc",
  96.      .clk = &lradc_clk,
  97.      },
  98.     {
  99.      .con_id = "ssp.0",
  100.      .clk = &ssp_clk[0],
  101.      },
  102.     {
  103.      .con_id = "ssp.1",
  104.      .clk = &ssp_clk[1],
  105.      },
  106.     {
  107.      .con_id = "ssp.2",
  108.      .clk = &ssp_clk[2],
  109.      },
  110.     {
  111.      .con_id = "ssp.3",
  112.      .clk = &ssp_clk[3],
  113.      },
  114.     {
  115.      .con_id = "gpmi",
  116.      .clk = &gpmi_clk,
  117.      },
  118.     {
  119.      .con_id = "spdif",
  120.      .clk = &pcmspdif_clk,
  121.      },
  122.     {
  123.      .con_id = "saif.0",
  124.      .clk = &saif_clk[0],
  125.      },
  126.     {
  127.      .con_id = "saif.1",
  128.      .clk = &saif_clk[1],
  129.      },
  130.     {
  131.      .con_id = "emi",
  132.      .clk = &emi_clk,
  133.      },
  134.     {
  135.      .con_id = "dis_lcdif",
  136.      .clk = &dis_lcdif_clk,
  137.      },
  138.     {
  139.      .con_id = "hsadc",
  140.      .clk = &hsadc_clk,
  141.      },
  142.     {
  143.      .con_id = "can_clk",
  144.      .dev_id = "FlexCAN.0",
  145.      .clk = &flexcan_clk[0],
  146.      },
  147.     {
  148.      .con_id = "can_clk",
  149.      .dev_id = "FlexCAN.1",
  150.      .clk = &flexcan_clk[1],
  151.      },
  152.     {
  153.     .con_id = "usb_clk0",
  154.     .clk = &usb_clk0,
  155.     },
  156.     {
  157.     .con_id = "usb_clk1",
  158.     .clk = &usb_clk1,
  159.     },
  160.     {
  161.     .con_id = "usb_phy_clk0",
  162.     .clk = &usb_phy_clk0,
  163.     },
  164.     {
  165.     .con_id = "usb_phy_clk1",
  166.     .clk = &usb_phy_clk1,
  167.     },
  168.     {
  169.     .con_id = "fec_clk",
  170.     .clk = &enet_out_clk,
  171.     },
  172.     {
  173.     .con_id = "saif_mclk.0",
  174.     .clk = &saif_mclk[0],
  175.     },
  176.     {
  177.     .con_id = "saif_mclk.1",
  178.     .clk = &saif_mclk[1],
  179.     }
  180. };



 

上一篇:没有了
下一篇:没有了