sun50i-a64.dtsi revision 1.10 1 /* $NetBSD: sun50i-a64.dtsi,v 1.10 2019/01/22 15:28:45 jmcneill Exp $ */
2
3 /*-
4 * Copyright (c) 2017 Jared McNeill <jmcneill (at) invisible.ca>
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
21 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
23 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 * SUCH DAMAGE.
27 */
28
29 / {
30 chosen {
31 #address-cells = <1>;
32 #size-cells = <1>;
33 ranges;
34
35 framebuffer@0 {
36 compatible = "allwinner,simple-framebuffer",
37 "simple-framebuffer";
38 allwinner,pipeline = "mixer1-lcd1-hdmi";
39 status = "disabled";
40 };
41 };
42
43 sound: sound {
44 compatible = "simple-audio-card";
45 simple-audio-card,name = "SUN50I Audio Card";
46 simple-audio-card,format = "i2s";
47 simple-audio-card,frame-master = <&cpudai>;
48 simple-audio-card,bitclock-master = <&cpudai>;
49 simple-audio-card,mclk-fs = <512>;
50 simple-audio-card,aux-devs = <&codec_analog>;
51 simple-audio-card,routing =
52 "Left DAC", "AIF1 Slot 0 Left",
53 "Right DAC", "AIF1 Slot 0 Right";
54 status = "disabled";
55
56 cpudai: simple-audio-card,cpu {
57 sound-dai = <&dai>;
58 };
59
60 link_codec: simple-audio-card,codec {
61 sound-dai = <&codec>;
62 };
63 };
64
65 soc {
66 dai: dai@1c22c00 {
67 #sound-dai-cells = <0>;
68 compatible = "allwinner,sun50i-a64-acodec-i2s";
69 reg = <0x01c22c00 0x200>;
70 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
71 clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>;
72 clock-names = "apb", "mod";
73 resets = <&ccu RST_BUS_CODEC>;
74 reset-names = "rst";
75 dmas = <&dma 15>, <&dma 15>;
76 dma-names = "rx", "tx";
77 status = "disabled";
78 };
79
80 codec: codec@1c22e00 {
81 #sound-dai-cells = <0>;
82 compatible = "allwinner,sun50i-a64-codec";
83 reg = <0x01c22e00 0x600>;
84 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
85 clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>;
86 clock-names = "bus", "mod";
87 status = "disabled";
88 };
89
90 rtp: rtp@1c25000 {
91 compatible = "allwinner,sun50i-a64-ts";
92 reg = <0x01c25000 0x400>;
93 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
94 clocks = <&ccu CLK_BUS_THS>, <&ccu CLK_THS>;
95 clock-names = "ahb", "ths";
96 resets = <&ccu RST_BUS_THS>;
97 #thermal-sensor-cells = <0>;
98 };
99
100 codec_analog: codec-analog@1f015c0 {
101 compatible = "allwinner,sun50i-a64-codec-analog";
102 reg = <0x01f015c0 0x4>;
103 status = "disabled";
104 };
105 };
106 };
107
108 &cpu0 {
109 clocks = <&ccu 1>; /* 1=CLK_PLL_CPUX */
110 };
111