hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Copyright (C) 2015 Marek Vasut <marex@denx.de>
 */
 
#include "sama5d4.dtsi"
 
/ {
   model = "Aries/DENX MA5D4";
   compatible = "aries,ma5d4", "denx,ma5d4", "atmel,sama5d4", "atmel,sama5";
 
   memory@20000000 {
       reg = <0x20000000 0x10000000>;
   };
 
   clocks {
       slow_xtal {
           clock-frequency = <32768>;
       };
 
       main_xtal {
           clock-frequency = <12000000>;
       };
 
       clk20m: clk20m {
           compatible = "fixed-clock";
           #clock-cells = <0>;
           clock-frequency = <20000000>;
           clock-output-names = "clk20m";
       };
   };
 
   ahb {
       apb {
           mmc0: mmc@f8000000 {
               pinctrl-names = "default";
               pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_dat4_7>;
               vmmc-supply = <&vcc_mmc0_reg>;
               vqmmc-supply = <&vcc_3v3_reg>;
               status = "okay";
               slot@0 {
                   reg = <0>;
                   bus-width = <8>;
                   broken-cd;
               };
           };
 
           spi0: spi@f8010000 {
               cs-gpios = <&pioC 3 0>, <0>, <0>, <0>;
               status = "okay";
 
               m25p80@0 {
                   compatible = "atmel,at25df321a";
                   spi-max-frequency = <50000000>;
                   reg = <0>;
               };
           };
 
           i2c0: i2c@f8014000 {
               status = "okay";
           };
 
           spi1: spi@fc018000 {
               cs-gpios = <&pioB 22 0>, <&pioB 23 0>, <0>, <0>;
               status = "okay";
 
               can0: can@0 {
                   compatible = "microchip,mcp2515";
                   reg = <0>;
                   clocks = <&clk20m>;
                   interrupt-parent = <&pioE>;
                   interrupts = <6 IRQ_TYPE_EDGE_RISING>;
                   spi-max-frequency = <10000000>;
               };
 
               can1: can@1 {
                   compatible = "microchip,mcp2515";
                   reg = <1>;
                   clocks = <&clk20m>;
                   interrupt-parent = <&pioE>;
                   interrupts = <7 IRQ_TYPE_EDGE_RISING>;
                   spi-max-frequency = <10000000>;
               };
           };
 
           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 = <
                   /* external trigger conflicts with USBA_VBUS */
                   &pinctrl_adc0_ad0
                   &pinctrl_adc0_ad1
                   &pinctrl_adc0_ad2
                   &pinctrl_adc0_ad3
                   &pinctrl_adc0_ad4
                   >;
               atmel,adc-vref = <3300>;
               status = "okay";
           };
 
           watchdog@fc068640 {
               status = "okay";
           };
       };
   };
 
   vcc_3v3_reg: fixedregulator_3v3 {
       compatible = "regulator-fixed";
       regulator-name = "VCC 3V3";
       regulator-min-microvolt = <3300000>;
       regulator-max-microvolt = <3300000>;
       regulator-boot-on;
       regulator-always-on;
   };
 
   vcc_mmc0_reg: fixedregulator_mmc0 {
       compatible = "regulator-fixed";
       gpio = <&pioE 15 GPIO_ACTIVE_HIGH>;
       regulator-name = "RST_n MCI0";
       regulator-min-microvolt = <3300000>;
       regulator-max-microvolt = <3300000>;
       vin-supply = <&vcc_3v3_reg>;
       regulator-boot-on;
   };
};