1262569Simp/* 2262569Simp * sama5d3xmb.dts - Device Tree file for SAMA5D3x mother board 3262569Simp * 4262569Simp * Copyright (C) 2013 Atmel, 5262569Simp * 2013 Ludovic Desroches <ludovic.desroches@atmel.com> 6262569Simp * 7262569Simp * Licensed under GPLv2 or later. 8262569Simp */ 9262569Simp#include "sama5d3xcm.dtsi" 10262569Simp 11262569Simp/ { 12262569Simp compatible = "atmel,sama5d3xmb", "atmel,sama5d3xcm", "atmel,sama5d3", "atmel,sama5"; 13262569Simp 14262569Simp ahb { 15262569Simp apb { 16262569Simp mmc0: mmc@f0000000 { 17262569Simp pinctrl-names = "default"; 18262569Simp pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_cd>; 19262569Simp status = "okay"; 20262569Simp slot@0 { 21262569Simp reg = <0>; 22262569Simp bus-width = <4>; 23262569Simp cd-gpios = <&pioD 17 GPIO_ACTIVE_HIGH>; 24262569Simp }; 25262569Simp }; 26262569Simp 27262569Simp spi0: spi@f0004000 { 28284090Sian dmas = <0>, <0>; /* Do not use DMA for spi0 */ 29284090Sian 30262569Simp m25p80@0 { 31262569Simp compatible = "atmel,at25df321a"; 32262569Simp spi-max-frequency = <50000000>; 33262569Simp reg = <0>; 34262569Simp }; 35262569Simp }; 36262569Simp 37270864Simp ssc0: ssc@f0008000 { 38270864Simp atmel,clk-from-rk-pin; 39270864Simp }; 40270864Simp 41262569Simp /* 42262569Simp * i2c0 conflicts with ISI: 43262569Simp * disable it to allow the use of ISI 44262569Simp * can not enable audio when i2c0 disabled 45262569Simp */ 46262569Simp i2c0: i2c@f0014000 { 47262569Simp wm8904: wm8904@1a { 48284090Sian compatible = "wlf,wm8904"; 49262569Simp reg = <0x1a>; 50270864Simp clocks = <&pck0>; 51270864Simp clock-names = "mclk"; 52262569Simp }; 53262569Simp }; 54262569Simp 55284090Sian i2c1: i2c@f0018000 { 56284090Sian ov2640: camera@0x30 { 57284090Sian compatible = "ovti,ov2640"; 58284090Sian reg = <0x30>; 59284090Sian pinctrl-names = "default"; 60284090Sian pinctrl-0 = <&pinctrl_pck1_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>; 61284090Sian resetb-gpios = <&pioE 24 GPIO_ACTIVE_LOW>; 62284090Sian pwdn-gpios = <&pioE 29 GPIO_ACTIVE_HIGH>; 63284090Sian /* use pck1 for the master clock of ov2640 */ 64284090Sian clocks = <&pck1>; 65284090Sian clock-names = "xvclk"; 66284090Sian assigned-clocks = <&pck1>; 67284090Sian assigned-clock-rates = <25000000>; 68284090Sian 69284090Sian port { 70284090Sian ov2640_0: endpoint { 71284090Sian remote-endpoint = <&isi_0>; 72284090Sian bus-width = <8>; 73284090Sian }; 74284090Sian }; 75284090Sian }; 76284090Sian }; 77284090Sian 78262569Simp usart1: serial@f0020000 { 79284090Sian dmas = <0>, <0>; /* Do not use DMA for usart1 */ 80262569Simp pinctrl-names = "default"; 81262569Simp pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>; 82262569Simp status = "okay"; 83262569Simp }; 84262569Simp 85262569Simp isi: isi@f0034000 { 86284090Sian port { 87284090Sian isi_0: endpoint { 88284090Sian remote-endpoint = <&ov2640_0>; 89284090Sian bus-width = <8>; 90284090Sian }; 91284090Sian }; 92262569Simp }; 93262569Simp 94262569Simp mmc1: mmc@f8000000 { 95262569Simp pinctrl-names = "default"; 96262569Simp pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>; 97262569Simp status = "okay"; 98262569Simp slot@0 { 99262569Simp reg = <0>; 100262569Simp bus-width = <4>; 101262569Simp cd-gpios = <&pioD 18 GPIO_ACTIVE_HIGH>; 102262569Simp }; 103262569Simp }; 104262569Simp 105262569Simp adc0: adc@f8018000 { 106262569Simp pinctrl-names = "default"; 107262569Simp pinctrl-0 = < 108262569Simp &pinctrl_adc0_adtrg 109262569Simp &pinctrl_adc0_ad0 110262569Simp &pinctrl_adc0_ad1 111262569Simp &pinctrl_adc0_ad2 112262569Simp &pinctrl_adc0_ad3 113262569Simp &pinctrl_adc0_ad4 114262569Simp >; 115262569Simp status = "okay"; 116262569Simp }; 117262569Simp 118262569Simp macb1: ethernet@f802c000 { 119262569Simp phy-mode = "rmii"; 120262569Simp 121262569Simp #address-cells = <1>; 122262569Simp #size-cells = <0>; 123262569Simp phy0: ethernet-phy@1 { 124262569Simp interrupt-parent = <&pioE>; 125262569Simp interrupts = <30 IRQ_TYPE_EDGE_FALLING>; 126262569Simp reg = <1>; 127262569Simp }; 128262569Simp }; 129262569Simp 130262569Simp pinctrl@fffff200 { 131262569Simp board { 132262569Simp pinctrl_mmc0_cd: mmc0_cd { 133262569Simp atmel,pins = 134262569Simp <AT91_PIOD 17 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PD17 GPIO with pullup deglitch */ 135262569Simp }; 136262569Simp 137262569Simp pinctrl_mmc1_cd: mmc1_cd { 138262569Simp atmel,pins = 139262569Simp <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PD18 GPIO with pullup deglitch */ 140262569Simp }; 141262569Simp 142262569Simp pinctrl_pck0_as_audio_mck: pck0_as_audio_mck { 143262569Simp atmel,pins = 144262569Simp <AT91_PIOD 30 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PD30 periph B */ 145262569Simp }; 146262569Simp 147284090Sian pinctrl_pck1_as_isi_mck: pck1_as_isi_mck-0 { 148262569Simp atmel,pins = 149284090Sian <AT91_PIOD 31 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PD31 periph B ISI_MCK */ 150284090Sian }; 151284090Sian 152284090Sian pinctrl_sensor_reset: sensor_reset-0 { 153284090Sian atmel,pins = 154262569Simp <AT91_PIOE 24 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; /* PE24 gpio */ 155262569Simp }; 156262569Simp 157284090Sian pinctrl_sensor_power: sensor_power-0 { 158262569Simp atmel,pins = 159262569Simp <AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; /* PE29 gpio */ 160262569Simp }; 161262569Simp 162262569Simp pinctrl_usba_vbus: usba_vbus { 163262569Simp atmel,pins = 164262569Simp <AT91_PIOD 29 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PD29 GPIO with deglitch */ 165262569Simp }; 166262569Simp }; 167262569Simp }; 168262569Simp 169262569Simp dbgu: serial@ffffee00 { 170284090Sian dmas = <0>, <0>; /* Do not use DMA for dbgu */ 171262569Simp status = "okay"; 172262569Simp }; 173262569Simp 174262569Simp watchdog@fffffe40 { 175262569Simp status = "okay"; 176262569Simp }; 177262569Simp }; 178262569Simp 179262569Simp usb0: gadget@00500000 { 180262569Simp atmel,vbus-gpio = <&pioD 29 GPIO_ACTIVE_HIGH>; 181262569Simp pinctrl-names = "default"; 182262569Simp pinctrl-0 = <&pinctrl_usba_vbus>; 183262569Simp status = "okay"; 184262569Simp }; 185262569Simp 186262569Simp usb1: ohci@00600000 { 187262569Simp num-ports = <3>; 188262569Simp atmel,vbus-gpio = <&pioD 25 GPIO_ACTIVE_HIGH 189262569Simp &pioD 26 GPIO_ACTIVE_LOW 190262569Simp &pioD 27 GPIO_ACTIVE_LOW 191262569Simp >; 192262569Simp status = "okay"; 193262569Simp }; 194262569Simp 195262569Simp usb2: ehci@00700000 { 196262569Simp status = "okay"; 197262569Simp }; 198262569Simp }; 199262569Simp 200262569Simp sound { 201270864Simp compatible = "atmel,asoc-wm8904"; 202262569Simp pinctrl-names = "default"; 203262569Simp pinctrl-0 = <&pinctrl_pck0_as_audio_mck>; 204262569Simp 205262569Simp atmel,model = "wm8904 @ SAMA5D3EK"; 206262569Simp atmel,audio-routing = 207262569Simp "Headphone Jack", "HPOUTL", 208262569Simp "Headphone Jack", "HPOUTR", 209262569Simp "IN2L", "Line In Jack", 210262569Simp "IN2R", "Line In Jack", 211284090Sian "Mic", "MICBIAS", 212262569Simp "IN1L", "Mic"; 213262569Simp 214262569Simp atmel,ssc-controller = <&ssc0>; 215262569Simp atmel,audio-codec = <&wm8904>; 216270864Simp 217270864Simp status = "disabled"; 218262569Simp }; 219262569Simp}; 220