EDA365电子论坛网
标题:
关于设备树的地址分配问题???请大神讲讲
[打印本页]
作者:
uerriup
时间:
2019-8-12 16:58
标题:
关于设备树的地址分配问题???请大神讲讲
pci2: pcie@ffe0a000 {
: }' D$ @9 q9 h+ C
cell-index = <2>;
8 y0 S) K) T5 r/ A% \! {
compatible = "fsl,mpc8548-pcie";
7 P! V8 q! T8 n1 ^: g6 X
device_type = "pci";
& S0 L+ P! L2 k& q
#interrupt-cells = <1>;
& d* M* g% Y4 t; k0 p' ^( \
#size-cells = <2>;//表示几个cell,表示长度
! h, `/ G: b! A! y9 i+ @, f
#address-cells = <3>;//表示几个cell,表示地址
- u0 Q9 R6 i+ u! i9 K* s% _
reg = <0xffe0a000 0x1000>;
6 g+ S. G- U5 _3 R4 V m: ]
bus-range = <0 255>;
4 _/ _. {9 U2 P2 L4 E' [8 L# a
ranges = <0x2000000 0x0 0xc0000000 0xc0000000 0x0 0x20000000 0x1000000 0x0 0x0 0xffc20000 0x0 0x10000>;
/ r3 z( g6 H J
clock-frequency = <33333333>;
9 e" \# L/ V2 M/ u) |) @# M# M
interrupt-parent = <&mpic>;
3 y7 u' ^. r: j/ `$ ^
interrupts = <27 2>;
! a- P% S) A) {. d9 O
interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
5 D' N! t: n" \4 m' w$ ]! [
interrupt-map = < /* IDSEL 0x0 */ 0000 0x0 0x0 0x1 &mpic 0x0 0x1 0000 0x0 0x0 0x2 &mpic 0x1 0x1 0000 0x0 0x0 0x3 &mpic 0x2 0x1 0000 0x0 0x0 0x4 &mpic 0x3 0x1 >;
" B5 i7 z [: @
pcie@0 {
! X" F8 ~7 n7 W( x' C
reg = <0x0 0x0 0x0 0x0 0x0>;
) Y- U& g# F/ `$ q* \( I: A/ X
#size-cells = <2>;
# U+ v5 t2 Z t* S0 P# y; ~9 L( I
#address-cells = <3>;
6 X5 C( [# @' Q' z
device_type = "pci";
) v% ^, A* h( Q6 }3 ?6 L6 a" t
ranges = <0x2000000 0x0 0xc0000000 0x2000000 0x0 0xc0000000 0x0 0x20000000 0x1000000 0x0 0x0 0x1000000 0x0 0x0 0x0 0x100000>
/ m, u# Y8 p% U! F4 I
;
7 A0 z$ c. l g# C% K
: E: F# k X8 S& V9 d! u. @9 X. s
$ e" p5 K; k0 n) e
现在对这个地址分配还是有点不明白 首先pci控制器地址是ffe0a000 range映射地址是pci地址c0000000映射到cpu地址c0000000 那我要访问控制器的话 地址是c0000000+ffe0a000吗?可是range映射的长度只有20000000啊?还有我想问这个设备树里的cpu地址是虚拟地址还是物理地址?我要在应用层访问这个地址需要mmap吗? 求解!
& q5 G8 ^8 @+ @- ]9 E5 y
$ ?8 A/ @$ F# `, n5 p% p$ Q3 D
0 ]3 {' B) @* @. g1 v6 ] E
* u' S4 }' @/ Y) [5 ~
; X: |2 C. B' [* w: e- m
7 c4 `9 d4 K& S/ |6 C, |' b$ O/ p
+ F; Y4 U- T( S# P
7 O: ]1 C$ }9 Z9 m
作者:
fanichicl
时间:
2019-8-12 17:33
帮顶
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2