blob: 98a8fd5e89e8521bb0dbfaaf3b7030dea057642b [file] [log] [blame]
Mylène Josserande8f43512016-09-08 12:26:09 +02001/*
2 * Copyright 2016 Mylène Josserand
3 *
4 * Mylène Josserand <mylene.josserand@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 *
21 * 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
Maxime Ripard1f4ce3b2017-02-03 16:01:27 +010045#include "sun5i.dtsi"
46
Maxime Ripard6b486442016-10-16 18:54:26 +020047#include <dt-bindings/clock/sun5i-ccu.h>
Mylène Josserande8f43512016-09-08 12:26:09 +020048#include <dt-bindings/dma/sun4i-a10.h>
Maxime Ripard6b486442016-10-16 18:54:26 +020049#include <dt-bindings/reset/sun5i-ccu.h>
Mylène Josserande8f43512016-09-08 12:26:09 +020050
51/ {
Mylène Josserande8f43512016-09-08 12:26:09 +020052 display-engine {
53 compatible = "allwinner,sun5i-a13-display-engine";
54 allwinner,pipelines = <&fe0>;
55 };
56
Maxime Ripardd6b7bae2018-09-07 16:42:42 +020057 soc {
Rob Herring8dccafa2017-10-13 12:54:51 -050058 pwm: pwm@1c20e00 {
Mylène Josserande8f43512016-09-08 12:26:09 +020059 compatible = "allwinner,sun5i-a10s-pwm";
60 reg = <0x01c20e00 0xc>;
Maxime Ripard6b486442016-10-16 18:54:26 +020061 clocks = <&ccu CLK_HOSC>;
Mylène Josserande8f43512016-09-08 12:26:09 +020062 #pwm-cells = <3>;
63 status = "disabled";
64 };
65
Rob Herring8dccafa2017-10-13 12:54:51 -050066 spdif: spdif@1c21000 {
Mylène Josserande8f43512016-09-08 12:26:09 +020067 #sound-dai-cells = <0>;
68 compatible = "allwinner,sun4i-a10-spdif";
69 reg = <0x01c21000 0x400>;
70 interrupts = <13>;
Maxime Ripard6b486442016-10-16 18:54:26 +020071 clocks = <&ccu CLK_APB0_SPDIF>, <&ccu CLK_SPDIF>;
Mylène Josserande8f43512016-09-08 12:26:09 +020072 clock-names = "apb", "spdif";
73 dmas = <&dma SUN4I_DMA_NORMAL 2>,
74 <&dma SUN4I_DMA_NORMAL 2>;
75 dma-names = "rx", "tx";
76 status = "disabled";
77 };
78
Rob Herring8dccafa2017-10-13 12:54:51 -050079 i2s0: i2s@1c22400 {
Mylène Josserande8f43512016-09-08 12:26:09 +020080 #sound-dai-cells = <0>;
81 compatible = "allwinner,sun4i-a10-i2s";
82 reg = <0x01c22400 0x400>;
83 interrupts = <16>;
Maxime Ripard6b486442016-10-16 18:54:26 +020084 clocks = <&ccu CLK_APB0_I2S>, <&ccu CLK_I2S>;
Mylène Josserande8f43512016-09-08 12:26:09 +020085 clock-names = "apb", "mod";
86 dmas = <&dma SUN4I_DMA_NORMAL 3>,
87 <&dma SUN4I_DMA_NORMAL 3>;
88 dma-names = "rx", "tx";
89 status = "disabled";
90 };
Maxime Ripard1f4ce3b2017-02-03 16:01:27 +010091 };
92};
Mylène Josserande8f43512016-09-08 12:26:09 +020093
Maxime Ripard1f4ce3b2017-02-03 16:01:27 +010094&ccu {
95 compatible = "nextthing,gr8-ccu";
96};
Mylène Josserande8f43512016-09-08 12:26:09 +020097
Maxime Ripard1f4ce3b2017-02-03 16:01:27 +010098&pio {
99 compatible = "nextthing,gr8-pinctrl";
Mylène Josserande8f43512016-09-08 12:26:09 +0200100
Maxime Ripard6a9951a2018-11-07 10:58:01 +0100101 i2s0_data_pins: i2s0-data-pins {
Maxime Ripard1f4ce3b2017-02-03 16:01:27 +0100102 pins = "PB6", "PB7", "PB8", "PB9";
103 function = "i2s0";
104 };
Mylène Josserande8f43512016-09-08 12:26:09 +0200105
Maxime Ripard6a9951a2018-11-07 10:58:01 +0100106 i2s0_mclk_pin: i2s0-mclk-pin {
Maxime Ripard1f4ce3b2017-02-03 16:01:27 +0100107 pins = "PB5";
108 function = "i2s0";
109 };
Mylène Josserande8f43512016-09-08 12:26:09 +0200110
Maxime Ripard6a9951a2018-11-07 10:58:01 +0100111 pwm1_pins: pwm1-pin {
Maxime Ripard1f4ce3b2017-02-03 16:01:27 +0100112 pins = "PG13";
113 function = "pwm1";
114 };
Mylène Josserande8f43512016-09-08 12:26:09 +0200115
Maxime Ripard6a9951a2018-11-07 10:58:01 +0100116 spdif_tx_pin: spdif-tx-pin {
Maxime Ripard1f4ce3b2017-02-03 16:01:27 +0100117 pins = "PB10";
118 function = "spdif";
119 bias-pull-up;
120 };
Maxime Ripard95f4b4f2016-10-20 08:47:40 +0200121
Maxime Ripard6a9951a2018-11-07 10:58:01 +0100122 uart1_cts_rts_pins: uart1-cts-rts-pins {
Maxime Ripard1f4ce3b2017-02-03 16:01:27 +0100123 pins = "PG5", "PG6";
124 function = "uart1";
Mylène Josserande8f43512016-09-08 12:26:09 +0200125 };
126};