/
smi-nand-overlay.dts
69 lines (62 loc) · 1.26 KB
/
smi-nand-overlay.dts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// Description: Overlay to enable NAND flash through
// the secondary memory interface
// Author: Luke Wren
/dts-v1/;
/plugin/;
/{
compatible = "brcm,bcm2708";
fragment@0 {
target = <&smi>;
__overlay__ {
pinctrl-names = "default";
pinctrl-0 = <&smi_pins>;
status = "okay";
};
};
fragment@1 {
target = <&soc>;
__overlay__ {
#address-cells = <1>;
#size-cells = <1>;
nand: flash@0 {
compatible = "brcm,bcm2835-smi-nand";
smi_handle = <&smi>;
#address-cells = <1>;
#size-cells = <1>;
status = "okay";
partition@0 {
label = "stage2";
// 128k
reg = <0 0x20000>;
read-only;
};
partition@1 {
label = "firmware";
// 16M
reg = <0x20000 0x1000000>;
read-only;
};
partition@2 {
label = "root";
// 2G (will need to use 64 bit for >=4G)
reg = <0x1020000 0x80000000>;
};
};
};
};
fragment@2 {
target = <&gpio>;
__overlay__ {
smi_pins: smi_pins {
brcm,pins = <0 1 2 3 4 5 6 7 8 9 10 11
12 13 14 15>;
/* Alt 1: SMI */
brcm,function = <5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5>;
/* /CS, /WE and /OE are pulled high, as they are
generally active low signals */
brcm,pull = <2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0>;
};
};
};
};