DT for 4.16

- New boards:
    - Axentia Nattis with Natte power
    - sama5d2 PTC ek
  - Document and use extended TCB bindings
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEXx9Viay1+e7J/aM4AyWl4gNJNJIFAlpI+YcACgkQAyWl4gNJ
 NJK2pQ//eU4LdURm9h8u7UVubWKy6Ctv3URM+EmKlPOuxThKd9KjLk9oI4snoXcf
 kfpq8U0dASEMeURf5iqyfYWD+yj17aKUCiSNNn7fTqAItn+DHmz0CM4al1c1coB/
 Kkr8Ux9zTM0/HjV74EQnsjwuzdUtJ7VXT7PnjGQHrxlImGxOIF/dZRplgm+4p6FK
 JL5zvbW6riBT++zoVwCGyVgjM8OjguZ6ZnCaiNExFVp9VXaPRqR09sjMed/qJurz
 KCp7w8sopJJBPfsL1Gf0PsWW31Jsj8rD1lYqQex2hmjeP11VPAXgQquCGWkgeZxA
 3kONaXo5FnoDhIc7AQfZ3syaz9+vGOaLF3of4UEMO4/VwQe4phd2Yh3Hrw2cg3xd
 GP0RulpVOTIhVASJoSQyphAeQZvpch8M+AvJjBQWS7+mPA/iGXzoXc1fM9eKezfb
 jvh+3+l25KbkYZ/QkbMd+Nm7fSvUPSHbYQrkMe0O+mzSy1JN/uwq3Hg97e5O2STp
 5US1jWWF1PfKrvbRNvkA67fVLWkKssAMXF8aLf1538dq74Jpe5lXfE2EuXarOR2b
 9WGrWDZ9tkpbcFplXxFnxt8pgbQ9A7p9SCWQY1Z9qgRP6EhD5457/CvElqHcAem+
 tbe4ayugVOHb5KigPti7XGZOcHR9o+DO/qFdaPE8jRKV/3yndS4=
 =BW4/
 -----END PGP SIGNATURE-----

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

DT for 4.16

 - New boards:
   - Axentia Nattis with Natte power
   - sama5d2 PTC ek
 - Document and use extended TCB bindings

* tag 'at91-ab-4.16-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (50 commits)
  ARM: dts: at91: sama5d2_ptc_ek: use TCB0 as timers
  ARM: dts: at91: sama5d27_som1_ek: use TCB0 as timers
  ARM: dts: at91: sama5d2 Xplained: use TCB0 as timers
  ARM: dts: at91: sama5d2: TC blocks are also simple-mfd and syscon devices
  ARM: dts: at91: vinco: use TCB2 as timers
  ARM: dts: at91: ma5d4: use TCB2 as timers
  ARM: dts: at91: sama5d4 Xplained: use TCB2 as timers
  ARM: dts: at91: sama5d4ek: use TCB2 as timers
  ARM: dts: at91: sama5d4: Add TCB2
  ARM: dts: at91: sama5d4: TC blocks are also simple-mfd and syscon devices
  ARM: dts: at91: linea/tse850-3: use TCB0 as timers
  ARM: dts: at91: sama5d3xek_cmp: use TCB0 as timers
  ARM: dts: at91: kizbox2: use TCB0 as timers
  ARM: dts: at91: sama5d3 Xplained: use TCB0 as timers
  ARM: dts: at91: sama5d3xek: use TCB0 as timers
  ARM: dts: at91: sama5d3: TC blocks are also simple-mfd and syscon devices
  ARM: dts: at91: kizboxmini: use TCB0 as timers
  ARM: dts: at91: cosino: use TCB0 as timers
  ARM: dts: at91: acme/g25: use TCB0 as timers
  ARM: dts: at91: at91sam9x5cm: use TCB0 as timers
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
Olof Johansson 2018-01-04 23:30:28 -08:00
commit 8ef9aea80d
60 changed files with 1514 additions and 60 deletions

View File

@ -90,38 +90,6 @@ System Timer (ST) required properties:
Its subnodes can be:
- watchdog: compatible should be "atmel,at91rm9200-wdt"
TC/TCLIB Timer required properties:
- compatible: Should be "atmel,<chip>-tcb".
<chip> can be "at91rm9200" or "at91sam9x5"
- reg: Should contain registers location and length
- interrupts: Should contain all interrupts for the TC block
Note that you can specify several interrupt cells if the TC
block has one interrupt per channel.
- clock-names: tuple listing input clock names.
Required elements: "t0_clk", "slow_clk"
Optional elements: "t1_clk", "t2_clk"
- clocks: phandles to input clocks.
Examples:
One interrupt per TC block:
tcb0: timer@fff7c000 {
compatible = "atmel,at91rm9200-tcb";
reg = <0xfff7c000 0x100>;
interrupts = <18 4>;
clocks = <&tcb0_clk>;
clock-names = "t0_clk";
};
One interrupt per TC channel in a TC block:
tcb1: timer@fffdc000 {
compatible = "atmel,at91rm9200-tcb";
reg = <0xfffdc000 0x100>;
interrupts = <26 4 27 4 28 4>;
clocks = <&tcb1_clk>;
clock-names = "t0_clk";
};
RSTC Reset Controller required properties:
- compatible: Should be "atmel,<chip>-rstc".
<chip> can be "at91sam9260" or "at91sam9g45" or "sama5d3"

View File

@ -10,6 +10,15 @@ compatible = "axentia,linea",
and following the rules from atmel-at91.txt for a sama5d31 SoC.
Nattis v2 board with Natte v2 power board
-----------------------------------------
Required root node properties:
compatible = "axentia,nattis-2", "axentia,natte-2", "axentia,linea",
"atmel,sama5d31", "atmel,sama5d3", "atmel,sama5";
and following the rules from above for the axentia,linea CPU module.
TSE-850 v3 board
----------------

View File

