Linux Audio

Check our new training course

Loading...
v4.17
 
  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 = <1>;
 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_NONE>,
158					  <GIC_SPI 35 IRQ_TYPE_NONE>;
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};
v5.14.15
  1// 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		red {
 13			label = "Front Panel LED";
 14			gpios = <&pio4 1 GPIO_ACTIVE_HIGH>;
 15			linux,default-trigger = "heartbeat";
 16		};
 17		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	soc {
 75		sbc_serial0: serial@9530000 {
 76			status = "okay";
 77		};
 78
 79		pwm0: pwm@9810000 {
 80			status = "okay";
 81		};
 82
 83		pwm1: pwm@9510000 {
 84			status = "okay";
 85		};
 86
 87		ssc2: i2c@9842000 {
 88			status = "okay";
 89			clock-frequency = <100000>;
 90			st,i2c-min-scl-pulse-width-us = <0>;
 91			st,i2c-min-sda-pulse-width-us = <5>;
 92		};
 93
 94		ssc3: i2c@9843000 {
 95			status = "okay";
 96			clock-frequency = <100000>;
 97			st,i2c-min-scl-pulse-width-us = <0>;
 98			st,i2c-min-sda-pulse-width-us = <5>;
 99		};
100
101		i2c@9844000 {
102			status = "okay";
103		};
104
105		i2c@9845000 {
106			status = "okay";
107		};
108
109		i2c@9540000 {
110			status = "okay";
111		};
112
113		mmc0: sdhci@9060000 {
114			non-removable;
115			status = "okay";
116		};
117
118		mmc1: sdhci@9080000 {
119			status = "okay";
120		};
121
122		/* SSC11 to HDMI */
123		hdmiddc: i2c@9541000 {
124			status = "okay";
125			/* HDMI V1.3a supports Standard mode only */
126			clock-frequency = <100000>;
127			st,i2c-min-scl-pulse-width-us = <0>;
128			st,i2c-min-sda-pulse-width-us = <5>;
129		};
130
131		miphy28lp_phy: miphy28lp@0 {
132
133			phy_port0: port@9b22000 {
134				st,osc-rdy;
135			};
136
137			phy_port1: port@9b2a000 {
138				st,osc-force-ext;
139			};
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_HIGH>;
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};