6921
- 收藏
- 点赞
- 分享
- 举报
OpenWRT 下面的dts文件格式说明分享
本帖最后由 ns001x 于 2015-9-30 17:08 编辑
1,最近准备搞OpenWRT 发现dts文件格式很是不明白
比如 gpio0: gpio@600 也不知道什么意思,在一个群里问了然并卵,群主只管卖板子根本不去回答你的问题,群里问问题的人很多基本没啥回答的。无奈自己搜索,然而网上都是讲dts文件和pinmux怎么配置复用,添加其它设备的。
后来想既然@后面会跟一串数字,那么这个数字肯定不是胡乱加的,想想平时调东西,那些地方会有数字,只有内存地址么,赶紧翻datasheet 果不其然,这货就是对应的内存地址。
上图
借用网上的一个dts
[code]/dts-v1/;
2
3 /include/ "mt7620a.dtsi"
4
5 / {
6 compatible = "ralink,mt7620a-eval-board", "ralink,mt7620a-soc";
7 model = "Ralink MT7620a + MT7610e evaluation board";
8
9 memory@0 { //表示memory 从0地址开始
10 reg = <0x0 0x2000000>; 范围
11 };
12
13 chosen {
14 bootargs = "console=ttyS0,57600";
15 };
16
17 palmbus@10000000 { 0x10000000 之前的地址给了DDR 总线从这个地址开始
18 sysc@0 { //对应SYSCTL 地址
19 ralink,pinmux = "spi", "uartlite", "mdio", "wled", "ephy", "rgmii1", "rgmii2";
20 ralink,gpiomux = "i2c", "jtag";
21 ralink,uartmux = "gpio";
22 ralink,wdtmux = <1>;
23 };
24
25 gpio0: gpio@600 { //对应PIO地址 真实地址是palmbus + 0x600 0x10000600 地址,依次类推。
26 status = "okay";
27 };
28
29 spi@b00 {
30 status = "okay";
31
32 m25p80@0 {
33 #address-cells = <1>;
34 #size-cells = <1>;
35 compatible = "en25q64";
36 reg = <0 0>;
37 linux,modalias = "m25p80", "en25q64";
38 spi-max-frequency = <10000000>;
39
40 partition@0 {
41 label = "u-boot";
42 reg = <0x0 0x30000>;
43 read-only;
44 };
45
46 partition@30000 {
47 label = "u-boot-env";
48 reg = <0x30000 0x10000>;
49 read-only;
50 };
51
52 factory: partition@40000 {
53 label = "factory";
54 reg = <0x40000 0x10000>;
55 read-only;
56 };
57
58 partition@50000 {
59 label = "firmware";
60 reg = <0x50000 0x7b0000>;
61 };
62 };
63 };
64 };
65
66 ethernet@10100000 {
67 status = "okay";
68
69 port@4 {
70 compatible = "lantiq,mt7620a-gsw-port", "ralink,eth-port";
71 reg = <4>;
72 phy-mode = "rgmii";
73 phy-handle = <&phy4>;
74 };
75
76 port@5 {
77 compatible = "lantiq,mt7620a-gsw-port", "ralink,eth-port";
78 reg = <5>;
79 phy-mode = "rgmii";
80 phy-handle = <&phy5>;
81 };
82
83 mdio-bus {
84 status = "okay";
85
86 phy4: ethernet-phy@4 {
87 reg = <4>;
88 phy-mode = "rgmii";
89 };
90
91 phy5: ethernet-phy@5 {
92 reg = <5>;
93 phy-mode = "rgmii";
94 };
95 };
96 };
97
98 gsw@10110000 {
99 status = "okay";
100 ralink,port4 = "gmac";
101 };
102
103 sdhci@10130000 {
104 status = "okay";
105 };
106
107 pcie@10140000 {
108 status = "okay";
109 };
110
111 gpio-keys-polled {
112 compatible = "gpio-keys";
113 #address-cells = <1>;
114 #size-cells = <0>;
115 poll-interval = <20>;
116 s2 {
117 label = "S2";
118 gpios = <&gpio0 1 1>;
119 linux,code = <0x100>;
120 };
121 s3 {
122 label = "S3";
123 gpios = <&gpio0 2 1>;
124 linux,code = <0x101>;
125 };
126 };
127 };[/code]
根据红色注释部分,对照分析其它设备。
秉承david 大大号召,悦分享悦快乐。
1,最近准备搞OpenWRT 发现dts文件格式很是不明白
比如 gpio0: gpio@600 也不知道什么意思,在一个群里问了然并卵,群主只管卖板子根本不去回答你的问题,群里问问题的人很多基本没啥回答的。无奈自己搜索,然而网上都是讲dts文件和pinmux怎么配置复用,添加其它设备的。
后来想既然@后面会跟一串数字,那么这个数字肯定不是胡乱加的,想想平时调东西,那些地方会有数字,只有内存地址么,赶紧翻datasheet 果不其然,这货就是对应的内存地址。
上图
借用网上的一个dts
[code]/dts-v1/;
2
3 /include/ "mt7620a.dtsi"
4
5 / {
6 compatible = "ralink,mt7620a-eval-board", "ralink,mt7620a-soc";
7 model = "Ralink MT7620a + MT7610e evaluation board";
8
9 memory@0 { //表示memory 从0地址开始
10 reg = <0x0 0x2000000>; 范围
11 };
12
13 chosen {
14 bootargs = "console=ttyS0,57600";
15 };
16
17 palmbus@10000000 { 0x10000000 之前的地址给了DDR 总线从这个地址开始
18 sysc@0 { //对应SYSCTL 地址
19 ralink,pinmux = "spi", "uartlite", "mdio", "wled", "ephy", "rgmii1", "rgmii2";
20 ralink,gpiomux = "i2c", "jtag";
21 ralink,uartmux = "gpio";
22 ralink,wdtmux = <1>;
23 };
24
25 gpio0: gpio@600 { //对应PIO地址 真实地址是palmbus + 0x600 0x10000600 地址,依次类推。
26 status = "okay";
27 };
28
29 spi@b00 {
30 status = "okay";
31
32 m25p80@0 {
33 #address-cells = <1>;
34 #size-cells = <1>;
35 compatible = "en25q64";
36 reg = <0 0>;
37 linux,modalias = "m25p80", "en25q64";
38 spi-max-frequency = <10000000>;
39
40 partition@0 {
41 label = "u-boot";
42 reg = <0x0 0x30000>;
43 read-only;
44 };
45
46 partition@30000 {
47 label = "u-boot-env";
48 reg = <0x30000 0x10000>;
49 read-only;
50 };
51
52 factory: partition@40000 {
53 label = "factory";
54 reg = <0x40000 0x10000>;
55 read-only;
56 };
57
58 partition@50000 {
59 label = "firmware";
60 reg = <0x50000 0x7b0000>;
61 };
62 };
63 };
64 };
65
66 ethernet@10100000 {
67 status = "okay";
68
69 port@4 {
70 compatible = "lantiq,mt7620a-gsw-port", "ralink,eth-port";
71 reg = <4>;
72 phy-mode = "rgmii";
73 phy-handle = <&phy4>;
74 };
75
76 port@5 {
77 compatible = "lantiq,mt7620a-gsw-port", "ralink,eth-port";
78 reg = <5>;
79 phy-mode = "rgmii";
80 phy-handle = <&phy5>;
81 };
82
83 mdio-bus {
84 status = "okay";
85
86 phy4: ethernet-phy@4 {
87 reg = <4>;
88 phy-mode = "rgmii";
89 };
90
91 phy5: ethernet-phy@5 {
92 reg = <5>;
93 phy-mode = "rgmii";
94 };
95 };
96 };
97
98 gsw@10110000 {
99 status = "okay";
100 ralink,port4 = "gmac";
101 };
102
103 sdhci@10130000 {
104 status = "okay";
105 };
106
107 pcie@10140000 {
108 status = "okay";
109 };
110
111 gpio-keys-polled {
112 compatible = "gpio-keys";
113 #address-cells = <1>;
114 #size-cells = <0>;
115 poll-interval = <20>;
116 s2 {
117 label = "S2";
118 gpios = <&gpio0 1 1>;
119 linux,code = <0x100>;
120 };
121 s3 {
122 label = "S3";
123 gpios = <&gpio0 2 1>;
124 linux,code = <0x101>;
125 };
126 };
127 };[/code]
根据红色注释部分,对照分析其它设备。
秉承david 大大号召,悦分享悦快乐。
我来回答
回答0个
时间排序
认可量排序
暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2018-09-28 09:31:19
-
2022-10-14 13:54:41
-
2020-12-04 15:43:07
-
2015-06-03 11:12:28
-
2019-01-25 13:59:48
-
2017-11-26 19:15:31
-
2018-12-14 10:08:59
-
2020-02-29 18:35:15
-
2013-08-24 20:34:37
-
2018-12-05 16:47:38
-
2015-07-14 09:35:06
-
2018-08-10 13:40:11
-
2021-01-12 13:49:54
-
2018-12-11 13:33:03
-
2015-04-08 20:25:06
-
2018-01-25 16:22:46
-
2023-09-06 15:59:31
-
2015-09-28 10:22:29
-
2018-12-20 16:27:21
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
-
10求HI3519DV500_SDK_V2.0.1.1
-
5有偿求HI3516DV500 + OV5647驱动
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认