@ -0,0 +1,56 @@
* Device tree bindings for Atmel Timer Counter Blocks
- compatible: Should be "atmel,<chip>-tcb", "simple-mfd", "syscon".
<chip> can be "at91rm9200" or "at91sam9x5"
- reg: Should contain registers location and length
- #address-cells: has to be 1
- #size-cells: has to be 0
- interrupts: Should contain all interrupts for the TC block
Note that you can specify several interrupt cells if the TC
block has one interrupt per channel.
- clock-names: tuple listing input clock names.
Required elements: "t0_clk", "slow_clk"
Optional elements: "t1_clk", "t2_clk"
- clocks: phandles to input clocks.
The TCB can expose multiple subdevices:
* a timer
- compatible: Should be "atmel,tcb-timer"
- reg: Should contain the TCB channels to be used. If the
counter width is 16 bits (at91rm9200-tcb), two consecutive
channels are needed. Else, only one channel will be used.
Examples:
One interrupt per TC block:
tcb0: timer@fff7c000 {
compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xfff7c000 0x100>;
interrupts = <18 4>;
clocks = <&tcb0_clk>, <&clk32k>;
clock-names = "t0_clk", "slow_clk";
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>, <1>;
};
timer@2 {
compatible = "atmel,tcb-timer";
reg = <2>;
};
};
One interrupt per TC channel in a TC block:
tcb1: timer@fffdc000 {
compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xfffdc000 0x100>;
interrupts = <26 4>, <27 4>, <28 4>;
clocks = <&tcb1_clk>, <&clk32k>;
clock-names = "t0_clk", "slow_clk";
};

View File

@ -2501,6 +2501,8 @@ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S: Maintained
F: Documentation/devicetree/bindings/arm/axentia.txt
F: arch/arm/boot/dts/at91-linea.dtsi
F: arch/arm/boot/dts/at91-natte.dtsi
F: arch/arm/boot/dts/at91-nattis-2-natte-2.dts
F: arch/arm/boot/dts/at91-tse850-3.dts
AXENTIA ASOC DRIVERS

View File

@ -45,7 +45,9 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
at91sam9x35ek.dtb
dtb-$(CONFIG_SOC_SAM_V7) += \
at91-kizbox2.dtb \
at91-nattis-2-natte-2.dtb \
at91-sama5d27_som1_ek.dtb \
at91-sama5d2_ptc_ek.dtb \
at91-sama5d2_xplained.dtb \
at91-sama5d3_xplained.dtb \
at91-tse850-3.dtb \

View File

@ -43,6 +43,18 @@
ahb {
apb {
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>;
linux,rs485-enabled-at-boot-time;

View File

@ -58,6 +58,18 @@
};
};
tcb0: timer@f8008000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>;
};
timer@1 {
compatible = "atmel,tcb-timer";
reg = <1>;
};
};
i2c0: i2c@f8010000 {
status = "okay";
};

View File

@ -46,6 +46,18 @@
};
};
tcb0: timer@f8008000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>;
};
timer@1 {
compatible = "atmel,tcb-timer";
reg = <1>;
};
};
usb2: gadget@f803c000 {
status = "okay";
};

View File

@ -37,6 +37,18 @@
ahb {
apb {
tcb0: timer@f8008000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>;
};
timer@1 {
compatible = "atmel,tcb-timer";
reg = <1>;
};
};
mmc0: mmc@f0008000 {
pinctrl-0 = <
&pinctrl_board_mmc0

View File

@ -34,6 +34,18 @@
ahb {
apb {
tcb0: timer@fffa0000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>, <1>;
};
timer@2 {
compatible = "atmel,tcb-timer";
reg = <2>;
};
};
usb1: gadget@fffa4000 {
atmel,vbus-gpio = <&pioC 6 GPIO_ACTIVE_HIGH>;
status = "okay";

View File

@ -31,6 +31,18 @@
ahb {
apb {
tcb0: timer@fffa0000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>, <1>;
};
timer@2 {
compatible = "atmel,tcb-timer";
reg = <2>;
};
};
macb0: ethernet@fffc4000 {
phy-mode = "mii";
pinctrl-0 = <&pinctrl_macb_rmii

View File

@ -94,6 +94,18 @@
};
};
tcb0: timer@f0010000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>;
};
timer@1 {
compatible = "atmel,tcb-timer";
reg = <1>;
};
};
usart0: serial@f001c000 {
status = "okay";
};

View File

@ -34,6 +34,18 @@
ahb {
apb {
tcb0: timer@f8008000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>;
};
timer@1 {
compatible = "atmel,tcb-timer";
reg = <1>;
};
};
usart0: serial@f801c000 {
status = "okay";
};

View File

