mirror of
https://github.com/armbian/build
synced 2025-09-24 19:47:06 +07:00
rockchip: fix asound.conf for rk322x-box and xt-q8l-v10 boards
sound node in device trees have been migrated to audio-graph-card2 to overcome limitations and configuration mayhems in ALSA userland libraries
This commit is contained in:
@@ -1,27 +1,3 @@
|
|||||||
pcm.OnBoard_D0 {
|
|
||||||
|
|
||||||
type hw
|
|
||||||
card OnBoard
|
|
||||||
device 0
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
pcm.OnBoard_D1 {
|
|
||||||
|
|
||||||
type hw
|
|
||||||
card OnBoard
|
|
||||||
device 1
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
pcm.OnBoard_D2 {
|
|
||||||
|
|
||||||
type hw
|
|
||||||
card OnBoard
|
|
||||||
device 2
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
# Configuration to expose the SPDIF device of RK3288 to ALSA.
|
# Configuration to expose the SPDIF device of RK3288 to ALSA.
|
||||||
# The device tree must describe a simple-audio-card device named "SPDIF"
|
# The device tree must describe a simple-audio-card device named "SPDIF"
|
||||||
# for this to work properly
|
# for this to work properly
|
||||||
@@ -53,24 +29,18 @@ cards.SPDIF.pcm.iec958.0 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Configuration to expose the HDMI device of RK3288 to ALSA.
|
# Configuration to expose the HDMI device of RK3288 to ALSA.
|
||||||
# The device tree must describe a simple-audio-card device named "DW-I2S-HDMI"
|
# The device tree must describe a simple-audio-card device named "HDMI"
|
||||||
# for this to work properly
|
# for this to work properly
|
||||||
# This percolates to PulseAudio, which will eventually show the proper
|
# This percolates to PulseAudio, which will eventually show the proper
|
||||||
# labels to the audio device
|
# labels to the audio device
|
||||||
|
|
||||||
<confdir:pcm/hdmi.conf>
|
<confdir:pcm/hdmi.conf>
|
||||||
|
|
||||||
cards.DW-I2S-HDMI.pcm.hdmi.0 {
|
cards.HDMI.pcm.hdmi.0 {
|
||||||
@args [ CARD DEVICE CTLINDEX AES0 AES1 AES2 AES3 ]
|
@args [ CARD AES0 AES1 AES2 AES3 ]
|
||||||
@args.CARD {
|
@args.CARD {
|
||||||
type string
|
type string
|
||||||
}
|
}
|
||||||
@args.DEVICE {
|
|
||||||
type integer
|
|
||||||
}
|
|
||||||
@args.CTLINDEX {
|
|
||||||
type integer
|
|
||||||
}
|
|
||||||
@args.AES0 {
|
@args.AES0 {
|
||||||
type integer
|
type integer
|
||||||
}
|
}
|
||||||
@@ -83,6 +53,22 @@ cards.DW-I2S-HDMI.pcm.hdmi.0 {
|
|||||||
@args.AES3 {
|
@args.AES3 {
|
||||||
type integer
|
type integer
|
||||||
}
|
}
|
||||||
type hw
|
type hooks
|
||||||
card $CARD
|
slave.pcm {
|
||||||
|
type hw
|
||||||
|
card $CARD
|
||||||
|
}
|
||||||
|
hooks.0 {
|
||||||
|
type ctl_elems
|
||||||
|
hook_args [
|
||||||
|
{
|
||||||
|
interface PCM
|
||||||
|
name "IEC958 Playback Default"
|
||||||
|
lock true
|
||||||
|
preserve true
|
||||||
|
value [ $AES0 $AES1 $AES2 $AES3 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
/delete-node/ opp-table-0;
|
/delete-node/ opp-table-0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Rebuild the thermal zones and cooling maps ourselved
|
* Rebuild the thermal zones and cooling maps ourselves
|
||||||
*/
|
*/
|
||||||
/delete-node/ thermal-zones;
|
/delete-node/ thermal-zones;
|
||||||
|
|
||||||
@@ -37,20 +37,6 @@
|
|||||||
mmc2 = &emmc;
|
mmc2 = &emmc;
|
||||||
};
|
};
|
||||||
|
|
||||||
analog-sound {
|
|
||||||
compatible = "simple-audio-card";
|
|
||||||
simple-audio-card,format = "i2s";
|
|
||||||
simple-audio-card,mclk-fs = <256>;
|
|
||||||
simple-audio-card,name = "analog";
|
|
||||||
simple-audio-card,cpu {
|
|
||||||
sound-dai = <&i2s1>;
|
|
||||||
};
|
|
||||||
|
|
||||||
simple-audio-card,codec {
|
|
||||||
sound-dai = <&codec>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
bootargs = "earlyprintk=uart8250,mmio32,0x11030000";
|
bootargs = "earlyprintk=uart8250,mmio32,0x11030000";
|
||||||
};
|
};
|
||||||
@@ -142,25 +128,6 @@
|
|||||||
reset-gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_LOW>;
|
reset-gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_LOW>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
spdif_out: spdif-out {
|
|
||||||
status = "okay";
|
|
||||||
compatible = "linux,spdif-dit";
|
|
||||||
#sound-dai-cells = <0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
spdif-sound {
|
|
||||||
status = "okay";
|
|
||||||
compatible = "simple-audio-card";
|
|
||||||
simple-audio-card,name = "SPDIF";
|
|
||||||
simple-audio-card,cpu {
|
|
||||||
sound-dai = <&spdif>;
|
|
||||||
};
|
|
||||||
simple-audio-card,codec {
|
|
||||||
sound-dai = <&spdif_out>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
vcc_sys: vcc-sys-regulator {
|
vcc_sys: vcc-sys-regulator {
|
||||||
compatible = "regulator-fixed";
|
compatible = "regulator-fixed";
|
||||||
regulator-name = "vcc_sys";
|
regulator-name = "vcc_sys";
|
||||||
@@ -318,11 +285,35 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
hdmi-sound {
|
||||||
|
compatible = "audio-graph-card2";
|
||||||
|
label = "HDMI";
|
||||||
|
links = <&i2s0_port>;
|
||||||
|
};
|
||||||
|
|
||||||
|
analog-sound {
|
||||||
|
compatible = "audio-graph-card2";
|
||||||
|
label = "analog";
|
||||||
|
links = <&i2s1_port>;
|
||||||
|
};
|
||||||
|
|
||||||
|
spdif-sound {
|
||||||
|
compatible = "audio-graph-card2";
|
||||||
|
label = "SPDIF";
|
||||||
|
links = <&spdif_port>;
|
||||||
|
};
|
||||||
|
|
||||||
|
spdif_out: spdif-out {
|
||||||
|
status = "okay";
|
||||||
|
compatible = "linux,spdif-dit";
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
spdif_out_port: port {
|
||||||
|
spdif_out_ep: endpoint {
|
||||||
|
remote-endpoint = <&spdif_ep>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
&codec {
|
|
||||||
#sound-dai-cells = <0>;
|
|
||||||
status = "okay";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&cpu0 {
|
&cpu0 {
|
||||||
@@ -460,23 +451,63 @@
|
|||||||
|
|
||||||
&hdmi {
|
&hdmi {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
hdmi_port: port {
|
||||||
|
hdmi_ep: endpoint {
|
||||||
&hdmi_sound {
|
remote-endpoint = <&i2s0_ep>;
|
||||||
status = "okay";
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&hdmi_phy {
|
&hdmi_phy {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&codec {
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
status = "okay";
|
||||||
|
codec_port: port {
|
||||||
|
codec_ep: endpoint {
|
||||||
|
remote-endpoint = <&i2s1_ep>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&spdif {
|
||||||
|
status = "okay";
|
||||||
|
spdif_port: port {
|
||||||
|
spdif_ep: endpoint {
|
||||||
|
remote-endpoint = <&spdif_out_ep>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
&i2s0 {
|
&i2s0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
i2s0_port: port {
|
||||||
|
i2s0_ep: endpoint {
|
||||||
|
system-clock-direction-out;
|
||||||
|
frame-master;
|
||||||
|
bitclock-master;
|
||||||
|
mclk-fs = <256>;
|
||||||
|
dai-format = "i2s";
|
||||||
|
remote-endpoint = <&hdmi_ep>;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&i2s1 {
|
&i2s1 {
|
||||||
#sound-dai-cells = <0>;
|
#sound-dai-cells = <0>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
i2s1_port: port {
|
||||||
|
i2s1_ep: endpoint {
|
||||||
|
system-clock-direction-out;
|
||||||
|
frame-master;
|
||||||
|
bitclock-master;
|
||||||
|
mclk-fs = <256>;
|
||||||
|
dai-format = "i2s";
|
||||||
|
remote-endpoint = <&codec_ep>;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Integration to pin controller */
|
/** Integration to pin controller */
|
||||||
@@ -742,10 +773,6 @@
|
|||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&spdif {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
&tsadc {
|
&tsadc {
|
||||||
rockchip,grf = <&grf>;
|
rockchip,grf = <&grf>;
|
||||||
rockchip,hw-tshut-mode = <0>;
|
rockchip,hw-tshut-mode = <0>;
|
||||||
|
|||||||
@@ -202,7 +202,7 @@
|
|||||||
* Required power sequence to properly enable the wireless/bluetooth
|
* Required power sequence to properly enable the wireless/bluetooth
|
||||||
* module connected to sdio0
|
* module connected to sdio0
|
||||||
*/
|
*/
|
||||||
sdio0_pwrseq: sdio0_pwrseq {
|
sdio0_pwrseq: sdio0-pwrseq {
|
||||||
compatible = "mmc-pwrseq-simple";
|
compatible = "mmc-pwrseq-simple";
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&wifi_enable_h>;
|
pinctrl-0 = <&wifi_enable_h>;
|
||||||
@@ -220,43 +220,26 @@
|
|||||||
};
|
};
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
hdmi-sound {
|
||||||
* Sound taken from tinkerboard device tree, adapted to q8.
|
compatible = "audio-graph-card2";
|
||||||
*/
|
label = "HDMI";
|
||||||
soundcard-hdmi {
|
links = <&i2s_port>;
|
||||||
compatible = "simple-audio-card";
|
|
||||||
simple-audio-card,format = "i2s";
|
|
||||||
simple-audio-card,name = "DW-I2S-HDMI";
|
|
||||||
simple-audio-card,mclk-fs = <512>;
|
|
||||||
|
|
||||||
simple-audio-card,codec {
|
|
||||||
sound-dai = <&hdmi>;
|
|
||||||
};
|
|
||||||
|
|
||||||
simple-audio-card,cpu {
|
|
||||||
sound-dai = <&i2s>;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
soundcard-spdif {
|
spdif-sound {
|
||||||
compatible = "simple-audio-card";
|
compatible = "audio-graph-card2";
|
||||||
simple-audio-card,name = "SPDIF";
|
label = "SPDIF";
|
||||||
simple-audio-card,dai-link@1 {
|
links = <&spdif_port>;
|
||||||
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&spdif>;
|
|
||||||
};
|
|
||||||
|
|
||||||
codec {
|
|
||||||
sound-dai = <&spdif_out>;
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
spdif_out: spdif-out {
|
spdif_out: spdif-out {
|
||||||
compatible = "linux,spdif-dit";
|
compatible = "linux,spdif-dit";
|
||||||
#sound-dai-cells = <0>;
|
#sound-dai-cells = <0>;
|
||||||
|
spdif_out_port: port {
|
||||||
|
spdif_out_ep: endpoint {
|
||||||
|
remote-endpoint = <&spdif_ep>;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
@@ -300,6 +283,11 @@
|
|||||||
&hdmi {
|
&hdmi {
|
||||||
ddc-i2c-bus = <&i2c5>;
|
ddc-i2c-bus = <&i2c5>;
|
||||||
status = "ok";
|
status = "ok";
|
||||||
|
hdmi_port: port {
|
||||||
|
hdmi_ep: endpoint {
|
||||||
|
remote-endpoint = <&i2s_ep>;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&gpu {
|
&gpu {
|
||||||
@@ -758,7 +746,7 @@
|
|||||||
|
|
||||||
sdio0 {
|
sdio0 {
|
||||||
wifi_enable_h: wifienable-h {
|
wifi_enable_h: wifienable-h {
|
||||||
rockchip,pins = <4 28 RK_FUNC_GPIO &pcfg_output_high>;
|
rockchip,pins = <4 28 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
@@ -868,9 +856,6 @@
|
|||||||
vqmmc-supply = <&vcc_18>; // This must be the same as in io_domains,
|
vqmmc-supply = <&vcc_18>; // This must be the same as in io_domains,
|
||||||
// otherwise the mmc1 device won't be detected properly
|
// otherwise the mmc1 device won't be detected properly
|
||||||
|
|
||||||
// clock-frequency = <50000000>;
|
|
||||||
// max-frequency = <50000000>;
|
|
||||||
|
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>, <&sdio0_int>;
|
pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>, <&sdio0_int>;
|
||||||
|
|
||||||
@@ -884,6 +869,8 @@
|
|||||||
keep-power-in-suspend;
|
keep-power-in-suspend;
|
||||||
disable-wp;
|
disable-wp;
|
||||||
|
|
||||||
|
//sd-uhs-sdr50; // required to be enabled, otherwise the device gets
|
||||||
|
// detected, but there is no communication
|
||||||
|
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
@@ -896,9 +883,6 @@
|
|||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
//sd-uhs-sdr104; // required to be disabled, otherwise the device get
|
|
||||||
// detected, but there is no communication
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&spi0 {
|
&spi0 {
|
||||||
@@ -1053,11 +1037,26 @@
|
|||||||
&i2s {
|
&i2s {
|
||||||
#sound-dai-cells = <0>;
|
#sound-dai-cells = <0>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
i2s_port: port {
|
||||||
|
i2s_ep: endpoint {
|
||||||
|
system-clock-direction-out;
|
||||||
|
frame-master;
|
||||||
|
bitclock-master;
|
||||||
|
mclk-fs = <512>;
|
||||||
|
dai-format = "i2s";
|
||||||
|
remote-endpoint = <&hdmi_ep>;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
// spdif is present on q8 device, enable it
|
// spdif is present on q8 device, enable it
|
||||||
&spdif {
|
&spdif {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
spdif_port: port {
|
||||||
|
spdif_ep: endpoint {
|
||||||
|
remote-endpoint = <&spdif_out_ep>;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -26,29 +26,6 @@ index 831561fc1814..24e963b01d87 100644
|
|||||||
serial0 = &uart0;
|
serial0 = &uart0;
|
||||||
serial1 = &uart1;
|
serial1 = &uart1;
|
||||||
serial2 = &uart2;
|
serial2 = &uart2;
|
||||||
@@ -105,6 +106,22 @@ arm-pmu {
|
|
||||||
interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
|
|
||||||
};
|
|
||||||
|
|
||||||
+ hdmi_sound: hdmi-sound {
|
|
||||||
+ compatible = "simple-audio-card";
|
|
||||||
+ simple-audio-card,name = "hdmi-sound";
|
|
||||||
+ simple-audio-card,format = "i2s";
|
|
||||||
+ simple-audio-card,mclk-fs = <256>;
|
|
||||||
+ status = "disabled";
|
|
||||||
+
|
|
||||||
+ simple-audio-card,cpu {
|
|
||||||
+ sound-dai = <&i2s0>;
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ simple-audio-card,codec {
|
|
||||||
+ sound-dai = <&hdmi>;
|
|
||||||
+ };
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
psci {
|
|
||||||
compatible = "arm,psci-1.0", "arm,psci-0.2";
|
|
||||||
method = "smc";
|
|
||||||
@@ -132,6 +149,17 @@ display_subsystem: display-subsystem {
|
@@ -132,6 +149,17 @@ display_subsystem: display-subsystem {
|
||||||
ports = <&vop_out>;
|
ports = <&vop_out>;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
/delete-node/ opp-table-0;
|
/delete-node/ opp-table-0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Rebuild the thermal zones and cooling maps ourselved
|
* Rebuild the thermal zones and cooling maps ourselves
|
||||||
*/
|
*/
|
||||||
/delete-node/ thermal-zones;
|
/delete-node/ thermal-zones;
|
||||||
|
|
||||||
@@ -37,20 +37,6 @@
|
|||||||
mmc2 = &emmc;
|
mmc2 = &emmc;
|
||||||
};
|
};
|
||||||
|
|
||||||
analog-sound {
|
|
||||||
compatible = "simple-audio-card";
|
|
||||||
simple-audio-card,format = "i2s";
|
|
||||||
simple-audio-card,mclk-fs = <256>;
|
|
||||||
simple-audio-card,name = "analog";
|
|
||||||
simple-audio-card,cpu {
|
|
||||||
sound-dai = <&i2s1>;
|
|
||||||
};
|
|
||||||
|
|
||||||
simple-audio-card,codec {
|
|
||||||
sound-dai = <&codec>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
bootargs = "earlyprintk=uart8250,mmio32,0x11030000";
|
bootargs = "earlyprintk=uart8250,mmio32,0x11030000";
|
||||||
};
|
};
|
||||||
@@ -142,25 +128,6 @@
|
|||||||
reset-gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_LOW>;
|
reset-gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_LOW>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
spdif_out: spdif-out {
|
|
||||||
status = "okay";
|
|
||||||
compatible = "linux,spdif-dit";
|
|
||||||
#sound-dai-cells = <0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
spdif-sound {
|
|
||||||
status = "okay";
|
|
||||||
compatible = "simple-audio-card";
|
|
||||||
simple-audio-card,name = "SPDIF";
|
|
||||||
simple-audio-card,cpu {
|
|
||||||
sound-dai = <&spdif>;
|
|
||||||
};
|
|
||||||
simple-audio-card,codec {
|
|
||||||
sound-dai = <&spdif_out>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
vcc_sys: vcc-sys-regulator {
|
vcc_sys: vcc-sys-regulator {
|
||||||
compatible = "regulator-fixed";
|
compatible = "regulator-fixed";
|
||||||
regulator-name = "vcc_sys";
|
regulator-name = "vcc_sys";
|
||||||
@@ -318,11 +285,35 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
hdmi-sound {
|
||||||
|
compatible = "audio-graph-card2";
|
||||||
|
label = "HDMI";
|
||||||
|
links = <&i2s0_port>;
|
||||||
|
};
|
||||||
|
|
||||||
|
analog-sound {
|
||||||
|
compatible = "audio-graph-card2";
|
||||||
|
label = "analog";
|
||||||
|
links = <&i2s1_port>;
|
||||||
|
};
|
||||||
|
|
||||||
|
spdif-sound {
|
||||||
|
compatible = "audio-graph-card2";
|
||||||
|
label = "SPDIF";
|
||||||
|
links = <&spdif_port>;
|
||||||
|
};
|
||||||
|
|
||||||
|
spdif_out: spdif-out {
|
||||||
|
status = "okay";
|
||||||
|
compatible = "linux,spdif-dit";
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
spdif_out_port: port {
|
||||||
|
spdif_out_ep: endpoint {
|
||||||
|
remote-endpoint = <&spdif_ep>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
&codec {
|
|
||||||
#sound-dai-cells = <0>;
|
|
||||||
status = "okay";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&cpu0 {
|
&cpu0 {
|
||||||
@@ -460,23 +451,63 @@
|
|||||||
|
|
||||||
&hdmi {
|
&hdmi {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
hdmi_port: port {
|
||||||
|
hdmi_ep: endpoint {
|
||||||
&hdmi_sound {
|
remote-endpoint = <&i2s0_ep>;
|
||||||
status = "okay";
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&hdmi_phy {
|
&hdmi_phy {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&codec {
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
status = "okay";
|
||||||
|
codec_port: port {
|
||||||
|
codec_ep: endpoint {
|
||||||
|
remote-endpoint = <&i2s1_ep>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&spdif {
|
||||||
|
status = "okay";
|
||||||
|
spdif_port: port {
|
||||||
|
spdif_ep: endpoint {
|
||||||
|
remote-endpoint = <&spdif_out_ep>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
&i2s0 {
|
&i2s0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
i2s0_port: port {
|
||||||
|
i2s0_ep: endpoint {
|
||||||
|
system-clock-direction-out;
|
||||||
|
frame-master;
|
||||||
|
bitclock-master;
|
||||||
|
mclk-fs = <256>;
|
||||||
|
dai-format = "i2s";
|
||||||
|
remote-endpoint = <&hdmi_ep>;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&i2s1 {
|
&i2s1 {
|
||||||
#sound-dai-cells = <0>;
|
#sound-dai-cells = <0>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
i2s1_port: port {
|
||||||
|
i2s1_ep: endpoint {
|
||||||
|
system-clock-direction-out;
|
||||||
|
frame-master;
|
||||||
|
bitclock-master;
|
||||||
|
mclk-fs = <256>;
|
||||||
|
dai-format = "i2s";
|
||||||
|
remote-endpoint = <&codec_ep>;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Integration to pin controller */
|
/** Integration to pin controller */
|
||||||
@@ -742,10 +773,6 @@
|
|||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&spdif {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
&tsadc {
|
&tsadc {
|
||||||
rockchip,grf = <&grf>;
|
rockchip,grf = <&grf>;
|
||||||
rockchip,hw-tshut-mode = <0>;
|
rockchip,hw-tshut-mode = <0>;
|
||||||
|
|||||||
@@ -202,7 +202,7 @@
|
|||||||
* Required power sequence to properly enable the wireless/bluetooth
|
* Required power sequence to properly enable the wireless/bluetooth
|
||||||
* module connected to sdio0
|
* module connected to sdio0
|
||||||
*/
|
*/
|
||||||
sdio0_pwrseq: sdio0_pwrseq {
|
sdio0_pwrseq: sdio0-pwrseq {
|
||||||
compatible = "mmc-pwrseq-simple";
|
compatible = "mmc-pwrseq-simple";
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&wifi_enable_h>;
|
pinctrl-0 = <&wifi_enable_h>;
|
||||||
@@ -220,43 +220,26 @@
|
|||||||
};
|
};
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
hdmi-sound {
|
||||||
* Sound taken from tinkerboard device tree, adapted to q8.
|
compatible = "audio-graph-card2";
|
||||||
*/
|
label = "HDMI";
|
||||||
soundcard-hdmi {
|
links = <&i2s_port>;
|
||||||
compatible = "simple-audio-card";
|
|
||||||
simple-audio-card,format = "i2s";
|
|
||||||
simple-audio-card,name = "DW-I2S-HDMI";
|
|
||||||
simple-audio-card,mclk-fs = <512>;
|
|
||||||
|
|
||||||
simple-audio-card,codec {
|
|
||||||
sound-dai = <&hdmi>;
|
|
||||||
};
|
|
||||||
|
|
||||||
simple-audio-card,cpu {
|
|
||||||
sound-dai = <&i2s>;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
soundcard-spdif {
|
spdif-sound {
|
||||||
compatible = "simple-audio-card";
|
compatible = "audio-graph-card2";
|
||||||
simple-audio-card,name = "SPDIF";
|
label = "SPDIF";
|
||||||
simple-audio-card,dai-link@1 {
|
links = <&spdif_port>;
|
||||||
|
|
||||||
cpu {
|
|
||||||
sound-dai = <&spdif>;
|
|
||||||
};
|
|
||||||
|
|
||||||
codec {
|
|
||||||
sound-dai = <&spdif_out>;
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
spdif_out: spdif-out {
|
spdif_out: spdif-out {
|
||||||
compatible = "linux,spdif-dit";
|
compatible = "linux,spdif-dit";
|
||||||
#sound-dai-cells = <0>;
|
#sound-dai-cells = <0>;
|
||||||
|
spdif_out_port: port {
|
||||||
|
spdif_out_ep: endpoint {
|
||||||
|
remote-endpoint = <&spdif_ep>;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
@@ -300,6 +283,11 @@
|
|||||||
&hdmi {
|
&hdmi {
|
||||||
ddc-i2c-bus = <&i2c5>;
|
ddc-i2c-bus = <&i2c5>;
|
||||||
status = "ok";
|
status = "ok";
|
||||||
|
hdmi_port: port {
|
||||||
|
hdmi_ep: endpoint {
|
||||||
|
remote-endpoint = <&i2s_ep>;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&gpu {
|
&gpu {
|
||||||
@@ -758,7 +746,7 @@
|
|||||||
|
|
||||||
sdio0 {
|
sdio0 {
|
||||||
wifi_enable_h: wifienable-h {
|
wifi_enable_h: wifienable-h {
|
||||||
rockchip,pins = <4 28 RK_FUNC_GPIO &pcfg_output_high>;
|
rockchip,pins = <4 28 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
@@ -868,9 +856,6 @@
|
|||||||
vqmmc-supply = <&vcc_18>; // This must be the same as in io_domains,
|
vqmmc-supply = <&vcc_18>; // This must be the same as in io_domains,
|
||||||
// otherwise the mmc1 device won't be detected properly
|
// otherwise the mmc1 device won't be detected properly
|
||||||
|
|
||||||
// clock-frequency = <50000000>;
|
|
||||||
// max-frequency = <50000000>;
|
|
||||||
|
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>, <&sdio0_int>;
|
pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>, <&sdio0_int>;
|
||||||
|
|
||||||
@@ -884,6 +869,8 @@
|
|||||||
keep-power-in-suspend;
|
keep-power-in-suspend;
|
||||||
disable-wp;
|
disable-wp;
|
||||||
|
|
||||||
|
//sd-uhs-sdr50; // required to be enabled, otherwise the device gets
|
||||||
|
// detected, but there is no communication
|
||||||
|
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
@@ -896,9 +883,6 @@
|
|||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
//sd-uhs-sdr104; // required to be disabled, otherwise the device get
|
|
||||||
// detected, but there is no communication
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&spi0 {
|
&spi0 {
|
||||||
@@ -1053,11 +1037,26 @@
|
|||||||
&i2s {
|
&i2s {
|
||||||
#sound-dai-cells = <0>;
|
#sound-dai-cells = <0>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
i2s_port: port {
|
||||||
|
i2s_ep: endpoint {
|
||||||
|
system-clock-direction-out;
|
||||||
|
frame-master;
|
||||||
|
bitclock-master;
|
||||||
|
mclk-fs = <512>;
|
||||||
|
dai-format = "i2s";
|
||||||
|
remote-endpoint = <&hdmi_ep>;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
// spdif is present on q8 device, enable it
|
// spdif is present on q8 device, enable it
|
||||||
&spdif {
|
&spdif {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
spdif_port: port {
|
||||||
|
spdif_ep: endpoint {
|
||||||
|
remote-endpoint = <&spdif_out_ep>;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ index 75af99c76..c50b2ccd7 100644
|
|||||||
|
|
||||||
+ hdmi_sound: hdmi-sound {
|
+ hdmi_sound: hdmi-sound {
|
||||||
+ compatible = "simple-audio-card";
|
+ compatible = "simple-audio-card";
|
||||||
+ simple-audio-card,name = "hdmi-sound";
|
+ simple-audio-card,name = "HDMI";
|
||||||
+ simple-audio-card,format = "i2s";
|
+ simple-audio-card,format = "i2s";
|
||||||
+ simple-audio-card,mclk-fs = <256>;
|
+ simple-audio-card,mclk-fs = <256>;
|
||||||
+ status = "disabled";
|
+ status = "disabled";
|
||||||
|
|||||||
Reference in New Issue
Block a user