1 // SPDX-License-Identifier: GPL-2.0-or-later 1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* 2 /* 3 * sama5d3xmb.dts - Device Tree file for SAMA5 3 * sama5d3xmb.dts - Device Tree file for SAMA5D3x mother board 4 * 4 * 5 * Copyright (C) 2013 Atmel, 5 * Copyright (C) 2013 Atmel, 6 * 2013 Ludovic Desroches <ludov 6 * 2013 Ludovic Desroches <ludovic.desroches@atmel.com> 7 */ 7 */ 8 #include "sama5d3xcm.dtsi" 8 #include "sama5d3xcm.dtsi" 9 9 10 / { 10 / { 11 compatible = "atmel,sama5d3xmb", "atme 11 compatible = "atmel,sama5d3xmb", "atmel,sama5d3xcm", "atmel,sama5d3", "atmel,sama5"; 12 12 13 ahb { 13 ahb { 14 apb { 14 apb { 15 mmc0: mmc@f0000000 { 15 mmc0: mmc@f0000000 { 16 pinctrl-names 16 pinctrl-names = "default"; 17 pinctrl-0 = <& 17 pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_cd>; 18 status = "okay 18 status = "okay"; 19 slot@0 { 19 slot@0 { 20 reg = 20 reg = <0>; 21 bus-wi 21 bus-width = <4>; 22 cd-gpi 22 cd-gpios = <&pioD 17 GPIO_ACTIVE_HIGH>; 23 }; 23 }; 24 }; 24 }; 25 25 26 spi0: spi@f0004000 { 26 spi0: spi@f0004000 { 27 dmas = <0>, <0 27 dmas = <0>, <0>; /* Do not use DMA for spi0 */ 28 28 29 flash@0 { 29 flash@0 { 30 compat 30 compatible = "atmel,at25df321a"; 31 spi-ma 31 spi-max-frequency = <50000000>; 32 reg = 32 reg = <0>; 33 }; 33 }; 34 }; 34 }; 35 35 36 ssc0: ssc@f0008000 { 36 ssc0: ssc@f0008000 { 37 atmel,clk-from 37 atmel,clk-from-rk-pin; 38 }; 38 }; 39 39 40 /* 40 /* 41 * i2c0 conflicts with 41 * i2c0 conflicts with ISI: 42 * disable it to allow 42 * disable it to allow the use of ISI 43 * can not enable audi 43 * can not enable audio when i2c0 disabled 44 */ 44 */ 45 i2c0: i2c@f0014000 { 45 i2c0: i2c@f0014000 { 46 wm8904: wm8904 46 wm8904: wm8904@1a { 47 compat 47 compatible = "wlf,wm8904"; 48 reg = 48 reg = <0x1a>; 49 clocks 49 clocks = <&pmc PMC_TYPE_SYSTEM 8>; 50 clock- 50 clock-names = "mclk"; 51 }; 51 }; 52 }; 52 }; 53 53 54 i2c1: i2c@f0018000 { 54 i2c1: i2c@f0018000 { 55 ov2640: camera 55 ov2640: camera@30 { 56 compat 56 compatible = "ovti,ov2640"; 57 reg = 57 reg = <0x30>; 58 pinctr 58 pinctrl-names = "default"; 59 pinctr 59 pinctrl-0 = <&pinctrl_pck1_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>; 60 resetb 60 resetb-gpios = <&pioE 24 GPIO_ACTIVE_LOW>; 61 pwdn-g 61 pwdn-gpios = <&pioE 29 GPIO_ACTIVE_HIGH>; 62 /* use 62 /* use pck1 for the master clock of ov2640 */ 63 clocks 63 clocks = <&pmc PMC_TYPE_SYSTEM 9>; 64 clock- 64 clock-names = "xvclk"; 65 assign 65 assigned-clocks = <&pmc PMC_TYPE_SYSTEM 9>; 66 assign 66 assigned-clock-rates = <25000000>; 67 67 68 port { 68 port { 69 69 ov2640_0: endpoint { 70 70 remote-endpoint = <&isi_0>; 71 71 bus-width = <8>; 72 72 }; 73 }; 73 }; 74 }; 74 }; 75 }; 75 }; 76 76 77 usart1: serial@f002000 77 usart1: serial@f0020000 { 78 dmas = <0>, <0 78 dmas = <0>, <0>; /* Do not use DMA for usart1 */ 79 pinctrl-names 79 pinctrl-names = "default"; 80 pinctrl-0 = <& 80 pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>; 81 status = "okay 81 status = "okay"; 82 }; 82 }; 83 83 84 isi: isi@f0034000 { 84 isi: isi@f0034000 { 85 port { 85 port { 86 isi_0: 86 isi_0: endpoint { 87 87 remote-endpoint = <&ov2640_0>; 88 88 bus-width = <8>; 89 89 vsync-active = <1>; 90 90 hsync-active = <1>; 91 }; 91 }; 92 }; 92 }; 93 }; 93 }; 94 94 95 mmc1: mmc@f8000000 { 95 mmc1: mmc@f8000000 { 96 pinctrl-names 96 pinctrl-names = "default"; 97 pinctrl-0 = <& 97 pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>; 98 status = "okay 98 status = "okay"; 99 slot@0 { 99 slot@0 { 100 reg = 100 reg = <0>; 101 bus-wi 101 bus-width = <4>; 102 cd-gpi 102 cd-gpios = <&pioD 18 GPIO_ACTIVE_HIGH>; 103 }; 103 }; 104 }; 104 }; 105 105 106 adc0: adc@f8018000 { 106 adc0: adc@f8018000 { 107 pinctrl-names 107 pinctrl-names = "default"; 108 pinctrl-0 = < 108 pinctrl-0 = < 109 &pinct 109 &pinctrl_adc0_adtrg 110 &pinct 110 &pinctrl_adc0_ad0 111 &pinct 111 &pinctrl_adc0_ad1 112 &pinct 112 &pinctrl_adc0_ad2 113 &pinct 113 &pinctrl_adc0_ad3 114 &pinct 114 &pinctrl_adc0_ad4 115 >; 115 >; 116 status = "okay 116 status = "okay"; 117 }; 117 }; 118 118 119 pinctrl@fffff200 { 119 pinctrl@fffff200 { 120 board { 120 board { 121 pinctr 121 pinctrl_mmc0_cd: mmc0_cd { 122 122 atmel,pins = 123 123 <AT91_PIOD 17 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PD17 GPIO with pullup deglitch */ 124 }; 124 }; 125 125 126 pinctr 126 pinctrl_mmc1_cd: mmc1_cd { 127 127 atmel,pins = 128 128 <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PD18 GPIO with pullup deglitch */ 129 }; 129 }; 130 130 131 pinctr 131 pinctrl_pck0_as_audio_mck: pck0_as_audio_mck { 132 132 atmel,pins = 133 133 <AT91_PIOD 30 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PD30 periph B */ 134 }; 134 }; 135 135 136 pinctr 136 pinctrl_pck1_as_isi_mck: pck1_as_isi_mck-0 { 137 137 atmel,pins = 138 138 <AT91_PIOD 31 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PD31 periph B ISI_MCK */ 139 }; 139 }; 140 140 141 pinctr 141 pinctrl_sensor_reset: sensor_reset-0 { 142 142 atmel,pins = 143 143 <AT91_PIOE 24 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; /* PE24 gpio */ 144 }; 144 }; 145 145 146 pinctr 146 pinctrl_sensor_power: sensor_power-0 { 147 147 atmel,pins = 148 148 <AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; /* PE29 gpio */ 149 }; 149 }; 150 150 151 pinctr 151 pinctrl_usba_vbus: usba_vbus { 152 152 atmel,pins = 153 153 <AT91_PIOD 29 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PD29 GPIO with deglitch */ 154 }; 154 }; 155 }; 155 }; 156 }; 156 }; 157 157 158 dbgu: serial@ffffee00 158 dbgu: serial@ffffee00 { 159 dmas = <0>, <0 159 dmas = <0>, <0>; /* Do not use DMA for dbgu */ 160 status = "okay 160 status = "okay"; 161 }; 161 }; 162 162 163 watchdog@fffffe40 { 163 watchdog@fffffe40 { 164 status = "okay 164 status = "okay"; 165 }; 165 }; 166 }; 166 }; 167 167 168 usb0: gadget@500000 { 168 usb0: gadget@500000 { 169 atmel,vbus-gpio = <&pi 169 atmel,vbus-gpio = <&pioD 29 GPIO_ACTIVE_HIGH>; 170 pinctrl-names = "defau 170 pinctrl-names = "default"; 171 pinctrl-0 = <&pinctrl_ 171 pinctrl-0 = <&pinctrl_usba_vbus>; 172 status = "okay"; 172 status = "okay"; 173 }; 173 }; 174 174 175 usb1: ohci@600000 { 175 usb1: ohci@600000 { 176 num-ports = <3>; 176 num-ports = <3>; 177 atmel,vbus-gpio = <&pi 177 atmel,vbus-gpio = <&pioD 25 GPIO_ACTIVE_HIGH 178 &pi 178 &pioD 26 GPIO_ACTIVE_LOW 179 &pi 179 &pioD 27 GPIO_ACTIVE_LOW 180 >; 180 >; 181 status = "okay"; 181 status = "okay"; 182 }; 182 }; 183 183 184 usb2: ehci@700000 { 184 usb2: ehci@700000 { 185 status = "okay"; 185 status = "okay"; 186 }; 186 }; 187 }; 187 }; 188 188 189 sound { 189 sound { 190 compatible = "atmel,asoc-wm890 190 compatible = "atmel,asoc-wm8904"; 191 pinctrl-names = "default"; 191 pinctrl-names = "default"; 192 pinctrl-0 = <&pinctrl_pck0_as_ 192 pinctrl-0 = <&pinctrl_pck0_as_audio_mck>; 193 193 194 atmel,model = "wm8904 @ SAMA5D 194 atmel,model = "wm8904 @ SAMA5D3EK"; 195 atmel,audio-routing = 195 atmel,audio-routing = 196 "Headphone Jack", "HPO 196 "Headphone Jack", "HPOUTL", 197 "Headphone Jack", "HPO 197 "Headphone Jack", "HPOUTR", 198 "IN2L", "Line In Jack" 198 "IN2L", "Line In Jack", 199 "IN2R", "Line In Jack" 199 "IN2R", "Line In Jack", 200 "Mic", "MICBIAS", 200 "Mic", "MICBIAS", 201 "IN1L", "Mic"; 201 "IN1L", "Mic"; 202 202 203 atmel,ssc-controller = <&ssc0> 203 atmel,ssc-controller = <&ssc0>; 204 atmel,audio-codec = <&wm8904>; 204 atmel,audio-codec = <&wm8904>; 205 205 206 status = "disabled"; 206 status = "disabled"; 207 }; 207 }; 208 }; 208 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.