@ -27,6 +27,18 @@
clock-frequency = <12000000>;
};
&tcb0 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>;
};
timer@1 {
compatible = "atmel,tcb-timer";
reg = <1>;
};
};
&i2c0 {
status = "okay";

View File

@ -0,0 +1,244 @@
// SPDX-License-Identifier: GPL-2.0+
/*
* at91-natte.dts - Device Tree include file for the Natte board
*
* Copyright (C) 2017 Axentia Technologies AB
*
* Author: Peter Rosin <peda@axentia.se>
*/
/ {
mux: mux-controller {
compatible = "gpio-mux";
#mux-control-cells = <0>;
mux-gpios = <&ioexp 0 GPIO_ACTIVE_HIGH>,
<&ioexp 1 GPIO_ACTIVE_HIGH>,
<&ioexp 2 GPIO_ACTIVE_HIGH>;
};
batntc-mux {
compatible = "io-channel-mux";
io-channels = <&adc 5>;
io-channel-names = "parent";
mux-controls = <&mux>;
channels =
"batntc0", "batntc1", "batntc2", "batntc3",
"batntc4", "batntc5", "batntc6", "batntc7";
};
batv-mux {
compatible = "io-channel-mux";
io-channels = <&adc 6>;
io-channel-names = "parent";
mux-controls = <&mux>;
channels =
"batv0", "batv1", "batv2", "batv3",
"batv4", "batv5", "batv6", "batv7";
};
iout-mux {
compatible = "io-channel-mux";
io-channels = <&adc 7>;
io-channel-names = "parent";
mux-controls = <&mux>;
channels =
"iout0", "iout1", "iout2", "iout3",
"iout4", "iout5", "iout6", "iout7";
};
i2c-mux {
compatible = "i2c-mux";
mux-locked;
i2c-parent = <&i2c0>;
mux-controls = <&mux>;
#address-cells = <1>;
#size-cells = <0>;
i2c@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
charger@9 {
compatible = "ti,bq24735";
reg = <0x9>;
ti,charge-current = <2000>;
ti,charge-voltage = <16800>;
poll-interval = <20000>;
};
};
i2c@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
charger@9 {
compatible = "ti,bq24735";
reg = <0x9>;
ti,charge-current = <2000>;
ti,charge-voltage = <16800>;
poll-interval = <20000>;
};
};
i2c@2 {
reg = <2>;
#address-cells = <1>;
#size-cells = <0>;
charger@9 {
compatible = "ti,bq24735";
reg = <0x9>;
ti,charge-current = <2000>;
ti,charge-voltage = <16800>;
poll-interval = <20000>;
};
};
i2c@3 {
reg = <3>;
#address-cells = <1>;
#size-cells = <0>;
charger@9 {
compatible = "ti,bq24735";
reg = <0x9>;
ti,charge-current = <2000>;
ti,charge-voltage = <16800>;
poll-interval = <20000>;
};
};
i2c@4 {
reg = <4>;
#address-cells = <1>;
#size-cells = <0>;
charger@9 {
compatible = "ti,bq24735";
reg = <0x9>;
ti,charge-current = <2000>;
ti,charge-voltage = <16800>;
poll-interval = <20000>;
};
};
i2c@5 {
reg = <5>;
#address-cells = <1>;
#size-cells = <0>;
charger@9 {
compatible = "ti,bq24735";
reg = <0x9>;
ti,charge-current = <2000>;
ti,charge-voltage = <16800>;
poll-interval = <20000>;
};
};
i2c@6 {
reg = <6>;
#address-cells = <1>;
#size-cells = <0>;
charger@9 {
compatible = "ti,bq24735";
reg = <0x9>;
ti,charge-current = <2000>;
ti,charge-voltage = <16800>;
poll-interval = <20000>;
};
};
i2c@7 {
reg = <7>;
#address-cells = <1>;
#size-cells = <0>;
charger@9 {
compatible = "ti,bq24735";
reg = <0x9>;
ti,charge-current = <2000>;
ti,charge-voltage = <16800>;
poll-interval = <20000>;
};
};
};
};
&i2c0 {
status = "okay";
ioexp: ioexp@20 {
#gpio-cells = <2>;
compatible = "semtech,sx1502q";
reg = <0x20>;
gpio-controller;
ngpios = <8>;
pinctrl-names = "default";
pinctrl-0 = <&gpio3_cfg_pins>;
gpio3_cfg_pins: gpio3_cfg {
pins = "gpio3";
bias-pull-up;
};
};
adc: adc@48 {
compatible = "ti,ads1015";
reg = <0x48>;
#io-channel-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
channel@4 {
reg = <4>;
ti,gain = <2>;
ti,datarate = <4>;
};
channel@5 {
reg = <5>;
ti,gain = <2>;
ti,datarate = <4>;
};
channel@6 {
reg = <6>;
ti,gain = <1>;
ti,datarate = <4>;
};
channel@7 {
reg = <7>;
ti,gain = <3>;
ti,datarate = <4>;
};
};
};

View File

