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};
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};