Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
meta-elphel393
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
meta-elphel393
Commits
4bca3b1c
Commit
4bca3b1c
authored
Nov 15, 2013
by
Oleg Dzhimiev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
+ modified device trees for other boards
parent
3911687d
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
1038 additions
and
9 deletions
+1038
-9
linux-xlnx.inc
recipes-kernel/linux/linux-xlnx.inc
+12
-9
elphel393.dts
recipes-kernel/linux/linux-xlnx/dts/elphel393.dts
+0
-0
microzed.dts
recipes-kernel/linux/linux-xlnx/dts/microzed.dts
+371
-0
zynq-zc706.dts
recipes-kernel/linux/linux-xlnx/dts/zynq-zc706.dts
+316
-0
zynq-zed.dts
recipes-kernel/linux/linux-xlnx/dts/zynq-zed.dts
+339
-0
No files found.
recipes-kernel/linux/linux-xlnx.inc
View file @
4bca3b1c
...
...
@@ -15,23 +15,26 @@ SRC_URI_append += "file://xilinx_nandps.patch"
# MACHINE=elphel393
SRC_URI_append_elphel393
+=
"file://elphel393_defconfig_${LINUX_VERSION}.cfg \
file://elphel393.dts"
file://
dts/
elphel393.dts"
KERNEL_DEVICETREE_elphel393
=
"${WORKDIR}/elphel393.dts"
KERNEL_DEVICETREE_elphel393
=
"${WORKDIR}/
dts/
elphel393.dts"
#MACHINE=microzed
#Copy of zedboard's defconfig
SRC_URI_append_microzed
+=
"file://microzed_defconfig_${LINUX_VERSION}.cfg"
SRC_URI_append_microzed
+=
"file://microzed_defconfig_${LINUX_VERSION}.cfg \
file://dts/microzed.dts"
#zedboard's dts more or less works with microzed
KERNEL_DEVICETREE_microzed
=
"${S}/arch/arm/boot/dts/zynq-zed.dts"
KERNEL_DEVICETREE_microzed
=
"${WORKDIR}/dts/microzed.dts"
#MACHINE=zedboard
#Copy of zedboard's defconfig
SRC_URI_append_zedboard
+=
"file://microzed_defconfig_${LINUX_VERSION}.cfg"
KERNEL_DEVICETREE_zedboard
=
"${S}/arch/arm/boot/dts/zynq-zed.dts"
SRC_URI_append_zedboard
+=
"file://microzed_defconfig_${LINUX_VERSION}.cfg \
file://dts/zynq-zed.dts"
KERNEL_DEVICETREE_zedboard
=
"${WORKDIR}/dts/zynq-zed.dts"
#MACHINE=zc706
#Copy of zedboard's defconfig
SRC_URI_append_zedboard
+=
"file://microzed_defconfig_${LINUX_VERSION}.cfg"
KERNEL_DEVICETREE_zc706
=
"${S}/arch/arm/boot/dts/zynq-zc706.dts"
\ No newline at end of file
SRC_URI_append_zc706
+=
"file://microzed_defconfig_${LINUX_VERSION}.cfg \
file://dts/zynq-zc706.dts"
KERNEL_DEVICETREE_zc706
=
"${WORKDIR}/dts/zynq-zc706.dts"
\ No newline at end of file
recipes-kernel/linux/linux-xlnx/elphel393.dts
→
recipes-kernel/linux/linux-xlnx/
dts/
elphel393.dts
View file @
4bca3b1c
File moved
recipes-kernel/linux/linux-xlnx/dts/microzed.dts
0 → 100644
View file @
4bca3b1c
/*
*/
/
dts
-
v1
/;
/
{
#
address
-
cells
=
<
0x1
>;
#
size
-
cells
=
<
0x1
>;
compatible
=
"xlnx,zynq-zc770"
;
model
=
"Xilinx Zynq"
;
aliases
{
ethernet0
=
"/amba@0/ps7-ethernet@e000b000"
;
serial0
=
"/amba@0/serial@e0001000"
;
};
chosen
{
bootargs
=
"console=ttyPS0,115200 root=/dev/ram rw ip=192.168.0.9 earlyprintk ramdisk_size=65536"
;
linux
,
stdout
-
path
=
"/axi@0/serial@e0001000"
;
};
cpus
{
#
address
-
cells
=
<
0x1
>;
#
cpus
=
<
0x2
>;
#
size
-
cells
=
<
0x0
>;
cpu
@
0
{
compatible
=
"xlnx,ps7-cortexa9-1.00.a"
;
d
-
cache
-
line
-
size
=
<
0x20
>;
d
-
cache
-
size
=
<
0x8000
>;
device_type
=
"cpu"
;
i
-
cache
-
line
-
size
=
<
0x20
>;
i
-
cache
-
size
=
<
0x8000
>;
model
=
"ps7_cortexa9,1.00.a"
;
reg
=
<
0x0
>;
xlnx
,
cpu
-
1
x
-
clk
-
freq
-
hz
=
<
0x69f6bcb
>;
xlnx
,
cpu
-
clk
-
freq
-
hz
=
<
0x27bc86bf
>;
};
cpu
@
1
{
compatible
=
"xlnx,ps7-cortexa9-1.00.a"
;
d
-
cache
-
line
-
size
=
<
0x20
>;
d
-
cache
-
size
=
<
0x8000
>;
device_type
=
"cpu"
;
i
-
cache
-
line
-
size
=
<
0x20
>;
i
-
cache
-
size
=
<
0x8000
>;
model
=
"ps7_cortexa9,1.00.a"
;
reg
=
<
0x1
>;
xlnx
,
cpu
-
1
x
-
clk
-
freq
-
hz
=
<
0x69f6bcb
>;
xlnx
,
cpu
-
clk
-
freq
-
hz
=
<
0x27bc86bf
>;
};
};
pmu
{
compatible
=
"arm,cortex-a9-pmu"
;
interrupt
-
parent
=
<
0x1
>;
interrupts
=
<
0x0
0x5
0x4
0x0
0x6
0x4
>;
reg
=
<
0xf8891000
0x1000
0xf8893000
0x1000
>;
};
memory
@
0
{
device_type
=
"memory"
;
reg
=
<
0x0
0x40000000
>;
};
amba
@
0
{
#
address
-
cells
=
<
0x1
>;
#
size
-
cells
=
<
0x1
>;
compatible
=
"xlnx,ps7-axi-interconnect-1.00.a"
,
"simple-bus"
;
ranges
;
ps7
-
afi
@
f8008000
{
compatible
=
"xlnx,ps7-afi-1.00.a"
;
reg
=
<
0xf8008000
0x1000
>;
};
ps7
-
afi
@
f8009000
{
compatible
=
"xlnx,ps7-afi-1.00.a"
;
reg
=
<
0xf8009000
0x1000
>;
};
ps7
-
afi
@
f800a000
{
compatible
=
"xlnx,ps7-afi-1.00.a"
;
reg
=
<
0xf800a000
0x1000
>;
};
ps7
-
afi
@
f800b000
{
compatible
=
"xlnx,ps7-afi-1.00.a"
;
reg
=
<
0xf800b000
0x1000
>;
};
ps7
-
ddrc
@
f8006000
{
compatible
=
"xlnx,ps7-ddrc-1.00.a"
,
"xlnx,ps7-ddrc"
;
reg
=
<
0xf8006000
0x1000
>;
xlnx
,
has
-
ecc
=
<
0x0
>;
};
ps7
-
dev
-
cfg
@
f8007000
{
compatible
=
"xlnx,ps7-dev-cfg-1.00.a"
;
interrupt
-
parent
=
<
0x1
>;
interrupts
=
<
0x0
0x8
0x4
>;
reg
=
<
0xf8007000
0x1000
>;
};
ps7
-
dma
@
f8003000
{
#
dma
-
cells
=
<
0x1
>;
#
dma
-
channels
=
<
0x8
>;
#
dma
-
requests
=
<
0x4
>;
arm
,
primecell
-
periphid
=
<
0x41330
>;
compatible
=
"xlnx,ps7-dma-1.00.a"
,
"arm,primecell"
,
"arm,pl330"
;
interrupt
-
parent
=
<
0x1
>;
interrupts
=
<
0x0
0xd
0x4
0x0
0xe
0x4
0x0
0xf
0x4
0x0
0x10
0x4
0x0
0x11
0x4
0x0
0x28
0x4
0x0
0x29
0x4
0x0
0x2a
0x4
0x0
0x2b
0x4
>;
reg
=
<
0xf8003000
0x1000
>;
};
ps7
-
ethernet
@
e000b000
{
#
address
-
cells
=
<
0x1
>;
#
size
-
cells
=
<
0x0
>;
compatible
=
"xlnx,ps7-ethernet-1.00.a"
;
interrupt
-
parent
=
<
0x1
>;
interrupts
=
<
0x0
0x16
0x1
>;
local
-
mac
-
address
=
[
00
0
a
35
00
00
00
];
phy
-
handle
=
<
0x2
>;
phy
-
mode
=
"rgmii-id"
;
reg
=
<
0xe000b000
0x1000
>;
xlnx
,
enet
-
clk
-
freq
-
hz
=
<
0x7735940
>;
xlnx
,
enet
-
reset
=
<
0xffffffff
>;
xlnx
,
enet
-
slcr
-
1000
mbps
-
div0
=
<
0x8
>;
xlnx
,
enet
-
slcr
-
1000
mbps
-
div1
=
<
0x1
>;
xlnx
,
enet
-
slcr
-
100
mbps
-
div0
=
<
0x8
>;
xlnx
,
enet
-
slcr
-
100
mbps
-
div1
=
<
0x5
>;
xlnx
,
enet
-
slcr
-
10
mbps
-
div0
=
<
0x8
>;
xlnx
,
enet
-
slcr
-
10
mbps
-
div1
=
<
0x32
>;
xlnx
,
eth
-
mode
=
<
0x1
>;
xlnx
,
has
-
mdio
=
<
0x1
>;
xlnx
,
ptp
-
enet
-
clock
=
<
0x69f6bcb
>;
mdio
{
#
address
-
cells
=
<
0x1
>;
#
size
-
cells
=
<
0x0
>;
phy
@
7
{
compatible
=
"marvell,88e1510"
;
device_type
=
"ethernet-phy"
;
reg
=
<
0x7
>;
linux
,
phandle
=
<
0x2
>;
phandle
=
<
0x2
>;
};
};
};
ps7
-
i2c
@
e0004000
{
bus
-
id
=
<
0
>;
compatible
=
"xlnx,ps7-i2c-1.00.a"
;
i2c
-
clk
=
<
400000
>;
input
-
clk
=
<
111111114
>;
interrupt
-
parent
=
<
0x1
>;
interrupts
=
<
0
25
4
>;
reg
=
<
0xe0004000
0x1000
>;
xlnx
,
has
-
interrupt
=
<
0x0
>;
xlnx
,
i2c
-
clk
-
freq
-
hz
=
<
0x69f6bcb
>;
xlnx
,
i2c
-
reset
=
""
;
}
;
ps7
-
gpio
@
e000a000
{
#
gpio
-
cells
=
<
0x2
>;
compatible
=
"xlnx,ps7-gpio-1.00.a"
;
emio
-
gpio
-
width
=
<
0x40
>;
gpio
-
controller
;
gpio
-
mask
-
high
=
<
0xc0000
>;
gpio
-
mask
-
low
=
<
0xfe81
>;
interrupt
-
parent
=
<
0x1
>;
interrupts
=
<
0x0
0x14
0x4
>;
reg
=
<
0xe000a000
0x1000
>;
};
ps7
-
iop
-
bus
-
config
@
e0200000
{
compatible
=
"xlnx,ps7-iop-bus-config-1.00.a"
;
reg
=
<
0xe0200000
0x1000
>;
};
ps7
-
pl310
@
f8f02000
{
arm
,
data
-
latency
=
<
0x3
0x2
0x2
>;
arm
,
tag
-
latency
=
<
0x2
0x2
0x2
>;
cache
-
level
=
<
0x2
>;
cache
-
unified
;
compatible
=
"xlnx,ps7-pl310-1.00.a"
,
"arm,pl310-cache"
;
interrupt
-
parent
=
<
0x1
>;
interrupts
=
<
0x0
0x2
0x4
>;
reg
=
<
0xf8f02000
0x1000
>;
};
ps7
-
qspi
@
e000d000
{
bus
-
num
=
<
0x0
>;
compatible
=
"xlnx,ps7-qspi-1.00.a"
;
interrupt
-
parent
=
<
0x1
>;
interrupts
=
<
0x0
0x13
0x4
>;
is
-
dual
=
<
0x0
>;
num
-
chip
-
select
=
<
0x1
>;
reg
=
<
0xe000d000
0x1000
>;
speed
-
hz
=
<
0xbebc200
>;
xlnx
,
fb
-
clk
=
<
0x1
>;
xlnx
,
qspi
-
clk
-
freq
-
hz
=
<
0xbebc200
>;
xlnx
,
qspi
-
mode
=
<
0x0
>;
#
address
-
cells
=
<
0x1
>;
#
size
-
cells
=
<
0x0
>;
flash
@
0
{
compatible
=
"n25q128"
;
reg
=
<
0x0
>;
spi
-
max
-
frequency
=
<
0x2faf080
>;
#
address
-
cells
=
<
0x1
>;
#
size
-
cells
=
<
0x1
>;
partition
@
qspi
-
fsbl
-
uboot
{
label
=
"qspi-fsbl-uboot"
;
reg
=
<
0x0
0x100000
>;
};
partition
@
qspi
-
linux
{
label
=
"qspi-linux"
;
reg
=
<
0x100000
0x500000
>;
};
partition
@
qspi
-
device
-
tree
{
label
=
"qspi-device-tree"
;
reg
=
<
0x600000
0x20000
>;
};
partition
@
qspi
-
rootfs
{
label
=
"qspi-rootfs"
;
reg
=
<
0x620000
0x5e0000
>;
};
partition
@
qspi
-
bitstream
{
label
=
"qspi-bitstream"
;
reg
=
<
0xc00000
0x400000
>;
};
};
};
ps7
-
qspi
-
linear
@
fc000000
{
compatible
=
"xlnx,ps7-qspi-linear-1.00.a"
;
reg
=
<
0xfc000000
0x1000000
>;
xlnx
,
qspi
-
clk
-
freq
-
hz
=
<
0xe4e1c0
>;
};
ps7
-
ram
@
0
{
compatible
=
"xlnx,ps7-ram-1.00.a"
,
"xlnx,ps7-ocm"
;
reg
=
<
0xfffc0000
0x40000
>;
};
ps7
-
scugic
@
f8f01000
{
#
address
-
cells
=
<
0x2
>;
#
interrupt
-
cells
=
<
0x3
>;
#
size
-
cells
=
<
0x1
>;
compatible
=
"xlnx,ps7-scugic-1.00.a"
,
"arm,cortex-a9-gic"
,
"arm,gic"
;
interrupt
-
controller
;
linux
,
phandle
=
<
0x1
>;
phandle
=
<
0x1
>;
reg
=
<
0xf8f01000
0x1000
0xf8f00100
0x100
>;
};
ps7
-
scutimer
@
f8f00600
{
compatible
=
"xlnx,ps7-scutimer-1.00.a"
,
"arm,cortex-a9-twd-timer"
;
interrupt
-
parent
=
<
0x1
>;
interrupts
=
<
0x1
0xd
0x301
>;
reg
=
<
0xf8f00600
0x20
>;
};
ps7
-
scuwdt
@
f8f00620
{
compatible
=
"xlnx,ps7-scuwdt-1.00.a"
;
device_type
=
"watchdog"
;
interrupt
-
parent
=
<
0x1
>;
interrupts
=
<
0x1
0xe
0x301
>;
reg
=
<
0xf8f00620
0xe0
>;
};
ps7
-
sdio
@
e0100000
{
clock
-
frequency
=
<
0x7735940
>;
compatible
=
"xlnx,ps7-sdio-1.00.a"
,
"generic-sdhci"
;
interrupt
-
parent
=
<
0x1
>;
interrupts
=
<
0x0
0x18
0x4
>;
reg
=
<
0xe0100000
0x1000
>;
xlnx
,
has
-
cd
=
<
0x1
>;
xlnx
,
has
-
power
=
<
0x0
>;
xlnx
,
has
-
wp
=
<
0x1
>;
xlnx
,
sdio
-
clk
-
freq
-
hz
=
<
0x3f93e10
>;
};
ps7
-
slcr
@
f8000000
{
compatible
=
"xlnx,ps7-slcr-1.00.a"
,
"xlnx,zynq-slcr"
;
reg
=
<
0xf8000000
0x1000
>;
clocks
{
#
address
-
cells
=
<
0x1
>;
#
size
-
cells
=
<
0x0
>;
armpll
{
#
clock
-
cells
=
<
0x0
>;
clock
-
output
-
names
=
"armpll"
;
clocks
=
<
0x3
>;
compatible
=
"xlnx,zynq-pll"
;
lockbit
=
<
0x0
>;
reg
=
<
0x100
0x110
0x10c
>;
};
ddrpll
{
#
clock
-
cells
=
<
0x0
>;
clock
-
output
-
names
=
"ddrpll"
;
clocks
=
<
0x3
>;
compatible
=
"xlnx,zynq-pll"
;
lockbit
=
<
0x1
>;
reg
=
<
0x104
0x114
0x10c
>;
};
iopll
{
#
clock
-
cells
=
<
0x0
>;
clock
-
output
-
names
=
"iopll"
;
clocks
=
<
0x3
>;
compatible
=
"xlnx,zynq-pll"
;
lockbit
=
<
0x2
>;
reg
=
<
0x108
0x118
0x10c
>;
};
ps_clk
{
#
clock
-
cells
=
<
0x0
>;
clock
-
frequency
=
<
0x1fca055
>;
clock
-
output
-
names
=
"ps_clk"
;
compatible
=
"fixed-clock"
;
linux
,
phandle
=
<
0x3
>;
phandle
=
<
0x3
>;
};
};
};
ps7
-
ttc
@
f8001000
{
compatible
=
"xlnx,ps7-ttc-1.00.a"
;
interrupt
-
parent
=
<
0x1
>;
interrupts
=
<
0x0
0xa
0x4
0x0
0xb
0x4
0x0
0xc
0x4
>;
reg
=
<
0xf8001000
0x1000
>;
};
serial
@
e0001000
{
compatible
=
"xlnx,ps7-uart-1.00.a"
,
"xlnx,xuartps"
;
current
-
speed
=
<
0x1c200
>;
device_type
=
"serial"
;
interrupt
-
parent
=
<
0x1
>;
interrupts
=
<
0x0
0x32
0x4
>;
port
-
number
=
<
0x0
>;
reg
=
<
0xe0001000
0x1000
>;
xlnx
,
has
-
modem
=
<
0x0
>;
xlnx
,
uart
-
clk
-
freq
-
hz
=
<
0x2faf080
>;
};
ps7
-
usb
@
e0002000
{
compatible
=
"xlnx,ps7-usb-1.00.a"
;
dr_mode
=
"host"
;
interrupt
-
parent
=
<
0x1
>;
interrupts
=
<
0x0
0x15
0x4
>;
phy_type
=
"ulpi"
;
reg
=
<
0xe0002000
0x1000
>;
xlnx
,
usb
-
reset
=
<
0xffffffff
>;
};
ps7
-
xadc
@
f8007100
{
compatible
=
"xlnx,ps7-xadc-1.00.a"
;
interrupt
-
parent
=
<
0x1
>;
interrupts
=
<
0x0
0x7
0x4
>;
reg
=
<
0xf8007100
0x20
>;
};
};
};
recipes-kernel/linux/linux-xlnx/dts/zynq-zc706.dts
0 → 100644
View file @
4bca3b1c
/
dts
-
v1
/;
/
{
model
=
"Xilinx Zynq ZC706"
;
compatible
=
"xlnx,zynq-zc706"
;
#
address
-
cells
=
<
0x1
>;
#
size
-
cells
=
<
0x1
>;
interrupt
-
parent
=
<
0x1
>;
memory
{
device_type
=
"memory"
;
reg
=
<
0x00000000
0x40000000
>;
};
chosen
{
bootargs
=
"console=ttyPS0,115200 root=/dev/ram rw ip=:::::eth0:dhcp earlyprintk ramdisk_size=65536"
;
linux
,
stdout
-
path
=
"/amba@0/uart@E0001000"
;
};
pmu
{
compatible
=
"arm,cortex-a9-pmu"
;
interrupts
=
<
0
5
4
>,
<
0
6
4
>;
interrupt
-
parent
=
<&
gic
>;
};
amba
@
0
{
compatible
=
"simple-bus"
;
#
address
-
cells
=
<
0x1
>;
#
size
-
cells
=
<
0x1
>;
ranges
;
gic
:
intc
@
f8f01000
{
interrupt
-
controller
;
compatible
=
"arm,cortex-a9-gic"
;
#
interrupt
-
cells
=
<
3
>;
reg
=
<
0xf8f01000
0x1000
>,
<
0xf8f00100
0x0100
>;
};
pl310
@
f8f02000
{
compatible
=
"arm,pl310-cache"
;
cache
-
unified
;
cache
-
level
=
<
2
>;
reg
=
<
0xf8f02000
0x1000
>;
arm
,
data
-
latency
=
<
3
2
2
>;
arm
,
tag
-
latency
=
<
2
2
2
>;
};
ps7_ddrc_0
:
ps7
-
ddrc
@
f8006000
{
compatible
=
"xlnx,ps7-ddrc-1.00.a"
,
"xlnx,ps7-ddrc"
;
reg
=
<
0xf8006000
0x1000
>;
xlnx
,
has
-
ecc
=
<
0x0
>;
}
;
ps7_ocm_0
:
ps7
-
ocm
@
0xfffc0000
{
compatible
=
"xlnx,ps7-ocm"
;
reg
=
<
0xfffc0000
0x40000
>;
/*
256
k
*/
};
uart
@
e0001000
{
compatible
=
"xlnx,ps7-uart-1.00.a"
;
reg
=
<
0xe0001000
0x1000
>;
interrupts
=
<
0
50
4
>;
interrupt
-
parent
=
<&
gic
>;
clock
=
<
50000000
>;
};
slcr
:
slcr
@
f8000000
{
compatible
=
"xlnx,zynq-slcr"
;
reg
=
<
0xF8000000
0x1000
>;
clocks
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
armpll
:
armpll
{
#
clock
-
cells
=
<
0
>;
clock
-
output
-
names
=
"armpll"
;
clocks
=
<&
ps_clk
>;
compatible
=
"xlnx,zynq-pll"
;
lockbit
=
<
0
>;
reg
=
<
0x100
0x110
0x10c
>;
}
;
ddrpll
:
ddrpll
{
#
clock
-
cells
=
<
0
>;
clock
-
output
-
names
=
"ddrpll"
;
clocks
=
<&
ps_clk
>;
compatible
=
"xlnx,zynq-pll"
;
lockbit
=
<
1
>;
reg
=
<
0x104
0x114
0x10c
>;
}
;
iopll
:
iopll
{
#
clock
-
cells
=
<
0
>;
clock
-
output
-
names
=
"iopll"
;
clocks
=
<&
ps_clk
>;
compatible
=
"xlnx,zynq-pll"
;
lockbit
=
<
2
>;
reg
=
<
0x108
0x118
0x10c
>;
}
;
ps_clk
:
ps_clk
{
#
clock
-
cells
=
<
0
>;
compatible
=
"fixed-clock"
;
clock
-
frequency
=
<
33333333
>;
clock
-
output
-
names
=
"ps_clk"
;
};
};
};
timer
@
0xf8001000
{
compatible
=
"xlnx,ps7-ttc-1.00.a"
;
reg
=
<
0xf8001000
0x1000
>;
interrupts
=
<
0
10
4
>,<
0
11
4
>,<
0
12
4
>;
interrupt
-
parent
=
<&
gic
>;
};
timer
@
f8f00600
{
compatible
=
"arm,cortex-a9-twd-timer"
;
reg
=
<
0xf8f00600
0x20
>;
interrupts
=
<
1
13
0x301
>;
interrupt
-
parent
=
<&
gic
>;
};
swdt
@
f8005000
{
device_type
=
"watchdog"
;
compatible
=
"xlnx,ps7-wdt-1.00.a"
;
reg
=
<
0xf8005000
0x100
>;
reset
=
<
0
>;
timeout
=
<
10
>;
};
scuwdt
@
f8f00620
{
device_type
=
"watchdog"
;
compatible
=
"arm,mpcore_wdt"
;
reg
=
<
0xf8f00620
0x20
>;
clock
-
frequency
=
<
333333333
>;
reset
=
<
1
>;
};
eth
@
e000b000
{
compatible
=
"xlnx,ps7-ethernet-1.00.a"
;
reg
=
<
0xe000b000
0x1000
>;
interrupts
=
<
0
22
4
>;
interrupt
-
parent
=
<&
gic
>;
phy
-
handle
=
<&
phy0
>;
phy
-
mode
=
"rgmii-id"
;
xlnx
,
ptp
-
enet
-
clock
=
<
111111111
>;
xlnx
,
slcr
-
div0
-
1000
Mbps
=
<
8
>;
xlnx
,
slcr
-
div0
-
100
Mbps
=
<
8
>;
xlnx
,
slcr
-
div0
-
10
Mbps
=
<
8
>;
xlnx
,
slcr
-
div1
-
1000
Mbps
=
<
1
>;
xlnx
,
slcr
-
div1
-
100
Mbps
=
<
5
>;
xlnx
,
slcr
-
div1
-
10
Mbps
=
<
50
>;
#
address
-
cells
=
<
0x1
>;
#
size
-
cells
=
<
0x0
>;
mdio
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
phy0
:
phy
@
7
{
compatible
=
"marvell,88e1116r"
;
device_type
=
"ethernet-phy"
;
reg
=
<
7
>;
};
};
};
i2c0
:
i2c
@
e0004000
{
compatible
=
"xlnx,ps7-i2c-1.00.a"
;
reg
=
<
0xE0004000
0x1000
>;
interrupts
=
<
0
25
4
>;
interrupt
-
parent
=
<&
gic
>;
bus
-
id
=
<
0
>;
input
-
clk
=
<
111111111
>;
i2c
-
clk
=
<
100000
>;
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
i2cswitch
@
74
{
compatible
=
"nxp,pca9548"
;
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
reg
=
<
0x74
>;
i2c
@
0
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
reg
=
<
0
>;
osc
@
5
d
{
compatible
=
"si570"
;
reg
=
<
0x5d
>;
factory
-
fout
=
<
156250000
>;
initial
-
fout
=
<
148500000
>;
};
};
i2c
@
2
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
reg
=
<
2
>;
eeprom
@
54
{
compatible
=
"at,24c08"
;
reg
=
<
0x54
>;
};
};
i2c
@
3
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
reg
=
<
3
>;
gpio
@
21
{
compatible
=
"ti,tca6416"
;
reg
=
<
0x21
>;
gpio
-
controller
;
#
gpio
-
cells
=
<
2
>;
};
};
i2c
@
4
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
reg
=
<
4
>;
rtc
@
54
{
compatible
=
"nxp,pcf8563"
;
reg
=
<
0x51
>;
};
};
};
};
sdhci
@
e0100000
{
compatible
=
"xlnx,ps7-sdhci-1.00.a"
;
reg
=
<
0xe0100000
0x1000
>;
xlnx
,
has
-
cd
=
<
0x1
>;
interrupts
=
<
0
24
4
>;
interrupt
-
parent
=
<&
gic
>;
clock
-
frequency
=
<
33333000
>;
};
usb
@
e0002000
{
compatible
=
"xlnx,ps7-usb-1.00.a"
;
reg
=
<
0xe0002000
0x1000
>;
interrupts
=
<
0
21
4
>;
interrupt
-
parent
=
<&
gic
>;
dr_mode
=
"host"
;
phy_type
=
"ulpi"
;
};
gpio
@
e000a000
{
compatible
=
"xlnx,ps7-gpio-1.00.a"
;
reg
=
<
0xe000a000
0x1000
>;
interrupts
=
<
0
20
4
>;
interrupt
-
parent
=
<&
gic
>;
};
qspi0
:
spi
@
e000d000
{
compatible
=
"xlnx,ps7-qspi-1.00.a"
;
reg
=
<
0xE000D000
0x1000
>;
interrupts
=
<
0
19
4
>;
interrupt
-
parent
=
<&
gic
>;
speed
-
hz
=
<
200000000
>;
bus
-
num
=
<
1
>;
num
-
chip
-
select
=
<
1
>;
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
is
-
dual
=
<
1
>;
flash
@
0
{
compatible
=
"n25q128"
;
reg
=
<
0x0
>;
spi
-
max
-
frequency
=
<
30000000
>;
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
partition
@
qspi
-
fsbl
-
uboot
{
label
=
"qspi-fsbl-uboot"
;
reg
=
<
0x0
0x100000
>;
};
partition
@
qspi
-
linux
{
label
=
"qspi-linux"
;
reg
=
<
0x100000
0x500000
>;
};
partition
@
qspi
-
device
-
tree
{
label
=
"qspi-device-tree"
;
reg
=
<
0x600000
0x20000
>;
};
partition
@
qspi
-
rootfs
{
label
=
"qspi-rootfs"
;
reg
=
<
0x620000
0x5E0000
>;
};
partition
@
qspi
-
bitstream
{
label
=
"qspi-bitstream"
;
reg
=
<
0xC00000
0x1400000
>;
};
};
};
devcfg
@
f8007000
{
compatible
=
"xlnx,ps7-dev-cfg-1.00.a"
;
reg
=
<
0xf8007000
0x100
>;
interrupts
=
<
0
8
4
>;
interrupt
-
parent
=
<&
gic
>;
};
xadc
@
f8007100
{
compatible
=
"xlnx,ps7-xadc-1.00.a"
;
reg
=
<
0xf8007100
0x20
>;
interrupts
=
<
0
7
4
>;
interrupt
-
parent
=
<&
gic
>;
};
ps7_dma_s
:
ps7
-
dma
@
f8003000
{
#
dma
-
cells
=
<
1
>;
#
dma
-
channels
=
<
8
>;
#
dma
-
requests
=
<
4
>;
arm
,
primecell
-
periphid
=
<
0x41330
>;
compatible
=
"xlnx,ps7-dma-1.00.a"
,
"arm,primecell"
,
"arm,pl330"
;
interrupt
-
parent
=
<&
gic
>;
interrupts
=
<
0
13
4
0
14
4
0
15
4
0
16
4
0
17
4
0
40
4
0
41
4
0
42
4
0
43
4
>;
reg
=
<
0xf8003000
0x1000
>;
}
;
};
};
recipes-kernel/linux/linux-xlnx/dts/zynq-zed.dts
0 → 100644
View file @
4bca3b1c
/*
*
Device
Tree
Generator
version
:
1.1
*
*
(
C
)
Copyright
2007
-
2012
Xilinx
,
Inc
.
*
(
C
)
Copyright
2007
-
2012
Michal
Simek
*
(
C
)
Copyright
2007
-
2012
PetaLogix
Qld
Pty
Ltd
*
*
Michal
SIMEK
<
monstr
@
monstr
.
eu
>
*
*
This
program
is
free
software
;
you
can
redistribute
it
and
/
or
*
modify
it
under
the
terms
of
the
GNU
General
Public
License
as
*
published
by
the
Free
Software
Foundation
;
either
version
2
of
*
the
License
,
or
(
at
your
option
)
any
later
version
.
*
*
This
program
is
distributed
in
the
hope
that
it
will
be
useful
,
*
but
WITHOUT
ANY
WARRANTY
;
without
even
the
implied
warranty
of
*
MERCHANTABILITY
or
FITNESS
FOR
A
PARTICULAR
PURPOSE
.
See
the
*
GNU
General
Public
License
for
more
details
.
*
*
You
should
have
received
a
copy
of
the
GNU
General
Public
License
*
along
with
this
program
;
if
not
,
write
to
the
Free
Software
*
Foundation
,
Inc
.,
59
Temple
Place
,
Suite
330
,
Boston
,
*
MA
02111
-
1307
USA
*
*
CAUTION
:
This
file
is
automatically
generated
by
libgen
.
*
Version
:
Xilinx
EDK
14.4
EDK_P
.49
d
*
Today
is
:
Wednesday
,
the
06
of
February
,
2013
;
10
:
43
:
23
*
*
XPS
project
directory
:
device
-
tree_bsp_0
*/
/
dts
-
v1
/;
/
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
compatible
=
"xlnx,zynq-zc770"
;
model
=
"Xilinx Zynq"
;
aliases
{
ethernet0
=
&
ps7_ethernet_0
;
serial0
=
&
ps7_uart_1
;
}
;
chosen
{
bootargs
=
"console=ttyPS0,115200 root=/dev/ram rw ip=:::::eth0:dhcp earlyprintk ramdisk_size=65536"
;
linux
,
stdout
-
path
=
"/axi@0/serial@e0001000"
;
}
;
cpus
{
#
address
-
cells
=
<
1
>;
#
cpus
=
<
0x2
>;
#
size
-
cells
=
<
0
>;
ps7_cortexa9_0
:
cpu
@
0
{
compatible
=
"xlnx,ps7-cortexa9-1.00.a"
;
d
-
cache
-
line
-
size
=
<
0x20
>;
d
-
cache
-
size
=
<
0x8000
>;
device_type
=
"cpu"
;
i
-
cache
-
line
-
size
=
<
0x20
>;
i
-
cache
-
size
=
<
0x8000
>;
model
=
"ps7_cortexa9,1.00.a"
;
reg
=
<
0
>;
xlnx
,
cpu
-
1
x
-
clk
-
freq
-
hz
=
<
0x69f6bcb
>;
xlnx
,
cpu
-
clk
-
freq
-
hz
=
<
0x27bc86bf
>;
}
;
ps7_cortexa9_1
:
cpu
@
1
{
compatible
=
"xlnx,ps7-cortexa9-1.00.a"
;
d
-
cache
-
line
-
size
=
<
0x20
>;
d
-
cache
-
size
=
<
0x8000
>;
device_type
=
"cpu"
;
i
-
cache
-
line
-
size
=
<
0x20
>;
i
-
cache
-
size
=
<
0x8000
>;
model
=
"ps7_cortexa9,1.00.a"
;
reg
=
<
1
>;
xlnx
,
cpu
-
1
x
-
clk
-
freq
-
hz
=
<
0x69f6bcb
>;
xlnx
,
cpu
-
clk
-
freq
-
hz
=
<
0x27bc86bf
>;
}
;
}
;
pmu
{
compatible
=
"arm,cortex-a9-pmu"
;
interrupt
-
parent
=
<&
ps7_scugic_0
>;
interrupts
=
<
0
5
4
0
6
4
>;
reg
=
<
0xf8891000
0x1000
0xf8893000
0x1000
>;
}
;
ps7_ddr_0
:
memory
@
0
{
device_type
=
"memory"
;
reg
=
<
0x0
0x20000000
>;
}
;
ps7_axi_interconnect_0
:
amba
@
0
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
compatible
=
"xlnx,ps7-axi-interconnect-1.00.a"
,
"simple-bus"
;
ranges
;
ps7_afi_0
:
ps7
-
afi
@
f8008000
{
compatible
=
"xlnx,ps7-afi-1.00.a"
;
reg
=
<
0xf8008000
0x1000
>;
}
;
ps7_afi_1
:
ps7
-
afi
@
f8009000
{
compatible
=
"xlnx,ps7-afi-1.00.a"
;
reg
=
<
0xf8009000
0x1000
>;
}
;
ps7_afi_2
:
ps7
-
afi
@
f800a000
{
compatible
=
"xlnx,ps7-afi-1.00.a"
;
reg
=
<
0xf800a000
0x1000
>;
}
;
ps7_afi_3
:
ps7
-
afi
@
f800b000
{
compatible
=
"xlnx,ps7-afi-1.00.a"
;
reg
=
<
0xf800b000
0x1000
>;
}
;
ps7_ddrc_0
:
ps7
-
ddrc
@
f8006000
{
compatible
=
"xlnx,ps7-ddrc-1.00.a"
,
"xlnx,ps7-ddrc"
;
reg
=
<
0xf8006000
0x1000
>;
xlnx
,
has
-
ecc
=
<
0x0
>;
}
;
ps7_dev_cfg_0
:
ps7
-
dev
-
cfg
@
f8007000
{
compatible
=
"xlnx,ps7-dev-cfg-1.00.a"
;
interrupt
-
parent
=
<&
ps7_scugic_0
>;
interrupts
=
<
0
8
4
>;
reg
=
<
0xf8007000
0x1000
>;
}
;
ps7_dma_s
:
ps7
-
dma
@
f8003000
{
#
dma
-
cells
=
<
1
>;
#
dma
-
channels
=
<
8
>;
#
dma
-
requests
=
<
4
>;
arm
,
primecell
-
periphid
=
<
0x41330
>;
compatible
=
"xlnx,ps7-dma-1.00.a"
,
"arm,primecell"
,
"arm,pl330"
;
interrupt
-
parent
=
<&
ps7_scugic_0
>;
interrupts
=
<
0
13
4
0
14
4
0
15
4
0
16
4
0
17
4
0
40
4
0
41
4
0
42
4
0
43
4
>;
reg
=
<
0xf8003000
0x1000
>;
}
;
ps7_ethernet_0
:
ps7
-
ethernet
@
e000b000
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
compatible
=
"xlnx,ps7-ethernet-1.00.a"
;
interrupt
-
parent
=
<&
ps7_scugic_0
>;
interrupts
=
<
0
22
1
>;
local
-
mac
-
address
=
[
00
0
a
35
00
00
00
];
phy
-
handle
=
<&
phy0
>;
phy
-
mode
=
"rgmii-id"
;
reg
=
<
0xe000b000
0x1000
>;
xlnx
,
enet
-
clk
-
freq
-
hz
=
<
0x7735940
>;
xlnx
,
enet
-
reset
=
<
0xffffffff
>;
xlnx
,
enet
-
slcr
-
1000
mbps
-
div0
=
<
0x8
>;
xlnx
,
enet
-
slcr
-
1000
mbps
-
div1
=
<
0x1
>;
xlnx
,
enet
-
slcr
-
100
mbps
-
div0
=
<
0x8
>;
xlnx
,
enet
-
slcr
-
100
mbps
-
div1
=
<
0x5
>;
xlnx
,
enet
-
slcr
-
10
mbps
-
div0
=
<
0x8
>;
xlnx
,
enet
-
slcr
-
10
mbps
-
div1
=
<
0x32
>;
xlnx
,
eth
-
mode
=
<
0x1
>;
xlnx
,
has
-
mdio
=
<
0x1
>;
xlnx
,
ptp
-
enet
-
clock
=
<
111111115
>;
mdio
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
phy0
:
phy
@
7
{
compatible
=
"marvell,88e1510"
;
device_type
=
"ethernet-phy"
;
reg
=
<
7
>;
}
;
}
;
}
;
ps7_gpio_0
:
ps7
-
gpio
@
e000a000
{
#
gpio
-
cells
=
<
2
>;
compatible
=
"xlnx,ps7-gpio-1.00.a"
;
emio
-
gpio
-
width
=
<
64
>;
gpio
-
controller
;
gpio
-
mask
-
high
=
<
0xc0000
>;
gpio
-
mask
-
low
=
<
0xfe81
>;
interrupt
-
parent
=
<&
ps7_scugic_0
>;
interrupts
=
<
0
20
4
>;
reg
=
<
0xe000a000
0x1000
>;
}
;
ps7_iop_bus_config_0
:
ps7
-
iop
-
bus
-
config
@
e0200000
{
compatible
=
"xlnx,ps7-iop-bus-config-1.00.a"
;
reg
=
<
0xe0200000
0x1000
>;
}
;
ps7_pl310_0
:
ps7
-
pl310
@
f8f02000
{
arm
,
data
-
latency
=
<
3
2
2
>;
arm
,
tag
-
latency
=
<
2
2
2
>;
cache
-
level
=
<
2
>;
cache
-
unified
;
compatible
=
"xlnx,ps7-pl310-1.00.a"
,
"arm,pl310-cache"
;
interrupt
-
parent
=
<&
ps7_scugic_0
>;
interrupts
=
<
0
2
4
>;
reg
=
<
0xf8f02000
0x1000
>;
}
;
ps7_qspi_0
:
ps7
-
qspi
@
e000d000
{
bus
-
num
=
<
0
>;
compatible
=
"xlnx,ps7-qspi-1.00.a"
;
interrupt
-
parent
=
<&
ps7_scugic_0
>;
interrupts
=
<
0
19
4
>;
is
-
dual
=
<
0
>;
num
-
chip
-
select
=
<
1
>;
reg
=
<
0xe000d000
0x1000
>;
speed
-
hz
=
<
200000000
>;
xlnx
,
fb
-
clk
=
<
0x1
>;
xlnx
,
qspi
-
clk
-
freq
-
hz
=
<
0xbebc200
>;
xlnx
,
qspi
-
mode
=
<
0x0
>;
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
flash
@
0
{
compatible
=
"n25q128"
;
reg
=
<
0x0
>;
spi
-
max
-
frequency
=
<
50000000
>;
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
partition
@
qspi
-
fsbl
-
uboot
{
label
=
"qspi-fsbl-uboot"
;
reg
=
<
0x0
0x100000
>;
};
partition
@
qspi
-
linux
{
label
=
"qspi-linux"
;
reg
=
<
0x100000
0x500000
>;
};
partition
@
qspi
-
device
-
tree
{
label
=
"qspi-device-tree"
;
reg
=
<
0x600000
0x20000
>;
};
partition
@
qspi
-
rootfs
{
label
=
"qspi-rootfs"
;
reg
=
<
0x620000
0x5E0000
>;
};
partition
@
qspi
-
bitstream
{
label
=
"qspi-bitstream"
;
reg
=
<
0xC00000
0x400000
>;
};
};
}
;
ps7_qspi_linear_0
:
ps7
-
qspi
-
linear
@
fc000000
{
compatible
=
"xlnx,ps7-qspi-linear-1.00.a"
;
reg
=
<
0xfc000000
0x1000000
>;
xlnx
,
qspi
-
clk
-
freq
-
hz
=
<
0xe4e1c0
>;
}
;
ps7_ram_0
:
ps7
-
ram
@
0
{
compatible
=
"xlnx,ps7-ram-1.00.a"
,
"xlnx,ps7-ocm"
;
reg
=
<
0xfffc0000
0x40000
>;
}
;
ps7_scugic_0
:
ps7
-
scugic
@
f8f01000
{
#
address
-
cells
=
<
2
>;
#
interrupt
-
cells
=
<
3
>;
#
size
-
cells
=
<
1
>;
compatible
=
"xlnx,ps7-scugic-1.00.a"
,
"arm,cortex-a9-gic"
,
"arm,gic"
;
interrupt
-
controller
;
linux
,
phandle
=
<
0x1
>;
phandle
=
<
0x1
>;
reg
=
<
0xf8f01000
0x1000
0xf8f00100
0x100
>;
}
;
ps7_scutimer_0
:
ps7
-
scutimer
@
f8f00600
{
compatible
=
"xlnx,ps7-scutimer-1.00.a"
,
"arm,cortex-a9-twd-timer"
;
interrupt
-
parent
=
<&
ps7_scugic_0
>;
interrupts
=
<
1
13
769
>;
reg
=
<
0xf8f00600
0x20
>;
}
;
ps7_scuwdt_0
:
ps7
-
scuwdt
@
f8f00620
{
compatible
=
"xlnx,ps7-scuwdt-1.00.a"
;
device_type
=
"watchdog"
;
interrupt
-
parent
=
<&
ps7_scugic_0
>;
interrupts
=
<
1
14
769
>;
reg
=
<
0xf8f00620
0xe0
>;
}
;
ps7_sd_0
:
ps7
-
sdio
@
e0100000
{
clock
-
frequency
=
<
50000000
>;
compatible
=
"xlnx,ps7-sdio-1.00.a"
,
"generic-sdhci"
;
interrupt
-
parent
=
<&
ps7_scugic_0
>;
interrupts
=
<
0
24
4
>;
reg
=
<
0xe0100000
0x1000
>;
xlnx
,
has
-
cd
=
<
0x1
>;
xlnx
,
has
-
power
=
<
0x0
>;
xlnx
,
has
-
wp
=
<
0x1
>;
xlnx
,
sdio
-
clk
-
freq
-
hz
=
<
0x2faf080
>;
}
;
ps7_slcr_0
:
ps7
-
slcr
@
f8000000
{
compatible
=
"xlnx,ps7-slcr-1.00.a"
,
"xlnx,zynq-slcr"
;
reg
=
<
0xf8000000
0x1000
>;
clocks
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
armpll
:
armpll
{
#
clock
-
cells
=
<
0
>;
clock
-
output
-
names
=
"armpll"
;
clocks
=
<&
ps_clk
>;
compatible
=
"xlnx,zynq-pll"
;
lockbit
=
<
0
>;
reg
=
<
0x100
0x110
0x10c
>;
}
;
ddrpll
:
ddrpll
{
#
clock
-
cells
=
<
0
>;
clock
-
output
-
names
=
"ddrpll"
;
clocks
=
<&
ps_clk
>;
compatible
=
"xlnx,zynq-pll"
;
lockbit
=
<
1
>;
reg
=
<
0x104
0x114
0x10c
>;
}
;
iopll
:
iopll
{
#
clock
-
cells
=
<
0
>;
clock
-
output
-
names
=
"iopll"
;
clocks
=
<&
ps_clk
>;
compatible
=
"xlnx,zynq-pll"
;
lockbit
=
<
2
>;
reg
=
<
0x108
0x118
0x10c
>;
}
;
ps_clk
:
ps_clk
{
#
clock
-
cells
=
<
0
>;
clock
-
frequency
=
<
33333333
>;
clock
-
output
-
names
=
"ps_clk"
;
compatible
=
"fixed-clock"
;
}
;
}
;
}
;
ps7_ttc_0
:
ps7
-
ttc
@
f8001000
{
compatible
=
"xlnx,ps7-ttc-1.00.a"
;
interrupt
-
parent
=
<&
ps7_scugic_0
>;
interrupts
=
<
0
10
4
0
11
4
0
12
4
>;
reg
=
<
0xf8001000
0x1000
>;
}
;
ps7_uart_1
:
serial
@
e0001000
{
compatible
=
"xlnx,ps7-uart-1.00.a"
,
"xlnx,xuartps"
;
current
-
speed
=
<
115200
>;
device_type
=
"serial"
;
interrupt
-
parent
=
<&
ps7_scugic_0
>;
interrupts
=
<
0
50
4
>;
port
-
number
=
<
0
>;
reg
=
<
0xe0001000
0x1000
>;
xlnx
,
has
-
modem
=
<
0x0
>;
xlnx
,
uart
-
clk
-
freq
-
hz
=
<
0x2faf080
>;
}
;
ps7_usb_0
:
ps7
-
usb
@
e0002000
{
compatible
=
"xlnx,ps7-usb-1.00.a"
;
dr_mode
=
"host"
;
interrupt
-
parent
=
<&
ps7_scugic_0
>;
interrupts
=
<
0
21
4
>;
phy_type
=
"ulpi"
;
reg
=
<
0xe0002000
0x1000
>;
xlnx
,
usb
-
reset
=
<
0xffffffff
>;
}
;
ps7_xadc
:
ps7
-
xadc
@
f8007100
{
compatible
=
"xlnx,ps7-xadc-1.00.a"
;
interrupt
-
parent
=
<&
ps7_scugic_0
>;
interrupts
=
<
0
7
4
>;
reg
=
<
0xf8007100
0x20
>;
}
;
}
;
}
;
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment