Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'at91-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/dt

Merge "at91: dt for 3.20 #1" from Nicolas Ferre:

First batch of DT changes for 3.20:
- little typo and a LED declared
- addition of the Special Function Registers (SFR) + its binding
- RTC & SRAM nodes
- the at91sam9xe has its own .dtsi now. Not combined with at91sam9260 anymore
- addition of the Image Sensor Interface (ISI) DT part and supported sensors

* tag 'at91-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91:
ARM: at91: dts: sama5d3: add ov2640 camera sensor support
ARM: at91: dts: sama5d3: change name of pinctrl of ISI_MCK
ARM: at91: dts: sama5d3: change name of pinctrl_isi_{power,reset}
ARM: at91: dts: sama5d3: move the isi mck pin to mb
ARM: at91: dts: sama5d3: add missing pins of isi
ARM: at91: dts: sama5d3: split isi pinctrl
ARM: at91: dts: sama5d3: add isi clock
ARM: at91/dt: ethernut5: use at91sam9xe.dtsi
ARM: at91/dt: Add a dtsi for at91sam9xe
ARM: at91/dt: add SRAM nodes
ARM: at91/dt: at91rm9200ek: enable RTC
ARM: at91/dt: rm9200: add RTC node
ARM: at91/dt: at91sam9n12: Add RTC node
ARM: at91: sama5d4: Add SFR
ARM: at91: sama5d3: Add SFR
ARM: at91: Add Special Function Registers binding documentation
ARM: at91/dt: sam9263: Fix typo: ac91_clk -> ac97_clk
ARM: at91/dt: sama5d3: enable D2 as the heartbeat LED

Signed-off-by: Olof Johansson <olof@lixom.net>

