GNU Linux-libre 4.19.264-gnu1
[releases.git] / arch / arm / boot / dts / stihxxx-b2120.dtsi
1 /*
2  * Copyright (C) 2014 STMicroelectronics (R&D) Limited.
3  * Author: Giuseppe Cavallaro <peppe.cavallaro@st.com>
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation.
8  */
9 #include <dt-bindings/clock/stih407-clks.h>
10 #include <dt-bindings/gpio/gpio.h>
11 #include <dt-bindings/media/c8sectpfe.h>
12 / {
13         leds {
14                 compatible = "gpio-leds";
15                 red {
16                         label = "Front Panel LED";
17                         gpios = <&pio4 1 GPIO_ACTIVE_HIGH>;
18                         linux,default-trigger = "heartbeat";
19                 };
20                 green {
21                         gpios = <&pio1 3 GPIO_ACTIVE_HIGH>;
22                         default-state = "off";
23                 };
24         };
25
26         sound: sound {
27                 compatible = "simple-audio-card";
28                 simple-audio-card,name = "STI-B2120";
29                 status = "okay";
30
31                 simple-audio-card,dai-link0 {
32                         /* HDMI */
33                         format = "i2s";
34                         mclk-fs = <128>;
35                         cpu {
36                                 sound-dai = <&sti_uni_player0>;
37                         };
38
39                         codec {
40                                 sound-dai = <&sti_hdmi>;
41                         };
42                 };
43
44                 simple-audio-card,dai-link1 {
45                         /* DAC */
46                         format = "i2s";
47                         mclk-fs = <256>;
48                         frame-inversion;
49                         cpu {
50                                 sound-dai = <&sti_uni_player2>;
51                         };
52
53                         codec {
54                                 sound-dai = <&sti_sasg_codec 1>;
55                         };
56                 };
57
58                 simple-audio-card,dai-link2 {
59                         /* SPDIF */
60                         format = "left_j";
61                         mclk-fs = <128>;
62                         cpu {
63                                 sound-dai = <&sti_uni_player3>;
64                         };
65
66                         codec {
67                                 sound-dai = <&sti_sasg_codec 0>;
68                         };
69                 };
70         };
71
72         soc {
73                 sbc_serial0: serial@9530000 {
74                         status = "okay";
75                 };
76
77                 pwm0: pwm@9810000 {
78                         status = "okay";
79                 };
80
81                 pwm1: pwm@9510000 {
82                         status = "okay";
83                 };
84
85                 ssc2: i2c@9842000 {
86                         status = "okay";
87                         clock-frequency = <100000>;
88                         st,i2c-min-scl-pulse-width-us = <0>;
89                         st,i2c-min-sda-pulse-width-us = <5>;
90                 };
91
92                 ssc3: i2c@9843000 {
93                         status = "okay";
94                         clock-frequency = <100000>;
95                         st,i2c-min-scl-pulse-width-us = <0>;
96                         st,i2c-min-sda-pulse-width-us = <5>;
97                 };
98
99                 i2c@9844000 {
100                         status = "okay";
101                 };
102
103                 i2c@9845000 {
104                         status = "okay";
105                 };
106
107                 i2c@9540000 {
108                         status = "okay";
109                 };
110
111                 mmc0: sdhci@9060000 {
112                         non-removable;
113                         status = "okay";
114                 };
115
116                 mmc1: sdhci@9080000 {
117                         status = "okay";
118                 };
119
120                 /* SSC11 to HDMI */
121                 hdmiddc: i2c@9541000 {
122                         status = "okay";
123                         /* HDMI V1.3a supports Standard mode only */
124                         clock-frequency = <100000>;
125                         st,i2c-min-scl-pulse-width-us = <0>;
126                         st,i2c-min-sda-pulse-width-us = <5>;
127                 };
128
129                 miphy28lp_phy: miphy28lp@0 {
130
131                         phy_port0: port@9b22000 {
132                                 st,osc-rdy;
133                         };
134
135                         phy_port1: port@9b2a000 {
136                                 st,osc-force-ext;
137                         };
138                 };
139
140                 st_dwc3: dwc3@8f94000 {
141                         status = "okay";
142                 };
143
144                 ethernet0: dwmac@9630000 {
145                         st,tx-retime-src = "clkgen";
146                         status = "okay";
147                         phy-mode = "rgmii";
148                         fixed-link = <0 1 1000 0 0>;
149                 };
150
151                 demux@8a20000 {
152                         compatible      = "st,stih407-c8sectpfe";
153                         status          = "okay";
154                         reg             = <0x08a20000 0x10000>,
155                                           <0x08a00000 0x4000>;
156                         reg-names       = "c8sectpfe", "c8sectpfe-ram";
157                         interrupts      = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
158                                           <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
159                         interrupt-names = "c8sectpfe-error-irq",
160                                           "c8sectpfe-idle-irq";
161                         pinctrl-0       = <&pinctrl_tsin0_serial>;
162                         pinctrl-1       = <&pinctrl_tsin0_parallel>;
163                         pinctrl-2       = <&pinctrl_tsin3_serial>;
164                         pinctrl-3       = <&pinctrl_tsin4_serial_alt3>;
165                         pinctrl-4       = <&pinctrl_tsin5_serial_alt1>;
166                         pinctrl-names   = "tsin0-serial",
167                                           "tsin0-parallel",
168                                           "tsin3-serial",
169                                           "tsin4-serial",
170                                           "tsin5-serial";
171                         clocks          = <&clk_s_c0_flexgen CLK_PROC_STFE>;
172                         clock-names     = "c8sectpfe";
173
174                         /* tsin0 is TSA on NIMA */
175                         tsin0: port {
176                                 tsin-num        = <0>;
177                                 serial-not-parallel;
178                                 i2c-bus         = <&ssc2>;
179                                 reset-gpios     = <&pio15 4 GPIO_ACTIVE_HIGH>;
180                                 dvb-card        = <STV0367_TDA18212_NIMA_1>;
181                         };
182                 };
183
184                 sti_uni_player0: sti-uni-player@8d80000 {
185                         status = "okay";
186                 };
187
188                 sti_uni_player2: sti-uni-player@8d82000 {
189                         status = "okay";
190                 };
191
192                 sti_uni_player3: sti-uni-player@8d85000 {
193                         status = "okay";
194                 };
195
196                 syscfg_core: core-syscfg@92b0000 {
197                         sti_sasg_codec: sti-sasg-codec {
198                                 status = "okay";
199                                 pinctrl-names = "default";
200                                 pinctrl-0 = <&pinctrl_spdif_out>;
201                         };
202                 };
203         };
204 };