@ -0,0 +1,258 @@
// SPDX-License-Identifier: GPL-2.0+
/*
* at91-nattis-2-natte-2.dts - Device Tree file for the Linea/Nattis board
*
* Copyright (C) 2017 Axentia Technologies AB
*
* Author: Peter Rosin <peda@axentia.se>
*/
/dts-v1/;
#include "at91-linea.dtsi"
#include "sama5d3_lcd.dtsi"
#include "at91-natte.dtsi"
/ {
model = "Axentia Linea-Nattis v2 Natte v2";
compatible = "axentia,nattis-2", "axentia,natte-2", "axentia,linea",
"atmel,sama5d31", "atmel,sama5d3", "atmel,sama5";
ahb {
apb {
pinctrl@fffff200 {
nattis {
pinctrl_usba_vbus: usba_vbus {
atmel,pins =
<AT91_PIOD 28
AT91_PERIPH_GPIO
AT91_PINCTRL_DEGLITCH>;
};
pinctrl_mmc0_cd: mmc0_cd {
atmel,pins =
<AT91_PIOD 5
AT91_PERIPH_GPIO
AT91_PINCTRL_PULL_UP_DEGLITCH>;
};
pinctrl_lcd_prlud0: lcd_prlud0 {
atmel,pins =
<AT91_PIOA 21
AT91_PERIPH_GPIO
AT91_PINCTRL_OUTPUT_VAL(0)>;
};
pinctrl_lcd_hipow0: lcd_hipow0 {
atmel,pins =
<AT91_PIOA 23
AT91_PERIPH_GPIO
AT91_PINCTRL_OUTPUT_VAL(0)>;
};
};
};
watchdog@fffffe40 {
status = "okay";
};
};
};
gpio-keys {
compatible = "gpio-keys";
wakeup {
label = "Wakeup";
linux,code = <10>;
gpio-key,wakeup;
gpios = <&pioB 27 GPIO_ACTIVE_LOW>;
};
};
panel_reg: panel-regulator {
compatible = "regulator-fixed";
regulator-name = "panel-VCC";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
bl_reg: backlight-regulator {
compatible = "regulator-fixed";
regulator-name = "panel-VDD";
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
};
panel_bl: backlight {
compatible = "pwm-backlight";
pwms = <&hlcdc_pwm 0 100000 0>;
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <40>;
power-supply = <&bl_reg>;
enable-gpios = <&pioA 20 GPIO_ACTIVE_HIGH>;
};
panel: panel {
compatible = "sharp,lq150x1lg11";
backlight = <&panel_bl>;
power-supply = <&panel_reg>;
port {
panel_input: endpoint {
remote-endpoint = <&hlcdc_panel_output>;
};
};
};
sound {
compatible = "simple-audio-card";
simple-audio-card,name = "nattis-tfa9879";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&cpu_dai>;
simple-audio-card,frame-master = <&cpu_dai>;
simple-audio-card,widgets = "Line", "Line Out Jack";
simple-audio-card,routing = "Line Out Jack", "LINEOUT";
cpu_dai: simple-audio-card,cpu {
sound-dai = <&ssc0>;
};
simple-audio-card,codec {
sound-dai = <&amp>;
};
};
};
&i2c0 {
status = "okay";
clock-frequency = <100000>;
temp@18 {
compatible = "nxp,se97b", "jedec,jc-42.4-temp";
reg = <0x18>;
smbus-timeout-disable;
};
eeprom@50 {
compatible = "nxp,24c02";
reg = <0x50>;
pagesize = <16>;
};
amp: amplifier@6c {
compatible = "nxp,tfa9879";
reg = <0x6c>;
#sound-dai-cells = <0>;
};
};
&ssc0 {
status = "okay";
atmel,clk-from-rk-pin;
#sound-dai-cells = <0>;
};
&hlcdc {
status = "okay";
hlcdc-display-controller {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lcd_base
&pinctrl_lcd_rgb565
&pinctrl_lcd_prlud0
&pinctrl_lcd_hipow0>;
port@0 {
hlcdc_panel_output: endpoint {
remote-endpoint = <&panel_input>;
};
};
};
};
&mmc0 {
status = "okay";
pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0
&pinctrl_mmc0_dat1_3
&pinctrl_mmc0_cd>;
slot@0 {
reg = <0>;
bus-width = <4>;
cd-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
};
};
&usart0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usart0>;
atmel,use-dma-rx;
};
&nand {
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
at91bootstrap@0 {
label = "at91bootstrap";
reg = <0x0 0x40000>;
};
bootloader@40000 {
label = "bootloader";
reg = <0x40000 0x80000>;
};
bootloaderenv@c0000 {
label = "bootloader env";
reg = <0xc0000 0xc0000>;
};
dtb@180000 {
label = "device tree";
reg = <0x180000 0x80000>;
};
kernel@200000 {
label = "kernel";
reg = <0x200000 0x600000>;
};
rootfs@800000 {
label = "rootfs";
reg = <0x800000 0x0f800000>;
};
};
};
&dbgu {
status = "okay";
atmel,use-dma-rx;
};
&usb0 {
status = "okay";
atmel,vbus-gpio = <&pioD 28 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usba_vbus>;
};

View File

@ -31,6 +31,18 @@
ahb {
apb {
tcb0: timer@fffa0000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>, <1>;
};
timer@2 {
compatible = "atmel,tcb-timer";
reg = <2>;
};
};
usb1: gadget@fffa4000 {
atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>;
status = "okay";

View File

@ -32,6 +32,18 @@
ahb {
apb {
tcb0: timer@fffa0000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>, <1>;
};
timer@2 {
compatible = "atmel,tcb-timer";
reg = <2>;
};
};
mmc0: mmc@fffa8000 {
pinctrl-0 = <
&pinctrl_board_mmc0

View File

@ -119,6 +119,18 @@
status = "okay";
};
tcb0: timer@f800c000 {
timer0: timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>;
};
timer1: timer@1 {
compatible = "atmel,tcb-timer";
reg = <1>;
};
};
uart1: serial@f8020000 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1_default>;

View File

