| // 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@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>; |
| }; |
| }; |