1、查找節點的OF函數
Linux內核使用device_node結構體來描述一個節點,此結構體定義在文件include/linux/of.h

1.1. of_find_node_by_name:通過節點名字查找指定節點

1.2. of_find_node_by_type:通過device_type屬性查找指定節點


1.3. of_find_node_by_path:通過路徑查找指定節點

1.4. of_find_compatible_node:根據device_type和compatible兩個屬性查找指定節點

1.5. of_find_matching_node_and_match:通過of_device_id匹配表查找指定節點
2、查找父子節點OF函數
2.1. of_get_parent:獲取指定節點的父節點

2.2. of_get_child:獲取制定節點的子節點

3、提取屬性值的OF函數
Linux內核中使用結構體property表示屬性,此結構體同樣定義在文件include/linux/of.h中

3.1. of_find_property:查找指定屬性

3.2. of_property_count_elems_of_size:獲取屬性中元素的數量


3.3. of_property_read_u32_index:從屬性中獲取指定標號的u32類型數據值

3.4. of_property_read_u8
of_property_read_u16
of_property_read_u32
of_property_read_u64:分別讀取屬性中u8、u16、u32、u64類型的數據

3.5. of_property_read_u8_array
of_property_read_u16_array
of_property_read_u32_array
of_property_read_u64_array:分別讀取屬性中u8、u16、u32、u64類型的數組數據


3.6. of_property_read_string:讀取屬性中的字符串數據

3.7. of_n_addr_cells:獲取#address-cells屬性值

3.8. of_n_size_cells:獲取#size-cells屬性值