@ -0,0 +1,413 @@
// SPDX-License-Identifier: (GPL-2.0+ OR X11)
/*
* at91-sama5d2_ptc_ek.dts - Device Tree file for SAMA5D2 PTC EK board
*
* Copyright (C) 2017 Microchip/Atmel,
* 2017 Wenyou Yang <wenyou.yang@microchip.com>
* 2017 Ludovic Desroches <ludovic.desroches@microchip.com>
*/
/dts-v1/;
#include "sama5d2.dtsi"
#include "sama5d2-pinfunc.h"
#include <dt-bindings/mfd/atmel-flexcom.h>
#include <dt-bindings/gpio/gpio.h>
/ {
model = "Atmel SAMA5D2 PTC EK";
compatible = "atmel,sama5d2-ptc_ek", "atmel,sama5d2", "atmel,sama5";
aliases {
serial0 = &uart0;
i2c0 = &i2c0;
i2c1 = &i2c1;
i2c2 = &i2c2;
};
chosen {
stdout-path = "serial0:115200n8";
};
clocks {
slow_xtal {
clock-frequency = <32768>;
};
main_xtal {
clock-frequency = <24000000>;
};
};
ahb {
usb0: gadget@300000 {
atmel,vbus-gpio = <&pioA PIN_PA27 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usba_vbus>;
status = "okay";
};
usb1: ohci@400000 {
num-ports = <3>;
atmel,vbus-gpio = <0
&pioA PIN_PB12 GPIO_ACTIVE_HIGH
0
>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usb_default>;
status = "okay";
};
usb2: ehci@500000 {
status = "okay";
};
ebi: ebi@10000000 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_nand_default>;
status = "okay"; /* conflicts with sdmmc1 and qspi0 */
nand_controller: nand-controller {
status = "okay";
nand@3 {
reg = <0x3 0x0 0x2>;
atmel,rb = <0>;
nand-bus-width = <8>;
nand-ecc-mode = "hw";
nand-on-flash-bbt;
label = "atmel_nand";
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
at91bootstrap@0 {
label = "bootstrap";
reg = <0x0 0x40000>;
};
bootloader@40000 {
label = "bootloader";
reg = <0x40000 0xc0000>;
};
bootloaderenv@0x100000 {
label = "bootloader env";
reg = <0x100000 0x40000>;
};
bootloaderenvred@0x140000 {
label = "bootloader env redundant";
reg = <0x140000 0x40000>;
};
dtb@180000 {
label = "device tree";
reg = <0x180000 0x80000>;
};
kernel@200000 {
label = "kernel";
reg = <0x200000 0x600000>;
};
rootfs@800000 {
label = "rootfs";
reg = <0x800000 0x1f800000>;
};
};
};
};
};
sdmmc0: sdio-host@a0000000 {
bus-width = <8>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sdmmc0_default>;
non-removable;
mmc-ddr-1_8v;
status = "okay";
};
apb {
spi0: spi@f8000000 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_spi0_default>;
status = "okay";
};
macb0: ethernet@f8008000 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_macb0_default &pinctrl_macb0_phy_irq>;
phy-mode = "rmii";
status = "okay";
ethernet-phy@1 {
reg = <0x1>;
interrupt-parent = <&pioA>;
interrupts = <56 IRQ_TYPE_LEVEL_LOW>;
};
};
tcb0: timer@f800c000 {
timer0: timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>;
};
timer1: timer@1 {
compatible = "atmel,tcb-timer";
reg = <1>;
};
};
uart0: serial@f801c000 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart0_default>;
atmel,use-dma-rx;
atmel,use-dma-tx;
status = "okay";
};
uart2: serial@f8024000 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart2_default>;
atmel,use-dma-rx;
atmel,use-dma-tx;
status = "okay";
};
i2c0: i2c@f8028000 {
dmas = <0>, <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c0_default>;
status = "okay";
};
flx0: flexcom@f8034000 {
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
status = "okay";
i2c2: i2c@600 {
compatible = "atmel,sama5d2-i2c";
reg = <0x600 0x200>;
interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
dmas = <0>, <0>;
dma-names = "tx", "rx";
#address-cells = <1>;
#size-cells = <0>;
clocks = <&flx0_clk>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flx0_default>;
atmel,fifo-size = <16>;
status = "okay";
};
};
shdwc@f8048010 {
atmel,shdwc-debouncer = <976>;
input@0 {
reg = <0>;
atmel,wakeup-type = "low";
};
};
watchdog@f8048040 {
status = "okay";
};
spi1: spi@fc000000 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_spi1_default>;
status = "okay";
};
i2c1: i2c@fc028000 {
dmas = <0>, <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c1_default>;
status = "okay";
at24@50 {
compatible = "24c02";
reg = <0x50>;
pagesize = <8>;
};
};
pinctrl@fc038000 {
pinctrl_flx0_default: flx0_default {
pinmux = <PIN_PB28__FLEXCOM0_IO0>,
<PIN_PB29__FLEXCOM0_IO1>;
bias-disable;
};
pinctrl_i2c0_default: i2c0_default {
pinmux = <PIN_PD21__TWD0>,
<PIN_PD22__TWCK0>;
bias-disable;
};
pinctrl_i2c1_default: i2c1_default {
pinmux = <PIN_PC6__TWD1>,
<PIN_PC7__TWCK1>;
bias-disable;
};
pinctrl_key_gpio_default: key_gpio_default {
pinmux = <PIN_PA10__GPIO>;
bias-pull-up;
};
pinctrl_led_gpio_default: led_gpio_default {
pinmux = <PIN_PB6__GPIO>,
<PIN_PB8__GPIO>,
<PIN_PB10__GPIO>;
bias-pull-up;
};
pinctrl_macb0_default: macb0_default {
pinmux = <PIN_PB14__GTXCK>,
<PIN_PB15__GTXEN>,
<PIN_PB16__GRXDV>,
<PIN_PB17__GRXER>,
<PIN_PB18__GRX0>,
<PIN_PB19__GRX1>,
<PIN_PB20__GTX0>,
<PIN_PB21__GTX1>,
<PIN_PB22__GMDC>,
<PIN_PB23__GMDIO>;
bias-disable;
};
pinctrl_macb0_phy_irq: macb0_phy_irq {
pinmux = <PIN_PB24__GPIO>;
bias-disable;
};
pinctrl_nand_default: nand_default {
re_we_data {
pinmux = <PIN_PA22__D0>,
<PIN_PA23__D1>,
<PIN_PA24__D2>,
<PIN_PA25__D3>,
<PIN_PA26__D4>,
<PIN_PA27__D5>,
<PIN_PA28__D6>,
<PIN_PA29__D7>,
<PIN_PA30__NWE_NANDWE>,
<PIN_PB2__NRD_NANDOE>;
bias-pull-up;
};
ale_cle_rdy_cs {
pinmux = <PIN_PB0__A21_NANDALE>,
<PIN_PB1__A22_NANDCLE>,
<PIN_PC8__NANDRDY>,
<PIN_PA31__NCS3>;
bias-pull-up;
};
};
pinctrl_sdmmc0_default: sdmmc0_default {
cmd_data {
pinmux = <PIN_PA1__SDMMC0_CMD>,
<PIN_PA2__SDMMC0_DAT0>,
<PIN_PA3__SDMMC0_DAT1>,
<PIN_PA4__SDMMC0_DAT2>,
<PIN_PA5__SDMMC0_DAT3>,
<PIN_PA6__SDMMC0_DAT4>,
<PIN_PA7__SDMMC0_DAT5>,
<PIN_PA8__SDMMC0_DAT6>,
<PIN_PA9__SDMMC0_DAT7>;
bias-pull-up;
};
ck_cd_vddsel {
pinmux = <PIN_PA0__SDMMC0_CK>,
<PIN_PA11__SDMMC0_VDDSEL>,
<PIN_PA13__SDMMC0_CD>;
bias-disable;
};
};
pinctrl_spi0_default: spi0_default {
pinmux = <PIN_PA14__SPI0_SPCK>,
<PIN_PA15__SPI0_MOSI>,
<PIN_PA16__SPI0_MISO>,
<PIN_PA17__SPI0_NPCS0>;
bias-disable;
};
pinctrl_spi1_default: spi1_default {
pinmux = <PIN_PC1__SPI1_SPCK>,
<PIN_PC2__SPI1_MOSI>,
<PIN_PC3__SPI1_MISO>,
<PIN_PC4__SPI1_NPCS0>;
bias-disable;
};
pinctrl_uart0_default: uart0_default {
pinmux = <PIN_PB26__URXD0>,
<PIN_PB27__UTXD0>;
bias-disable;
};
pinctrl_uart2_default: uart2_default {
pinmux = <PIN_PD23__URXD2>,
<PIN_PD24__UTXD2>;
bias-disable;
};
pinctrl_usb_default: usb_default {
pinmux = <PIN_PB12__GPIO>;
bias-disable;
};
pinctrl_usba_vbus: usba_vbus {
pinmux = <PIN_PB11__GPIO>;
bias-disable;
};
};
};
};
gpio_keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_key_gpio_default>;
bp1 {
label = "PB_USER";
gpios = <&pioA PIN_PA10 GPIO_ACTIVE_LOW>;
linux,code = <0x104>;
};
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_led_gpio_default>;
status = "okay";
red {
label = "red";
gpios = <&pioA PIN_PB10 GPIO_ACTIVE_HIGH>;
};
green {
label = "green";
gpios = <&pioA PIN_PB8 GPIO_ACTIVE_HIGH>;
};
blue {
label = "blue";
gpios = <&pioA PIN_PB6 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
};
};
};

