r8a7794-silk.dts 4.5 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14
/*
 * Device Tree Source for the SILK board
 *
 * Copyright (C) 2014 Renesas Electronics Corporation
 * Copyright (C) 2014-2015 Renesas Solutions Corp.
 * Copyright (C) 2014-2015 Cogent Embedded, Inc.
 *
 * This file is licensed under the terms of the GNU General Public License
 * version 2.  This program is licensed "as is" without any warranty of any
 * kind, whether express or implied.
 */

/dts-v1/;
#include "r8a7794.dtsi"
15
#include <dt-bindings/gpio/gpio.h>
16 17 18 19 20 21 22 23 24 25

/ {
	model = "SILK";
	compatible = "renesas,silk", "renesas,r8a7794";

	aliases {
		serial0 = &scif2;
	};

	chosen {
26
		bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
27
		stdout-path = "serial0:115200n8";
28 29 30 31 32 33
	};

	memory@40000000 {
		device_type = "memory";
		reg = <0 0x40000000 0 0x40000000>;
	};
34 35 36 37 38 39 40 41 42

	d3_3v: regulator@0 {
		compatible = "regulator-fixed";
		regulator-name = "D3.3V";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-boot-on;
		regulator-always-on;
	};
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

	vcc_sdhi1: regulator@3 {
		compatible = "regulator-fixed";

		regulator-name = "SDHI1 Vcc";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;

		gpio = <&gpio4 26 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	vccq_sdhi1: regulator@4 {
		compatible = "regulator-gpio";

		regulator-name = "SDHI1 VccQ";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <3300000>;

		gpios = <&gpio4 29 GPIO_ACTIVE_HIGH>;
		gpios-states = <1>;
		states = <3300000 1
			  1800000 0>;
	};
67 68 69 70 71 72 73 74 75 76 77
};

&extal_clk {
	clock-frequency = <20000000>;
};

&pfc {
	scif2_pins: serial2 {
		renesas,groups = "scif2_data";
		renesas,function = "scif2";
	};
78 79 80 81 82 83 84 85 86 87

	ether_pins: ether {
		renesas,groups = "eth_link", "eth_mdio", "eth_rmii";
		renesas,function = "eth";
	};

	phy1_pins: phy1 {
		renesas,groups = "intc_irq8";
		renesas,function = "intc";
	};
88

89 90 91 92 93
	i2c1_pins: i2c1 {
		renesas,groups = "i2c1";
		renesas,function = "i2c1";
	};

94 95 96 97
	mmcif0_pins: mmcif0 {
		renesas,groups = "mmc_data8", "mmc_ctrl";
		renesas,function = "mmc";
	};
98

99 100 101 102 103
	sdhi1_pins: sd1 {
		renesas,groups = "sdhi1_data4", "sdhi1_ctrl";
		renesas,function = "sdhi1";
	};

104 105 106 107
	qspi_pins: spi0 {
		renesas,groups = "qspi_ctrl", "qspi_data4";
		renesas,function = "qspi";
	};
108 109 110 111 112

	vin0_pins: vin0 {
		renesas,groups = "vin0_data8", "vin0_clk";
		renesas,function = "vin0";
	};
113 114 115 116 117 118 119 120 121 122

	usb0_pins: usb0 {
		renesas,groups = "usb0";
		renesas,function = "usb0";
	};

	usb1_pins: usb1 {
		renesas,groups = "usb1";
		renesas,function = "usb1";
	};
123 124 125 126 127 128 129 130
};

&scif2 {
	pinctrl-0 = <&scif2_pins>;
	pinctrl-names = "default";

	status = "okay";
};
131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146

&ether {
	pinctrl-0 = <&ether_pins &phy1_pins>;
	pinctrl-names = "default";

	phy-handle = <&phy1>;
	renesas,ether-link-active-low;
	status = "okay";

	phy1: ethernet-phy@1 {
		reg = <1>;
		interrupt-parent = <&irqc0>;
		interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
		micrel,led-mode = <1>;
	};
};
147

148 149 150 151 152 153
&i2c1 {
	pinctrl-0 = <&i2c1_pins>;
	pinctrl-names = "default";

	status = "okay";
	clock-frequency = <400000>;
154 155 156 157 158 159 160 161 162 163 164 165 166

	composite-in@20 {
		compatible = "adi,adv7180";
		reg = <0x20>;
		remote = <&vin0>;

		port {
			adv7180: endpoint {
				bus-width = <8>;
				remote-endpoint = <&vin0ep>;
			};
		};
	};
167 168
};

169 170 171 172 173 174 175 176 177 178
&mmcif0 {
	pinctrl-0 = <&mmcif0_pins>;
	pinctrl-names = "default";

	vmmc-supply = <&d3_3v>;
	vqmmc-supply = <&d3_3v>;
	bus-width = <8>;
	non-removable;
	status = "okay";
};
179

180 181 182 183 184 185 186 187 188 189
&sdhi1 {
	pinctrl-0 = <&sdhi1_pins>;
	pinctrl-names = "default";

	vmmc-supply = <&vcc_sdhi1>;
	vqmmc-supply = <&vccq_sdhi1>;
	cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
	status = "okay";
};

190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205
&qspi {
	pinctrl-0 = <&qspi_pins>;
	pinctrl-names = "default";

	status = "okay";

	flash@0 {
		compatible = "spansion,s25fl512s", "jedec,spi-nor";
		reg = <0>;
		spi-max-frequency = <30000000>;
		spi-tx-bus-width = <4>;
		spi-rx-bus-width = <4>;
		spi-cpol;
		spi-cpha;
		m25p,fast-read;

206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223
		partitions {
			#address-cells = <1>;
			#size-cells = <1>;

			partition@0 {
				label = "loader";
				reg = <0x00000000 0x00040000>;
				read-only;
			};
			partition@40000 {
				label = "user";
				reg = <0x00040000 0x00400000>;
				read-only;
			};
			partition@440000 {
				label = "flash";
				reg = <0x00440000 0x03bc0000>;
			};
224 225 226
		};
	};
};
227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243

/* composite video input */
&vin0 {
	status = "okay";
	pinctrl-0 = <&vin0_pins>;
	pinctrl-names = "default";

	port {
		#address-cells = <1>;
		#size-cells = <0>;

		vin0ep: endpoint {
			remote-endpoint = <&adv7180>;
			bus-width = <8>;
		};
	};
};
244 245 246 247 248 249 250 251 252 253 254 255

&pci0 {
	status = "okay";
	pinctrl-0 = <&usb0_pins>;
	pinctrl-names = "default";
};

&pci1 {
	status = "okay";
	pinctrl-0 = <&usb1_pins>;
	pinctrl-names = "default";
};
256 257 258 259

&usbphy {
	status = "okay";
};