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