0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003 * at91sam9g20ek_common.dtsi - Device Tree file for Atmel at91sam9g20ek board
0004 *
0005 * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
0006 */
0007 #include "at91sam9g20.dtsi"
0008 #include <dt-bindings/input/input.h>
0009
0010 / {
0011
0012 chosen {
0013 bootargs = "mem=64M root=/dev/mtdblock5 rw rootfstype=ubifs";
0014 stdout-path = "serial0:115200n8";
0015 };
0016
0017 memory@20000000 {
0018 reg = <0x20000000 0x4000000>;
0019 };
0020
0021 clocks {
0022 slow_xtal {
0023 clock-frequency = <32768>;
0024 };
0025
0026 main_xtal {
0027 clock-frequency = <18432000>;
0028 };
0029 };
0030
0031 ahb {
0032 apb {
0033 pinctrl@fffff400 {
0034 board {
0035 pinctrl_pck0_as_mck: pck0_as_mck {
0036 atmel,pins =
0037 <AT91_PIOC 1 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC1 periph B */
0038 };
0039
0040 };
0041
0042 mmc0_slot1 {
0043 pinctrl_board_mmc0_slot1: mmc0_slot1-board {
0044 atmel,pins =
0045 <AT91_PIOC 9 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PC9 gpio CD pin pull up and deglitch */
0046 };
0047 };
0048 };
0049
0050 dbgu: serial@fffff200 {
0051 status = "okay";
0052 };
0053
0054 tcb0: timer@fffa0000 {
0055 timer@0 {
0056 compatible = "atmel,tcb-timer";
0057 reg = <0>, <1>;
0058 };
0059
0060 timer@2 {
0061 compatible = "atmel,tcb-timer";
0062 reg = <2>;
0063 };
0064 };
0065
0066 usart0: serial@fffb0000 {
0067 pinctrl-0 =
0068 <&pinctrl_usart0
0069 &pinctrl_usart0_rts
0070 &pinctrl_usart0_cts
0071 &pinctrl_usart0_dtr_dsr
0072 &pinctrl_usart0_dcd
0073 &pinctrl_usart0_ri>;
0074 status = "okay";
0075 };
0076
0077 usart1: serial@fffb4000 {
0078 status = "okay";
0079 };
0080
0081 macb0: ethernet@fffc4000 {
0082 phy-mode = "rmii";
0083 status = "okay";
0084 };
0085
0086 usb1: gadget@fffa4000 {
0087 atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>;
0088 status = "okay";
0089 };
0090
0091 mmc0: mmc@fffa8000 {
0092 pinctrl-0 = <
0093 &pinctrl_board_mmc0_slot1
0094 &pinctrl_mmc0_clk
0095 &pinctrl_mmc0_slot1_cmd_dat0
0096 &pinctrl_mmc0_slot1_dat1_3>;
0097 pinctrl-names = "default";
0098 status = "okay";
0099 slot@1 {
0100 reg = <1>;
0101 bus-width = <4>;
0102 cd-gpios = <&pioC 9 GPIO_ACTIVE_HIGH>;
0103 };
0104 };
0105
0106 ssc0: ssc@fffbc000 {
0107 status = "okay";
0108 pinctrl-0 = <&pinctrl_ssc0_tx>;
0109 };
0110
0111 spi0: spi@fffc8000 {
0112 cs-gpios = <0>, <&pioC 11 0>, <0>, <0>;
0113 flash@1 {
0114 compatible = "atmel,at45", "atmel,dataflash";
0115 spi-max-frequency = <50000000>;
0116 reg = <1>;
0117 };
0118 };
0119
0120 shdwc@fffffd10 {
0121 atmel,wakeup-counter = <10>;
0122 atmel,wakeup-rtt-timer;
0123 };
0124
0125 rtc@fffffd20 {
0126 atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
0127 status = "okay";
0128 };
0129
0130 watchdog@fffffd40 {
0131 status = "okay";
0132 };
0133
0134 gpbr: syscon@fffffd50 {
0135 status = "okay";
0136 };
0137 };
0138
0139 ebi: ebi@10000000 {
0140 status = "okay";
0141
0142 nand_controller: nand-controller {
0143 status = "okay";
0144 pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
0145 pinctrl-names = "default";
0146
0147 nand@3 {
0148 reg = <0x3 0x0 0x800000>;
0149 rb-gpios = <&pioC 13 GPIO_ACTIVE_HIGH>;
0150 cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
0151 nand-bus-width = <8>;
0152 nand-ecc-mode = "soft";
0153 nand-on-flash-bbt;
0154 label = "atmel_nand";
0155
0156 partitions {
0157 compatible = "fixed-partitions";
0158 #address-cells = <1>;
0159 #size-cells = <1>;
0160
0161 at91bootstrap@0 {
0162 label = "at91bootstrap";
0163 reg = <0x0 0x20000>;
0164 };
0165
0166 barebox@20000 {
0167 label = "barebox";
0168 reg = <0x20000 0x40000>;
0169 };
0170
0171 bareboxenv@60000 {
0172 label = "bareboxenv";
0173 reg = <0x60000 0x20000>;
0174 };
0175
0176 bareboxenv2@80000 {
0177 label = "bareboxenv2";
0178 reg = <0x80000 0x20000>;
0179 };
0180
0181 oftree@80000 {
0182 label = "oftree";
0183 reg = <0xa0000 0x20000>;
0184 };
0185
0186 kernel@a0000 {
0187 label = "kernel";
0188 reg = <0xc0000 0x400000>;
0189 };
0190
0191 rootfs@4a0000 {
0192 label = "rootfs";
0193 reg = <0x4c0000 0x7800000>;
0194 };
0195
0196 data@7ca0000 {
0197 label = "data";
0198 reg = <0x7cc0000 0x8340000>;
0199 };
0200 };
0201 };
0202 };
0203 };
0204
0205 usb0: ohci@500000 {
0206 num-ports = <2>;
0207 status = "okay";
0208 };
0209 };
0210
0211 i2c-gpio-0 {
0212 status = "okay";
0213
0214 24c512@50 {
0215 compatible = "atmel,24c512";
0216 reg = <0x50>;
0217 vcc-supply = <®_3v3>;
0218 };
0219
0220 wm8731: wm8731@1b {
0221 compatible = "wm8731";
0222 reg = <0x1b>;
0223
0224 /* PCK0 at 12MHz */
0225 clocks = <&pmc PMC_TYPE_SYSTEM 8>;
0226 clock-names = "mclk";
0227 assigned-clocks = <&pmc PMC_TYPE_SYSTEM 8>;
0228 assigned-clock-rates = <12000000>;
0229
0230 HPVDD-supply = <&vcc_dac>;
0231 AVDD-supply = <&vcc_dac>;
0232 DCVDD-supply = <®_3v3>;
0233 DBVDD-supply = <®_3v3>;
0234 };
0235 };
0236
0237 gpio-keys {
0238 compatible = "gpio-keys";
0239
0240 button-3 {
0241 label = "Button 3";
0242 gpios = <&pioA 30 GPIO_ACTIVE_LOW>;
0243 linux,code = <0x103>;
0244 wakeup-source;
0245 };
0246
0247 button-4 {
0248 label = "Button 4";
0249 gpios = <&pioA 31 GPIO_ACTIVE_LOW>;
0250 linux,code = <KEY_PROG1>;
0251 wakeup-source;
0252 };
0253 };
0254
0255 sound {
0256 compatible = "atmel,at91sam9g20ek-wm8731-audio";
0257 pinctrl-names = "default";
0258 pinctrl-0 = <&pinctrl_pck0_as_mck>;
0259
0260 atmel,model = "wm8731 @ AT91SAMG20EK";
0261
0262 atmel,audio-routing =
0263 "Ext Spk", "LHPOUT",
0264 "Int Mic", "MICIN";
0265
0266 atmel,ssc-controller = <&ssc0>;
0267 atmel,audio-codec = <&wm8731>;
0268 };
0269
0270 reg_5v: fixedregulator0 {
0271 compatible = "regulator-fixed";
0272 regulator-name = "5V";
0273 regulator-min-microvolt = <5000000>;
0274 regulator-max-microvolt = <5000000>;
0275 };
0276
0277 reg_3v3: fixedregulator1 {
0278 compatible = "regulator-fixed";
0279 regulator-name = "3V3";
0280 vin-supply = <®_5v>;
0281 regulator-min-microvolt = <3300000>;
0282 regulator-max-microvolt = <3300000>;
0283 };
0284
0285 reg_1v: fixedregulator2 {
0286 compatible = "regulator-fixed";
0287 regulator-name = "1V";
0288 vin-supply = <®_5v>;
0289 regulator-min-microvolt = <1000000>;
0290 regulator-max-microvolt = <1000000>;
0291 };
0292
0293 vcc_dac: fixedregulator3 {
0294 compatible = "regulator-fixed";
0295 regulator-name = "VCC_DAC";
0296 vin-supply = <®_3v3>;
0297 regulator-min-microvolt = <3300000>;
0298 regulator-max-microvolt = <3300000>;
0299 };
0300 };