ARM: shmobile: silk: add QSPI DT support
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / r8a7794-silk.dts
1 /*
2  * Device Tree Source for the SILK board
3  *
4  * Copyright (C) 2014 Renesas Electronics Corporation
5  * Copyright (C) 2014-2015 Renesas Solutions Corp.
6  * Copyright (C) 2014-2015 Cogent Embedded, Inc.
7  *
8  * This file is licensed under the terms of the GNU General Public License
9  * version 2.  This program is licensed "as is" without any warranty of any
10  * kind, whether express or implied.
11  */
12
13 /dts-v1/;
14 #include "r8a7794.dtsi"
15
16 / {
17         model = "SILK";
18         compatible = "renesas,silk", "renesas,r8a7794";
19
20         aliases {
21                 serial0 = &scif2;
22         };
23
24         chosen {
25                 bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
26                 stdout-path = &scif2;
27         };
28
29         memory@40000000 {
30                 device_type = "memory";
31                 reg = <0 0x40000000 0 0x40000000>;
32         };
33
34         d3_3v: regulator@0 {
35                 compatible = "regulator-fixed";
36                 regulator-name = "D3.3V";
37                 regulator-min-microvolt = <3300000>;
38                 regulator-max-microvolt = <3300000>;
39                 regulator-boot-on;
40                 regulator-always-on;
41         };
42 };
43
44 &extal_clk {
45         clock-frequency = <20000000>;
46 };
47
48 &pfc {
49         scif2_pins: serial2 {
50                 renesas,groups = "scif2_data";
51                 renesas,function = "scif2";
52         };
53
54         ether_pins: ether {
55                 renesas,groups = "eth_link", "eth_mdio", "eth_rmii";
56                 renesas,function = "eth";
57         };
58
59         phy1_pins: phy1 {
60                 renesas,groups = "intc_irq8";
61                 renesas,function = "intc";
62         };
63
64         mmcif0_pins: mmcif0 {
65                 renesas,groups = "mmc_data8", "mmc_ctrl";
66                 renesas,function = "mmc";
67         };
68
69         qspi_pins: spi0 {
70                 renesas,groups = "qspi_ctrl", "qspi_data4";
71                 renesas,function = "qspi";
72         };
73 };
74
75 &scif2 {
76         pinctrl-0 = <&scif2_pins>;
77         pinctrl-names = "default";
78
79         status = "okay";
80 };
81
82 &ether {
83         pinctrl-0 = <&ether_pins &phy1_pins>;
84         pinctrl-names = "default";
85
86         phy-handle = <&phy1>;
87         renesas,ether-link-active-low;
88         status = "okay";
89
90         phy1: ethernet-phy@1 {
91                 reg = <1>;
92                 interrupt-parent = <&irqc0>;
93                 interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
94                 micrel,led-mode = <1>;
95         };
96 };
97
98 &mmcif0 {
99         pinctrl-0 = <&mmcif0_pins>;
100         pinctrl-names = "default";
101
102         vmmc-supply = <&d3_3v>;
103         vqmmc-supply = <&d3_3v>;
104         bus-width = <8>;
105         non-removable;
106         status = "okay";
107 };
108
109 &qspi {
110         pinctrl-0 = <&qspi_pins>;
111         pinctrl-names = "default";
112
113         status = "okay";
114
115         flash@0 {
116                 #address-cells = <1>;
117                 #size-cells = <1>;
118                 compatible = "spansion,s25fl512s", "jedec,spi-nor";
119                 reg = <0>;
120                 spi-max-frequency = <30000000>;
121                 spi-tx-bus-width = <4>;
122                 spi-rx-bus-width = <4>;
123                 spi-cpol;
124                 spi-cpha;
125                 m25p,fast-read;
126
127                 partition@0 {
128                         label = "loader";
129                         reg = <0x00000000 0x00040000>;
130                         read-only;
131                 };
132                 partition@40000 {
133                         label = "user";
134                         reg = <0x00040000 0x00400000>;
135                         read-only;
136                 };
137                 partition@440000 {
138                         label = "flash";
139                         reg = <0x00440000 0x03bc0000>;
140                 };
141         };
142 };