View File

@ -133,6 +133,18 @@
};
};
tcb0: timer@f800c000 {
timer0: timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>;
};
timer1: timer@1 {
compatible = "atmel,tcb-timer";
reg = <1>;
};
};
pdmic@f8018000 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pdmic_default>;

View File

@ -65,6 +65,18 @@
status = "okay";
};
tcb0: timer@f0010000 {
timer0: timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>;
};
timer1: timer@1 {
compatible = "atmel,tcb-timer";
reg = <1>;
};
};
i2c0: i2c@f0014000 {
pinctrl-0 = <&pinctrl_i2c0_pu>;
status = "okay";

View File

@ -89,6 +89,18 @@
};
};
tcb2: timer@fc024000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>;
};
timer@1 {
compatible = "atmel,tcb-timer";
reg = <1>;
};
};
adc0: adc@fc034000 {
pinctrl-names = "default";
pinctrl-0 = <

View File

@ -130,6 +130,18 @@
status = "okay";
};
tcb2: timer@fc024000 {
timer0: timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>;
};
timer1: timer@1 {
compatible = "atmel,tcb-timer";
reg = <1>;
};
};
adc0: adc@fc034000 {
pinctrl-names = "default";
pinctrl-0 = <

View File

@ -174,6 +174,18 @@
status = "okay";
};
tcb2: timer@fc024000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>;
};
timer@1 {
compatible = "atmel,tcb-timer";
reg = <1>;
};
};
watchdog@fc068640 {
status = "okay";
};

View File

