blob: 09c486b608b27ae03a3656e4ca3b2cfe91b0fdc4 [file] [log] [blame]
Hans de Goede53ab4af2015-04-15 19:03:49 +02001/*
2 * Copyright 2013 Maxime Ripard
3 *
4 * Maxime Ripard <maxime.ripard@free-electrons.com>
5 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPL or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This library is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
15 *
16 * This library is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
Hans de Goede53ab4af2015-04-15 19:03:49 +020021 * Or, alternatively,
22 *
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
30 * conditions:
31 *
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
34 *
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
43 */
44
Hans de Goede53ab4af2015-04-15 19:03:49 +020045#include "sun5i.dtsi"
46
47#include <dt-bindings/dma/sun4i-a10.h>
Hans de Goede53ab4af2015-04-15 19:03:49 +020048
49/ {
Hans de Goede53ab4af2015-04-15 19:03:49 +020050 aliases {
51 ethernet0 = &emac;
52 };
53
54 chosen {
55 #address-cells = <1>;
56 #size-cells = <1>;
57 ranges;
58
Samuel Holland70f24fa2022-04-27 15:31:24 -050059 framebuffer-lcd0-hdmi {
Maxime Ripardf0e8e8d2015-10-15 22:04:08 +020060 compatible = "allwinner,simple-framebuffer",
61 "simple-framebuffer";
Jagan Teki13b36fa2018-08-05 00:40:08 +053062 allwinner,pipeline = "de_be0-lcd0-hdmi";
63 clocks = <&ccu CLK_AHB_LCD>, <&ccu CLK_AHB_HDMI>,
64 <&ccu CLK_AHB_DE_BE>, <&ccu CLK_DRAM_DE_BE>,
65 <&ccu CLK_DE_BE>, <&ccu CLK_HDMI>;
Maxime Ripardf0e8e8d2015-10-15 22:04:08 +020066 status = "disabled";
67 };
Hans de Goede53ab4af2015-04-15 19:03:49 +020068 };
69
Jagan Teki13b36fa2018-08-05 00:40:08 +053070 display-engine {
71 compatible = "allwinner,sun5i-a10s-display-engine";
72 allwinner,pipelines = <&fe0>;
Hans de Goede53ab4af2015-04-15 19:03:49 +020073 };
74
Samuel Holland70f24fa2022-04-27 15:31:24 -050075 soc {
Jagan Teki13b36fa2018-08-05 00:40:08 +053076 hdmi: hdmi@1c16000 {
77 compatible = "allwinner,sun5i-a10s-hdmi";
78 reg = <0x01c16000 0x1000>;
79 interrupts = <58>;
80 clocks = <&ccu CLK_AHB_HDMI>, <&ccu CLK_HDMI>,
81 <&ccu CLK_PLL_VIDEO0_2X>,
82 <&ccu CLK_PLL_VIDEO1_2X>;
83 clock-names = "ahb", "mod", "pll-0", "pll-1";
84 dmas = <&dma SUN4I_DMA_NORMAL 16>,
85 <&dma SUN4I_DMA_NORMAL 16>,
86 <&dma SUN4I_DMA_DEDICATED 24>;
87 dma-names = "ddc-tx", "ddc-rx", "audio-tx";
Hans de Goede53ab4af2015-04-15 19:03:49 +020088 status = "disabled";
Jagan Teki13b36fa2018-08-05 00:40:08 +053089
90 ports {
91 #address-cells = <1>;
92 #size-cells = <0>;
93
94 hdmi_in: port@0 {
95 reg = <0>;
96
97 hdmi_in_tcon0: endpoint {
98 remote-endpoint = <&tcon0_out_hdmi>;
99 };
100 };
101
102 hdmi_out: port@1 {
Jagan Teki13b36fa2018-08-05 00:40:08 +0530103 reg = <1>;
104 };
105 };
Hans de Goede53ab4af2015-04-15 19:03:49 +0200106 };
107
Jagan Teki13b36fa2018-08-05 00:40:08 +0530108 pwm: pwm@1c20e00 {
Maxime Ripardf0e8e8d2015-10-15 22:04:08 +0200109 compatible = "allwinner,sun5i-a10s-pwm";
110 reg = <0x01c20e00 0xc>;
Jagan Teki13b36fa2018-08-05 00:40:08 +0530111 clocks = <&ccu CLK_HOSC>;
Maxime Ripardf0e8e8d2015-10-15 22:04:08 +0200112 #pwm-cells = <3>;
113 status = "disabled";
114 };
Hans de Goede53ab4af2015-04-15 19:03:49 +0200115 };
116};
117
Jagan Teki13b36fa2018-08-05 00:40:08 +0530118&ccu {
119 compatible = "allwinner,sun5i-a10s-ccu";
120};
121
Samuel Holland70f24fa2022-04-27 15:31:24 -0500122&mmc1 {
123 pinctrl-names = "default";
124 pinctrl-0 = <&mmc1_pins>;
125};
126
Hans de Goede53ab4af2015-04-15 19:03:49 +0200127&pio {
128 compatible = "allwinner,sun5i-a10s-pinctrl";
129
Samuel Holland70f24fa2022-04-27 15:31:24 -0500130 uart0_pb_pins: uart0-pb-pins {
Jagan Teki13b36fa2018-08-05 00:40:08 +0530131 pins = "PB19", "PB20";
132 function = "uart0";
Hans de Goede53ab4af2015-04-15 19:03:49 +0200133 };
134
Samuel Holland70f24fa2022-04-27 15:31:24 -0500135 uart2_pc_pins: uart2-pc-pins {
Jagan Teki13b36fa2018-08-05 00:40:08 +0530136 pins = "PC18", "PC19";
137 function = "uart2";
Hans de Goede53ab4af2015-04-15 19:03:49 +0200138 };
139
Samuel Holland70f24fa2022-04-27 15:31:24 -0500140 emac_pa_pins: emac-pa-pins {
Jagan Teki13b36fa2018-08-05 00:40:08 +0530141 pins = "PA0", "PA1", "PA2",
Hans de Goede53ab4af2015-04-15 19:03:49 +0200142 "PA3", "PA4", "PA5", "PA6",
143 "PA7", "PA8", "PA9", "PA10",
144 "PA11", "PA12", "PA13", "PA14",
145 "PA15", "PA16";
Jagan Teki13b36fa2018-08-05 00:40:08 +0530146 function = "emac";
Jelle van der Waa2ad76bf2015-09-07 22:43:57 +0200147 };
148
Samuel Holland70f24fa2022-04-27 15:31:24 -0500149 mmc1_pins: mmc1-pins {
Jagan Teki13b36fa2018-08-05 00:40:08 +0530150 pins = "PG3", "PG4", "PG5",
Hans de Goede8b1ba942015-06-02 15:53:40 +0200151 "PG6", "PG7", "PG8";
Jagan Teki13b36fa2018-08-05 00:40:08 +0530152 function = "mmc1";
153 drive-strength = <30>;
Hans de Goede53ab4af2015-04-15 19:03:49 +0200154 };
Boris Brezillonc1aa7d62016-06-15 21:09:28 +0200155
Samuel Holland70f24fa2022-04-27 15:31:24 -0500156 spi2_pb_pins: spi2-pb-pins {
Jagan Teki13b36fa2018-08-05 00:40:08 +0530157 pins = "PB12", "PB13", "PB14";
158 function = "spi2";
Boris Brezillonc1aa7d62016-06-15 21:09:28 +0200159 };
160
Samuel Holland70f24fa2022-04-27 15:31:24 -0500161 spi2_cs0_pb_pin: spi2-cs0-pb-pin {
Jagan Teki13b36fa2018-08-05 00:40:08 +0530162 pins = "PB11";
163 function = "spi2";
Boris Brezillonc1aa7d62016-06-15 21:09:28 +0200164 };
Hans de Goede53ab4af2015-04-15 19:03:49 +0200165};
Hans de Goede8b1ba942015-06-02 15:53:40 +0200166
Jagan Teki13b36fa2018-08-05 00:40:08 +0530167&tcon0_out {
168 tcon0_out_hdmi: endpoint@2 {
169 reg = <2>;
170 remote-endpoint = <&hdmi_in_tcon0>;
171 allwinner,tcon-channel = <1>;
Hans de Goede8b1ba942015-06-02 15:53:40 +0200172 };
173};