+227 -13
+17
Documentation/devicetree/bindings/arm/atmel-at91.txt
··· 24 24 o "atmel,at91sam9g45" 25 25 o "atmel,at91sam9n12" 26 26 o "atmel,at91sam9rl" 27 + o "atmel,at91sam9xe" 27 28 * "atmel,sama5" for SoCs using a Cortex-A5, shall be extended with the specific 28 29 SoC family: 29 30 o "atmel,sama5d3" shall be extended with the specific SoC compatible: ··· 136 135 rstc@fffffd00 { 137 136 compatible = "atmel,at91sam9260-rstc"; 138 137 reg = <0xfffffd00 0x10>; 138 + }; 139 + 140 + Special Function Registers (SFR) 141 + 142 + Special Function Registers (SFR) manage specific aspects of the integrated 143 + memory, bridge implementations, processor and other functionality not controlled 144 + elsewhere. 145 + 146 + required properties: 147 + - compatible: Should be "atmel,<chip>-sfr", "syscon". 148 + <chip> can be "sama5d3" or "sama5d4". 149 + - reg: Should contain registers location and length 150 + 151 + sfr@f0038000 { 152 + compatible = "atmel,sama5d3-sfr", "syscon"; 153 + reg = <0xf0038000 0x60>; 139 154 };
+12
arch/arm/boot/dts/at91rm9200.dtsi
··· 66 66 }; 67 67 }; 68 68 69 + sram: sram@00200000 { 70 + compatible = "mmio-sram"; 71 + reg = <0x00200000 0x4000>; 72 + }; 73 + 69 74 ahb { 70 75 compatible = "simple-bus"; 71 76 #address-cells = <1>; ··· 359 354 compatible = "atmel,at91rm9200-st"; 360 355 reg = <0xfffffd00 0x100>; 361 356 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 357 + }; 358 + 359 + rtc: rtc@fffffe00 { 360 + compatible = "atmel,at91rm9200-rtc"; 361 + reg = <0xfffffe00 0x40>; 362 + interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 363 + status = "disabled"; 362 364 }; 363 365 364 366 tcb0: timer@fffa0000 {
+4
arch/arm/boot/dts/at91rm9200ek.dts
··· 77 77 dbgu: serial@fffff200 { 78 78 status = "okay"; 79 79 }; 80 + 81 + rtc: rtc@fffffe00 { 82 + status = "okay"; 83 + }; 80 84 }; 81 85 82 86 usb0: ohci@00300000 {
+5
arch/arm/boot/dts/at91sam9260.dtsi
··· 69 69 }; 70 70 }; 71 71 72 + sram0: sram@002ff000 { 73 + compatible = "mmio-sram"; 74 + reg = <0x002ff000 0x2000>; 75 + }; 76 + 72 77 ahb { 73 78 compatible = "simple-bus"; 74 79 #address-cells = <1>;
+5
arch/arm/boot/dts/at91sam9261.dtsi
··· 60 60 }; 61 61 }; 62 62 63 + sram: sram@00300000 { 64 + compatible = "mmio-sram"; 65 + reg = <0x00300000 0x28000>; 66 + }; 67 + 63 68 ahb { 64 69 compatible = "simple-bus"; 65 70 #address-cells = <1>;
+11 -1
arch/arm/boot/dts/at91sam9263.dtsi
··· 62 62 }; 63 63 }; 64 64 65 + sram0: sram@00300000 { 66 + compatible = "mmio-sram"; 67 + reg = <0x00300000 0x14000>; 68 + }; 69 + 70 + sram1: sram@00500000 { 71 + compatible = "mmio-sram"; 72 + reg = <0x00300000 0x4000>; 73 + }; 74 + 65 75 ahb { 66 76 compatible = "simple-bus"; 67 77 #address-cells = <1>; ··· 304 294 reg = <17>; 305 295 }; 306 296 307 - ac91_clk: ac97_clk { 297 + ac97_clk: ac97_clk { 308 298 #clock-cells = <0>; 309 299 reg = <18>; 310 300 };
+9
arch/arm/boot/dts/at91sam9g20.dtsi
··· 16 16 reg = <0x20000000 0x08000000>; 17 17 }; 18 18 19 + sram0: sram@002ff000 { 20 + status = "disabled"; 21 + }; 22 + 23 + sram1: sram@002fc000 { 24 + compatible = "mmio-sram"; 25 + reg = <0x002fc000 0x8000>; 26 + }; 27 + 19 28 ahb { 20 29 apb { 21 30 i2c0: i2c@fffac000 {
+5 -2
arch/arm/boot/dts/at91sam9g45.dtsi
··· 74 74 }; 75 75 }; 76 76 77 + sram: sram@00300000 { 78 + compatible = "mmio-sram"; 79 + reg = <0x00300000 0x10000>; 80 + }; 81 + 77 82 ahb { 78 83 compatible = "simple-bus"; 79 84 #address-cells = <1>; ··· 1292 1287 compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 1293 1288 reg = <0x00700000 0x100000>; 1294 1289 interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>; 1295 - //TODO 1296 1290 clocks = <&usb>, <&uhphs_clk>, <&uhphs_clk>, <&uhpck>; 1297 1291 clock-names = "usb_clk", "ohci_clk", "hclk", "uhpck"; 1298 1292 status = "disabled"; ··· 1301 1297 compatible = "atmel,at91sam9g45-ehci", "usb-ehci"; 1302 1298 reg = <0x00800000 0x100000>; 1303 1299 interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>; 1304 - //TODO 1305 1300 clocks = <&usb>, <&uhphs_clk>, <&uhphs_clk>, <&uhpck>; 1306 1301 clock-names = "usb_clk", "ehci_clk", "hclk", "uhpck"; 1307 1302 status = "disabled";
+12
arch/arm/boot/dts/at91sam9n12.dtsi
··· 64 64 }; 65 65 }; 66 66 67 + sram: sram@00300000 { 68 + compatible = "mmio-sram"; 69 + reg = <0x00300000 0x8000>; 70 + }; 71 + 67 72 ahb { 68 73 compatible = "simple-bus"; 69 74 #address-cells = <1>; ··· 895 890 atmel,reset-type = "all"; 896 891 atmel,dbg-halt; 897 892 atmel,idle-halt; 893 + status = "disabled"; 894 + }; 895 + 896 + rtc@fffffeb0 { 897 + compatible = "atmel,at91rm9200-rtc"; 898 + reg = <0xfffffeb0 0x40>; 899 + interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 898 900 status = "disabled"; 899 901 }; 900 902
+5
arch/arm/boot/dts/at91sam9rl.dtsi
··· 70 70 }; 71 71 }; 72 72 73 + sram: sram@00300000 { 74 + compatible = "mmio-sram"; 75 + reg = <0x00300000 0x10000>; 76 + }; 77 + 73 78 ahb { 74 79 compatible = "simple-bus"; 75 80 #address-cells = <1>;
+5
arch/arm/boot/dts/at91sam9x5.dtsi
··· 72 72 }; 73 73 }; 74 74 75 + sram: sram@00300000 { 76 + compatible = "mmio-sram"; 77 + reg = <0x00300000 0x8000>; 78 + }; 79 + 75 80 ahb { 76 81 compatible = "simple-bus"; 77 82 #address-cells = <1>;
+60
arch/arm/boot/dts/at91sam9xe.dtsi
··· 1 + /* 2 + * at91sam9xe.dtsi - Device Tree Include file for AT91SAM9XE family SoC 3 + * 4 + * Copyright (C) 2015 Atmel, 5 + * 2015 Alexandre Belloni <alexandre.Belloni@free-electrons.com> 6 + * 7 + * This file is dual-licensed: you can use it either under the terms 8 + * of the GPL or the X11 license, at your option. Note that this dual 9 + * licensing only applies to this file, and not this project as a 10 + * whole. 11 + * 12 + * a) This file is free software; you can redistribute it and/or 13 + * modify it under the terms of the GNU General Public License as 14 + * published by the Free Software Foundation; either version 2 of the 15 + * License, or (at your option) any later version. 16 + * 17 + * This file is distributed in the hope that it will be useful, 18 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 + * GNU General Public License for more details. 21 + * 22 + * Or, alternatively, 23 + * 24 + * b) Permission is hereby granted, free of charge, to any person 25 + * obtaining a copy of this software and associated documentation 26 + * files (the "Software"), to deal in the Software without 27 + * restriction, including without limitation the rights to use, 28 + * copy, modify, merge, publish, distribute, sublicense, and/or 29 + * sell copies of the Software, and to permit persons to whom the 30 + * Software is furnished to do so, subject to the following 31 + * conditions: 32 + * 33 + * The above copyright notice and this permission notice shall be 34 + * included in all copies or substantial portions of the Software. 35 + * 36 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 37 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 38 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 39 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 40 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 41 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 42 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 43 + * OTHER DEALINGS IN THE SOFTWARE. 44 + */ 45 + 46 + #include "at91sam9260.dtsi" 47 + 48 + / { 49 + model = "Atmel AT91SAM9XE family SoC"; 50 + compatible = "atmel,at91sam9xe", "atmel,at91sam9260"; 51 + 52 + sram0: sram@002ff000 { 53 + status = "disabled"; 54 + }; 55 + 56 + sram1: sram@00300000 { 57 + compatible = "mmio-sram"; 58 + reg = <0x00300000 0x4000>; 59 + }; 60 + };
+1 -1
arch/arm/boot/dts/ethernut5.dts
··· 6 6 * Licensed under GPLv2. 7 7 */ 8 8 /dts-v1/; 9 - #include "at91sam9260.dtsi" 9 + #include "at91sam9xe.dtsi" 10 10 11 11 / { 12 12 model = "Ethernut 5";
+29 -5
arch/arm/boot/dts/sama5d3.dtsi
··· 78 78 }; 79 79 }; 80 80 81 + sram: sram@00300000 { 82 + compatible = "mmio-sram"; 83 + reg = <0x00300000 0x20000>; 84 + }; 85 + 81 86 ahb { 82 87 compatible = "simple-bus"; 83 88 #address-cells = <1>; ··· 219 214 compatible = "atmel,at91sam9g45-isi"; 220 215 reg = <0xf0034000 0x4000>; 221 216 interrupts = <37 IRQ_TYPE_LEVEL_HIGH 5>; 217 + pinctrl-names = "default"; 218 + pinctrl-0 = <&pinctrl_isi_data_0_7>; 219 + clocks = <&isi_clk>; 220 + clock-names = "isi_clk"; 222 221 status = "disabled"; 222 + port { 223 + #address-cells = <1>; 224 + #size-cells = <0>; 225 + }; 226 + }; 227 + 228 + sfr: sfr@f0038000 { 229 + compatible = "atmel,sama5d3-sfr", "syscon"; 230 + reg = <0xf0038000 0x60>; 223 231 }; 224 232 225 233 mmc1: mmc@f8000000 { ··· 563 545 }; 564 546 565 547 isi { 566 - pinctrl_isi: isi-0 { 548 + pinctrl_isi_data_0_7: isi-0-data-0-7 { 567 549 atmel,pins = 568 550 <AT91_PIOA 16 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA16 periph C ISI_D0, conflicts with LCDDAT16 */ 569 551 AT91_PIOA 17 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA17 periph C ISI_D1, conflicts with LCDDAT17 */ ··· 575 557 AT91_PIOA 23 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA23 periph C ISI_D7, conflicts with LCDDAT23, PWML1 */ 576 558 AT91_PIOC 30 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC30 periph C ISI_PCK, conflicts with UTXD0 */ 577 559 AT91_PIOA 31 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA31 periph C ISI_HSYNC, conflicts with TWCK0, UTXD1 */ 578 - AT91_PIOA 30 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA30 periph C ISI_VSYNC, conflicts with TWD0, URXD1 */ 579 - AT91_PIOC 29 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC29 periph C ISI_PD8, conflicts with URXD0, PWMFI2 */ 560 + AT91_PIOA 30 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PA30 periph C ISI_VSYNC, conflicts with TWD0, URXD1 */ 561 + }; 562 + 563 + pinctrl_isi_data_8_9: isi-0-data-8-9 { 564 + atmel,pins = 565 + <AT91_PIOC 29 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC29 periph C ISI_PD8, conflicts with URXD0, PWMFI2 */ 580 566 AT91_PIOC 28 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PC28 periph C ISI_PD9, conflicts with SPI1_NPCS3, PWMFI0 */ 581 567 }; 582 - pinctrl_isi_pck_as_mck: isi_pck_as_mck-0 { 568 + 569 + pinctrl_isi_data_10_11: isi-0-data-10-11 { 583 570 atmel,pins = 584 - <AT91_PIOD 31 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PD31 periph B ISI_MCK */ 571 + <AT91_PIOC 27 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC27 periph C ISI_PD10, conflicts with SPI1_NPCS2, TWCK1 */ 572 + AT91_PIOC 26 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PC26 periph C ISI_PD11, conflicts with SPI1_NPCS1, TWD1 */ 585 573 }; 586 574 }; 587 575
+1
arch/arm/boot/dts/sama5d3xcm.dtsi
··· 122 122 d2 { 123 123 label = "d2"; 124 124 gpios = <&pioE 25 GPIO_ACTIVE_LOW>; /* PE25, conflicts with A25, RXD2 */ 125 + linux,default-trigger = "heartbeat"; 125 126 }; 126 127 }; 127 128 };
+36 -4
arch/arm/boot/dts/sama5d3xmb.dtsi
··· 52 52 }; 53 53 }; 54 54 55 + i2c1: i2c@f0018000 { 56 + ov2640: camera@0x30 { 57 + compatible = "ovti,ov2640"; 58 + reg = <0x30>; 59 + pinctrl-names = "default"; 60 + pinctrl-0 = <&pinctrl_pck1_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>; 61 + resetb-gpios = <&pioE 24 GPIO_ACTIVE_LOW>; 62 + pwdn-gpios = <&pioE 29 GPIO_ACTIVE_HIGH>; 63 + /* use pck1 for the master clock of ov2640 */ 64 + clocks = <&pck1>; 65 + clock-names = "xvclk"; 66 + assigned-clocks = <&pck1>; 67 + assigned-clock-rates = <25000000>; 68 + 69 + port { 70 + ov2640_0: endpoint { 71 + remote-endpoint = <&isi_0>; 72 + bus-width = <8>; 73 + }; 74 + }; 75 + }; 76 + }; 77 + 55 78 usart1: serial@f0020000 { 56 79 dmas = <0>, <0>; /* Do not use DMA for usart1 */ 57 80 pinctrl-names = "default"; ··· 83 60 }; 84 61 85 62 isi: isi@f0034000 { 86 - pinctrl-names = "default"; 87 - pinctrl-0 = <&pinctrl_isi &pinctrl_isi_pck_as_mck &pinctrl_isi_power &pinctrl_isi_reset>; 63 + port { 64 + isi_0: endpoint { 65 + remote-endpoint = <&ov2640_0>; 66 + bus-width = <8>; 67 + }; 68 + }; 88 69 }; 89 70 90 71 mmc1: mmc@f8000000 { ··· 144 117 <AT91_PIOD 30 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PD30 periph B */ 145 118 }; 146 119 147 - pinctrl_isi_reset: isi_reset-0 { 120 + pinctrl_pck1_as_isi_mck: pck1_as_isi_mck-0 { 121 + atmel,pins = 122 + <AT91_PIOD 31 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PD31 periph B ISI_MCK */ 123 + }; 124 + 125 + pinctrl_sensor_reset: sensor_reset-0 { 148 126 atmel,pins = 149 127 <AT91_PIOE 24 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; /* PE24 gpio */ 150 128 }; 151 129 152 - pinctrl_isi_power: isi_power-0 { 130 + pinctrl_sensor_power: sensor_power-0 { 153 131 atmel,pins = 154 132 <AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; /* PE29 gpio */ 155 133 };
+10
arch/arm/boot/dts/sama5d4.dtsi
··· 103 103 }; 104 104 }; 105 105 106 + ns_sram: sram@00210000 { 107 + compatible = "mmio-sram"; 108 + reg = <0x00210000 0x10000>; 109 + }; 110 + 106 111 ahb { 107 112 compatible = "simple-bus"; 108 113 #address-cells = <1>; ··· 873 868 #size-cells = <0>; 874 869 clocks = <&twi2_clk>; 875 870 status = "disabled"; 871 + }; 872 + 873 + sfr: sfr@f8028000 { 874 + compatible = "atmel,sama5d4-sfr", "syscon"; 875 + reg = <0xf8028000 0x60>; 876 876 }; 877 877 878 878 mmc1: mmc@fc000000 {