@ -151,6 +151,18 @@
status = "okay";
};
tcb2: timer@fc024000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>;
};
timer@1 {
compatible = "atmel,tcb-timer";
reg = <1>;
};
};
macb1: ethernet@fc028000 {
phy-mode = "rmii";
status = "okay";

View File

@ -375,7 +375,9 @@
};
tcb0: timer@fffa0000 {
compatible = "atmel,at91rm9200-tcb";
compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xfffa0000 0x100>;
interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0
18 IRQ_TYPE_LEVEL_HIGH 0
@ -385,7 +387,9 @@
};
tcb1: timer@fffa4000 {
compatible = "atmel,at91rm9200-tcb";
compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xfffa4000 0x100>;
interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0
21 IRQ_TYPE_LEVEL_HIGH 0

View File

@ -32,6 +32,18 @@
ahb {
apb {
tcb0: timer@fffa0000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>, <1>;
};
timer@2 {
compatible = "atmel,tcb-timer";
reg = <2>;
};
};
usb1: gadget@fffb0000 {
atmel,vbus-gpio = <&pioD 4 GPIO_ACTIVE_HIGH>;
atmel,pullup-gpio = <&pioD 5 GPIO_ACTIVE_HIGH>;

View File

@ -386,7 +386,9 @@
};
tcb0: timer@fffa0000 {
compatible = "atmel,at91rm9200-tcb";
compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xfffa0000 0x100>;
interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0
18 IRQ_TYPE_LEVEL_HIGH 0
@ -396,7 +398,9 @@
};
tcb1: timer@fffdc000 {
compatible = "atmel,at91rm9200-tcb";
compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xfffdc000 0x100>;
interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0
27 IRQ_TYPE_LEVEL_HIGH 0

View File

@ -69,6 +69,18 @@
ahb {
apb {
tcb0: timer@fffa0000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>, <1>;
};
timer@2 {
compatible = "atmel,tcb-timer";
reg = <2>;
};
};
usb1: gadget@fffa4000 {
atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>;
status = "okay";

View File

@ -80,7 +80,7 @@
status = "disabled";
};
fb0: fb@0x00600000 {
fb0: fb@600000 {
compatible = "atmel,at91sam9261-lcdc";
reg = <0x00600000 0x1000>;
interrupts = <21 IRQ_TYPE_LEVEL_HIGH 3>;
@ -125,7 +125,9 @@
ranges;
tcb0: timer@fffa0000 {
compatible = "atmel,at91rm9200-tcb";
compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xfffa0000 0x100>;
interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>,
<18 IRQ_TYPE_LEVEL_HIGH 0>,

View File

@ -15,6 +15,14 @@
chosen {
bootargs = "rootfstype=ubifs ubi.mtd=5 root=ubi0:rootfs rw";
stdout-path = "serial0:115200n8";
clocksource {
timer = <&timer0>;
};
clockevent {
timer = <&timer1>;
};
};
memory {
@ -36,7 +44,7 @@
status = "okay";
};
fb0: fb@0x00600000 {
fb0: fb@600000 {
display = <&display0>;
atmel,power-control-gpio = <&pioA 12 GPIO_ACTIVE_LOW>;
status = "okay";
@ -125,6 +133,18 @@
};
apb {
tcb0: timer@fffa0000 {
timer0: timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>, <1>;
};
timer1: timer@2 {
compatible = "atmel,tcb-timer";
reg = <2>;
};
};
usb1: gadget@fffa4000 {
atmel,vbus-gpio = <&pioB 29 GPIO_ACTIVE_HIGH>;
status = "okay";

View File

@ -389,7 +389,9 @@
};
tcb0: timer@fff7c000 {
compatible = "atmel,at91rm9200-tcb";
compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xfff7c000 0x100>;
interrupts = <19 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&tcb_clk>, <&slow_xtal>;
@ -999,7 +1001,7 @@
};
};
fb0: fb@0x00700000 {
fb0: fb@700000 {
compatible = "atmel,at91sam9263-lcdc";
reg = <0x00700000 0x1000>;
interrupts = <26 IRQ_TYPE_LEVEL_HIGH 3>;

View File

@ -37,6 +37,18 @@
status = "okay";
};
tcb0: timer@fff7c000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>, <1>;
};
timer@2 {
compatible = "atmel,tcb-timer";
reg = <2>;
};
};
usart0: serial@fff8c000 {
pinctrl-0 = <
&pinctrl_usart0
@ -95,7 +107,7 @@
};
};
fb0: fb@0x00700000 {
fb0: fb@700000 {
display = <&display0>;
status = "okay";

View File

@ -51,6 +51,18 @@
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

View File

@ -25,7 +25,7 @@
};
i2c0: i2c@f8010000 {
ov2640: camera@0x30 {
ov2640: camera@30 {
compatible = "ovti,ov2640";
reg = <0x30>;
pinctrl-names = "default";

View File

@ -415,7 +415,9 @@
};
tcb0: timer@fff7c000 {
compatible = "atmel,at91rm9200-tcb";
compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xfff7c000 0x100>;
interrupts = <18 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&tcb0_clk>, <&tcb0_clk>, <&tcb0_clk>, <&clk32k>;
@ -423,7 +425,9 @@
};
tcb1: timer@fffd4000 {
compatible = "atmel,at91rm9200-tcb";
compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xfffd4000 0x100>;
interrupts = <18 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&tcb0_clk>, <&tcb0_clk>, <&tcb0_clk>, <&clk32k>;
@ -1302,7 +1306,7 @@
};
};
fb0: fb@0x00500000 {
fb0: fb@500000 {
compatible = "atmel,at91sam9g45-lcdc";
reg = <0x00500000 0x1000>;
interrupts = <23 IRQ_TYPE_LEVEL_HIGH 3>;

View File

@ -39,6 +39,18 @@
status = "okay";
};
tcb0: timer@fff7c000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>, <1>;
};
timer@2 {
compatible = "atmel,tcb-timer";
reg = <2>;
};
};
usart1: serial@fff90000 {
pinctrl-0 =
<&pinctrl_usart1
@ -220,7 +232,7 @@
};
};
fb0: fb@0x00500000 {
fb0: fb@500000 {
display = <&display0>;
status = "okay";

View File

@ -446,7 +446,9 @@
};
tcb0: timer@f8008000 {
compatible = "atmel,at91sam9x5-tcb";
compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xf8008000 0x100>;
interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&tcb_clk>, <&clk32k>;
@ -454,7 +456,9 @@
};
tcb1: timer@f800c000 {
compatible = "atmel,at91sam9x5-tcb";
compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xf800c000 0x100>;
interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&tcb_clk>, <&clk32k>;

View File

@ -42,6 +42,18 @@
status = "okay";
};
tcb0: timer@f8008000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>;
};
timer@1 {
compatible = "atmel,tcb-timer";
reg = <1>;
};
};
i2c0: i2c@f8010000 {
status = "okay";

View File

@ -124,7 +124,9 @@
ranges;
tcb0: timer@fffa0000 {
compatible = "atmel,at91rm9200-tcb";
compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xfffa0000 0x100>;
interrupts = <16 IRQ_TYPE_LEVEL_HIGH 0>,
<17 IRQ_TYPE_LEVEL_HIGH 0>,

View File

@ -124,6 +124,18 @@
};
apb {
tcb0: timer@fffa0000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>, <1>;
};
timer@2 {
compatible = "atmel,tcb-timer";
reg = <2>;
};
};
mmc0: mmc@fffa4000 {
pinctrl-0 = <
&pinctrl_board_mmc0

View File

@ -433,7 +433,9 @@
};
tcb0: timer@f8008000 {
compatible = "atmel,at91sam9x5-tcb";
compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xf8008000 0x100>;
interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&tcb0_clk>, <&clk32k>;
@ -441,7 +443,9 @@
};
tcb1: timer@f800c000 {
compatible = "atmel,at91sam9x5-tcb";
compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xf800c000 0x100>;
interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&tcb0_clk>, <&clk32k>;

View File

@ -24,6 +24,18 @@
ahb {
apb {
tcb0: timer@f8008000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>;
};
timer@1 {
compatible = "atmel,tcb-timer";
reg = <1>;
};
};
pinctrl@fffff400 {
1wire_cm {
pinctrl_1wire_cm: 1wire_cm-0 {

View File

@ -36,6 +36,18 @@
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 {
status = "okay";
};

View File

@ -18,6 +18,18 @@
ahb {
apb {
tcb0: timer@fffa0000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>, <1>;
};
timer@2 {
compatible = "atmel,tcb-timer";
reg = <2>;
};
};
dbgu: serial@fffff200 {
status = "okay";
};

View File

@ -32,6 +32,18 @@
status = "okay";
};
tcb0: timer@fffa0000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>, <1>;
};
timer@2 {
compatible = "atmel,tcb-timer";
reg = <2>;
};
};
macb0: ethernet@fffbc000 {
phy-mode = "rmii";
status = "okay";

View File

@ -52,6 +52,18 @@
};
};
tcb0: timer@fff7c000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>, <1>;
};
timer@2 {
compatible = "atmel,tcb-timer";
reg = <2>;
};
};
mmc0: mmc@fff80000 {
pinctrl-0 = <
&pinctrl_board_mmc

View File

@ -1094,7 +1094,9 @@
};
tcb0: timer@f800c000 {
compatible = "atmel,at91sam9x5-tcb";
compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xf800c000 0x100>;
interrupts = <35 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&tcb0_clk>, <&clk32k>;
@ -1102,7 +1104,9 @@
};
tcb1: timer@f8010000 {
compatible = "atmel,at91sam9x5-tcb";
compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xf8010000 0x100>;
interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&tcb1_clk>, <&clk32k>;
@ -1427,6 +1431,8 @@
interrupts = <40 IRQ_TYPE_LEVEL_HIGH 7>;
clocks = <&adc_clk>;
clock-names = "adc_clk";
dmas = <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | AT91_XDMAC_DT_PERID(25))>;
dma-names = "rx";
atmel,min-sample-rate-hz = <200000>;
atmel,max-sample-rate-hz = <20000000>;
atmel,startup-time-ms = <4>;

