Linux Audio

Check our new training course

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