// SPDX-License-Identifier: GPL-2.0-only /* * at91sam9g20ek_common.dtsi - Device Tree file for Atmel at91sam9g20ek board * * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> */ #include "at91sam9g20.dtsi" #include <dt-bindings/input/input.h> / { chosen { bootargs = "mem=64M root=/dev/mtdblock5 rw rootfstype=ubifs"; stdout-path = "serial0:115200n8"; }; memory@20000000 { reg = <0x20000000 0x4000000>; }; clocks { slow_xtal { clock-frequency = <32768>; }; main_xtal { clock-frequency = <18432000>; }; }; ahb { apb { pinctrl@fffff400 { board { pinctrl_pck0_as_mck: pck0_as_mck { atmel,pins = <AT91_PIOC 1 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC1 periph B */ }; }; usb1 { pinctrl_usb1_vbus_gpio: usb1_vbus_gpio { atmel,pins = <AT91_PIOC 5 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PC5 GPIO */ }; }; mmc0_slot1 { pinctrl_board_mmc0_slot1: mmc0_slot1-board { atmel,pins = <AT91_PIOC 9 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PC9 gpio CD pin pull up and deglitch */ }; }; }; dbgu: serial@fffff200 { status = "okay"; }; tcb0: timer@fffa0000 { timer@0 { compatible = "atmel,tcb-timer"; reg = <0>, <1>; }; timer@2 { compatible = "atmel,tcb-timer"; reg = <2>; }; }; usart0: serial@fffb0000 { pinctrl-0 = <&pinctrl_usart0 &pinctrl_usart0_rts &pinctrl_usart0_cts &pinctrl_usart0_dtr_dsr &pinctrl_usart0_dcd &pinctrl_usart0_ri>; status = "okay"; }; usart1: serial@fffb4000 { status = "okay"; }; macb0: ethernet@fffc4000 { phy-mode = "rmii"; status = "okay"; }; usb1: gadget@fffa4000 { pinctrl-0 = <&pinctrl_usb1_vbus_gpio>; pinctrl-names = "default"; atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>; status = "okay"; }; mmc0: mmc@fffa8000 { pinctrl-0 = < &pinctrl_board_mmc0_slot1 &pinctrl_mmc0_clk &pinctrl_mmc0_slot1_cmd_dat0 &pinctrl_mmc0_slot1_dat1_3>; pinctrl-names = "default"; status = "okay"; slot@1 { reg = <1>; bus-width = <4>; cd-gpios = <&pioC 9 GPIO_ACTIVE_HIGH>; }; }; ssc0: ssc@fffbc000 { status = "okay"; pinctrl-0 = <&pinctrl_ssc0_tx>; }; spi0: spi@fffc8000 { cs-gpios = <0>, <&pioC 11 0>, <0>, <0>; flash@1 { compatible = "atmel,at45", "atmel,dataflash"; spi-max-frequency = <50000000>; reg = <1>; }; }; shdwc: poweroff@fffffd10 { atmel,wakeup-counter = <10>; atmel,wakeup-rtt-timer; }; rtc@fffffd20 { atmel,rtt-rtc-time-reg = <&gpbr 0x0>; status = "okay"; }; watchdog@fffffd40 { status = "okay"; }; gpbr: syscon@fffffd50 { status = "okay"; }; }; ebi: ebi@10000000 { status = "okay"; nand_controller: nand-controller { status = "okay"; pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>; pinctrl-names = "default"; nand@3 { reg = <0x3 0x0 0x800000>; rb-gpios = <&pioC 13 GPIO_ACTIVE_HIGH>; cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>; nand-bus-width = <8>; nand-ecc-mode = "soft"; nand-on-flash-bbt; label = "atmel_nand"; partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; at91bootstrap@0 { label = "at91bootstrap"; reg = <0x0 0x20000>; }; barebox@20000 { label = "barebox"; reg = <0x20000 0x40000>; }; bareboxenv@60000 { label = "bareboxenv"; reg = <0x60000 0x20000>; }; bareboxenv2@80000 { label = "bareboxenv2"; reg = <0x80000 0x20000>; }; oftree@80000 { label = "oftree"; reg = <0xa0000 0x20000>; }; kernel@a0000 { label = "kernel"; reg = <0xc0000 0x400000>; }; rootfs@4a0000 { label = "rootfs"; reg = <0x4c0000 0x7800000>; }; data@7ca0000 { label = "data"; reg = <0x7cc0000 0x8340000>; }; }; }; }; }; usb0: ohci@500000 { num-ports = <2>; status = "okay"; }; }; i2c-gpio-0 { status = "okay"; 24c512@50 { compatible = "atmel,24c512"; reg = <0x50>; vcc-supply = <®_3v3>; }; wm8731: wm8731@1b { compatible = "wm8731"; reg = <0x1b>; /* PCK0 at 12MHz */ clocks = <&pmc PMC_TYPE_SYSTEM 8>; clock-names = "mclk"; assigned-clocks = <&pmc PMC_TYPE_SYSTEM 8>; assigned-clock-rates = <12000000>; HPVDD-supply = <&vcc_dac>; AVDD-supply = <&vcc_dac>; DCVDD-supply = <®_3v3>; DBVDD-supply = <®_3v3>; }; }; gpio-keys { compatible = "gpio-keys"; button-3 { label = "Button 3"; gpios = <&pioA 30 GPIO_ACTIVE_LOW>; linux,code = <0x103>; wakeup-source; }; button-4 { label = "Button 4"; gpios = <&pioA 31 GPIO_ACTIVE_LOW>; linux,code = <KEY_PROG1>; wakeup-source; }; }; sound { compatible = "atmel,at91sam9g20ek-wm8731-audio"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pck0_as_mck>; atmel,model = "wm8731 @ AT91SAMG20EK"; atmel,audio-routing = "Ext Spk", "LHPOUT", "Int Mic", "MICIN"; atmel,ssc-controller = <&ssc0>; atmel,audio-codec = <&wm8731>; }; reg_5v: fixedregulator0 { compatible = "regulator-fixed"; regulator-name = "5V"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; }; reg_3v3: fixedregulator1 { compatible = "regulator-fixed"; regulator-name = "3V3"; vin-supply = <®_5v>; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; reg_1v: fixedregulator2 { compatible = "regulator-fixed"; regulator-name = "1V"; vin-supply = <®_5v>; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; }; vcc_dac: fixedregulator3 { compatible = "regulator-fixed"; regulator-name = "VCC_DAC"; vin-supply = <®_3v3>; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; };