View File

@ -142,7 +142,9 @@
};
tcb0: timer@f0010000 {
compatible = "atmel,at91sam9x5-tcb";
compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xf0010000 0x100>;
interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&tcb0_clk>, <&clk32k>;

View File

@ -28,7 +28,9 @@
};
tcb1: timer@f8014000 {
compatible = "atmel,at91sam9x5-tcb";
compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xf8014000 0x100>;
interrupts = <27 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&tcb1_clk>, <&clk32k>;

View File

@ -34,6 +34,18 @@
spi0: spi@f0004000 {
cs-gpios = <&pioD 13 0>, <0>, <0>, <0>;
};
tcb0: timer@f0010000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>;
};
timer@1 {
compatible = "atmel,tcb-timer";
reg = <1>;
};
};
};
ebi@10000000 {

View File

@ -69,6 +69,18 @@
cs-gpios = <&pioD 13 0>, <0>, <0>, <0>;
};
tcb0: timer@f0010000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>;
};
timer@1 {
compatible = "atmel,tcb-timer";
reg = <1>;
};
};
macb0: ethernet@f0028000 {
phy-mode = "rgmii";
#address-cells = <1>;

View File

@ -53,7 +53,7 @@
};
i2c1: i2c@f0018000 {
ov2640: camera@0x30 {
ov2640: camera@30 {
compatible = "ovti,ov2640";
reg = <0x30>;
pinctrl-names = "default";

View File

@ -88,7 +88,7 @@
};
i2c1: i2c@f0018000 {
ov2640: camera@0x30 {
ov2640: camera@30 {
compatible = "ovti,ov2640";
reg = <0x30>;
pinctrl-names = "default";

View File

@ -960,7 +960,9 @@
};
tcb0: timer@f801c000 {
compatible = "atmel,at91sam9x5-tcb";
compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xf801c000 0x100>;
interrupts = <40 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&tcb0_clk>, <&clk32k>;
@ -1188,13 +1190,25 @@
};
tcb1: timer@fc020000 {
compatible = "atmel,at91sam9x5-tcb";
compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xfc020000 0x100>;
interrupts = <41 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&tcb1_clk>, <&clk32k>;
clock-names = "t0_clk", "slow_clk";
};
tcb2: timer@fc024000 {
compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xfc024000 0x100>;
interrupts = <42 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&tcb2_clk>, <&clk32k>;
clock-names = "t0_clk", "slow_clk";
};
macb1: ethernet@fc028000 {
compatible = "atmel,sama5d4-gem";
reg = <0xfc028000 0x100>;

View File

@ -27,6 +27,18 @@
ahb {
apb {
tcb0: timer@fffa0000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>, <1>;
};
timer@2 {
compatible = "atmel,tcb-timer";
reg = <2>;
};
};
dbgu: serial@fffff200 {
status = "okay";
};

View File

@ -36,6 +36,18 @@
status = "okay";
};
tcb0: timer@fff7c000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>, <1>;
};
timer@2 {
compatible = "atmel,tcb-timer";
reg = <2>;
};
};
usb1: gadget@fff78000 {
atmel,vbus-gpio = <&pioB 11 GPIO_ACTIVE_HIGH>;
status = "okay";

View File

@ -23,6 +23,18 @@
status = "okay";
};
tcb0: timer@fffa0000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>, <1>;
};
timer@2 {
compatible = "atmel,tcb-timer";
reg = <2>;
};
};
macb0: ethernet@fffc4000 {
phy-mode = "rmii";
status = "okay";

View File

@ -36,6 +36,18 @@
status = "okay";
};
tcb0: timer@fff7c000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>, <1>;
};
timer@2 {
compatible = "atmel,tcb-timer";
reg = <2>;
};
};
macb0: ethernet@fffbc000 {
phy-mode = "rmii";
status = "okay";