[alsa-devel] Post Audio codec sgtl5000 with ARM/Zynq under Linux
Wojciech Zebrowski
wojtekz at aldec.com
Mon Jun 22 09:30:24 CEST 2015
Hi All
I use device tree add to attachments . Now linux boot but no detect
sgtl5000 device.
The Linux kernael 3-17 configure from .config file.
Please check my configuration files (kernel , devicetree).
(I set all required device to detect sgtl5000 )
Wojciech Żebrowski
W dniu 2015-06-17 o 16:28, Wojciech Zebrowski pisze:
> Hi Nikolay
>
> Thx for your advice , i try use it in feature dts files.
> My problem is as below , i can send you boot log or , dmesg log if you
> have any other proposition i can debug it too.
>
> 1.*I use I2C* controler to configure sgtl5000 :
> axi_iic_sgtl: i2c at 41610000 {
> #address-cells = <1>;
> #size-cells = <0>;
> compatible = "xlnx,xps-iic-2.00.a";
> interrupt-parent = <&gic>;
> interrupts = <0 31 4>;
> reg = <0x41610000 0x10000>;
>
> codec: sgtl5000 at 0a {
> #sound-dai-cells = <0>;
> compatible = "fsl,sgtl5000";
> reg = <0x0a>;
> /* VDDA-supply = <®_3p3v>; */
> /* VDDIO-supply = <®_3p3v>;*/
> clocks = <&clkc 19>;
> };
> *
> ** How can i set comment lines ? *
>
> 2. sound :
> sound {
> compatible = "fsl,imx51-babbage-sgtl5000",
> "fsl,imx-audio-sgtl5000";
> model = "imx51-babbage-sgtl5000";
> /* ssi-controller = <&ssi1>; */
> audio-codec = <&codec>;
> audio-routing =
> "MIC_IN", "Mic Jack",
> "Mic Jack", "Mic Bias",
> "Headphone Jack", "HP_OUT";
> mux-int-port = <1>;
> mux-ext-port = <3>;
> };/
> *I want use I2C configuration driver not SPI . How can i set comment
> line ? **
> ***
> 3. I2S driver looks like ok :
> axi_i2s_adi_0: axi_i2s_adi at 77600000 {
> compatible = "xlnx,axi-i2s-adi-1.0";
> reg = <0x77600000 0x10000>;
> xlnx,bclk-pol = <0x0>;
> xlnx,dma-type = <0x1>;
> xlnx,has-rx = <0x1>;
> xlnx,has-tx = <0x1>;
> xlnx,lrclk-pol = <0x0>;
> xlnx,num-ch = <0x1>;
> xlnx,s-axi-min-size = <0x000001FF>;
> xlnx,slot-width = <0x18>;
> };
>
>
>
> W dniu 2015-06-17 o 04:21, Nikolay Dimitrov pisze:
>> Hi Wojciech,
>>
>> On 06/11/2015 09:59 AM, Wojciech Zebrowski wrote:
>>> Hi All
>>>
>>> I try solve problem with support SGTL5000 under Linux , ARM / ZYNQ
>>> ARCHITECTURE. Please add this post to "alsa" forum. If you need any
>>> others information i can send it .
>>>
>>> My post:
>>>
>>> I try use freescale audio chip sgtl5000 on my custom board with Zynq
>>> chip. I need help with instance driver in device tree and debug first
>>> execution.
>>>
>>> 1.*I use I2C* controler to configure sgtl5000 :
>>> / axi_iic_sgtl: i2c at 41610000 {//
>>> // #address-cells = <1>;//
>>> // #size-cells = <0>;//
>>> // compatible = "xlnx,xps-iic-2.00.a";//
>>> // interrupt-parent = <&gic>;//
>>> // interrupts = <0 31 4>;//
>>> // reg = <0x41610000 0x10000>;//
>>> ////
>>> // codec: sgtl5000 at 0a {//
>>> // #sound-dai-cells = <0>;//
>>> // compatible = "fsl,sgtl5000";//
>>> // reg = <0x0a>;//
>>> ////// VDDA-supply = <®_3p3v>;//
>>> ////// VDDIO-supply = <®_3p3v>;//
>>> // clocks = <&clkc 19>;//
>>> // }; /
>>>
>>> How can i set comment lines ?
>>>
>>> 2. sound :
>>> / sound {
>>> compatible = "fsl,imx51-babbage-sgtl5000",
>>> "fsl,imx-audio-sgtl5000";
>>> model = "imx51-babbage-sgtl5000";
>>> // ssi-controller = <&ssi1>;
>>> audio-codec = <&codec>;
>>> audio-routing =
>>> "MIC_IN", "Mic Jack",
>>> "Mic Jack", "Mic Bias",
>>> "Headphone Jack", "HP_OUT";
>>> mux-int-port = <1>;
>>> mux-ext-port = <3>;
>>> };/
>>> I want use I2C configuration driver not SPI . How can i set comment
>>> line ?
>>>
>>> 3. I2S driver looks like ok :
>>> / axi_i2s_adi_0: axi_i2s_adi at 77600000 {
>>> compatible = "xlnx,axi-i2s-adi-1.0";
>>> reg = <0x77600000 0x10000>;
>>> xlnx,bclk-pol = <0x0>;
>>> xlnx,dma-type = <0x1>;
>>> xlnx,has-rx = <0x1>;
>>> xlnx,has-tx = <0x1>;
>>> xlnx,lrclk-pol = <0x0>;
>>> xlnx,num-ch = <0x1>;
>>> xlnx,s-axi-min-size = <0x000001FF>;
>>> xlnx,slot-width = <0x18>;
>>> };/
>>>
>>>
>>> PS.
>>> Right now i can compile device tree but audio is not detected.
>>> What kind of log do you need to check Linux boot problem ?
>>
>> Comments in DTS files are done the old-school C way, /* */.
> Changed
>>
>> Regarding the SGTL5K configuration, please take a look here for
>> reference:
>>
>> https://github.com/torvalds/linux/blob/0f57d86787d8b1076ea8f9cbdddda2a46d534a27/arch/arm/boot/dts/imx6dl-riotboard.dts
>>
>>
> I thing it is the same as my .
>> If the audio codec device is detected during boot, you should see
>> something like this in you boot logs:
>>
>>
>> ...
>> sgtl5000 0-000a: sgtl5000 revision 0x11
>> sgtl5000 0-000a: Using internal LDO instead of VDDD
>> imx-sgtl5000 sound: sgtl5000 <-> 2028000.ssi mapping ok
>> ...
> Nothing
>> ALSA device list:
>> #0: imx6-riotboard-sgtl5000
>> ...
> Nothing
>>
>>
>> Regards,
>> Nikolay
>>
>
-------------- next part --------------
/ {
compatible = "xlnx,zynq-7000";
#address-cells = <1>;
#size-cells = <1>;
interrupt-parent = <&gic>;
aliases {
ethernet0 = ð
serial0 = &uart1;
i2c0 = &i2c0_eeprom;
};
cpus {
#address-cells = <1>;
#size-cells = <0>;
ps7_cortexa9_0: cpu at 0 {
bus-handle = <&axi>;
clock-latency = <1000>;
clocks = <&clkc 3>;
compatible = "arm,cortex-a9";
device_type = "cpu";
interrupt-handle = <&gic>;
operating-points = <666667 1000000 333334 1000000 222223 1000000>;
reg = <0x0>;
};
ps7_cortexa9_1: cpu at 1 {
bus-handle = <&axi>;
clocks = <&clkc 3>;
compatible = "arm,cortex-a9";
device_type = "cpu";
interrupt-handle = <&gic>;
reg = <0x1>;
};
};
pmu {
compatible = "arm,cortex-a9-pmu";
interrupts = <0 5 4>, <0 6 4>;
interrupt-parent = <&gic>;
reg = <0xf8891000 0x1000>, <0xf8893000 0x1000>;
reg-names = "cpu0", "cpu1";
};
axi: amba at 0 {
compatible = "simple-bus";
#address-cells = <0x1>;
#size-cells = <0x1>;
ranges;
/*
gic: intc at f8f01000 {
interrupt-controller;
compatible = "arm,cortex-a9-gic";
#interrupt-cells = <3>;
reg = <0xf8f01000 0x1000>,
<0xf8f00100 0x0100>;
};
*/
gic: ps7-scugic at f8f01000 {
#address-cells = <2>;
#interrupt-cells = <3>;
#size-cells = <1>;
compatible = "arm,cortex-a9-gic", "arm,gic";
interrupt-controller ;
num_cpus = <2>;
num_interrupts = <96>;
reg = <0xF8F01000 0x1000 0xF8F00100 0x100>;
xlnx,irq-f2p-mode = "DIRECT";
} ;
pl310 at f8f02000 {
compatible = "arm,pl310-cache";
cache-unified;
cache-level = <2>;
reg = <0xf8f02000 0x1000>;
arm,data-latency = <3 2 2>;
arm,tag-latency = <2 2 2>;
};
uart0: uart at e0000000 {
interrupt-parent = <&gic>;
compatible = "xlnx,xuartps", "cdns,uart-r1p8";
status = "disabled";
clocks = <&clkc 23>, <&clkc 40>;
clock-names = "uart_clk", "pclk";
reg = <0xE0000000 0x1000>;
interrupts = <0 27 4>;
port-number = <0>;
current-speed = <115200>;
device_type = "serial";
};
uart1: uart at e0001000 {
interrupt-parent = <&gic>;
compatible = "xlnx,xuartps", "cdns,uart-r1p8";
clocks = <&clkc 24>, <&clkc 41>;
clock-names = "uart_clk", "pclk";
reg = <0xE0001000 0x1000>;
interrupts = <0 50 4>;
port-number = <0>;
current-speed = <115200>;
device_type = "serial";
};
ps7_dma: ps7-dma at f8003000 {
#dma-cells = <1>;
#dma-channels = <8>;
#dma-requests = <4>;
compatible = "arm,primecell", "arm,pl330";
interrupt-parent = <&gic>;
interrupts = <0 13 4 0 14 4 0 15 4 0 16 4 0 17 4 0 40 4 0 41 4 0 42 4 0 43 4>;
reg = <0xf8003000 0x1000>;
clocks = <&clkc 27>;
clock-names = "apb_pclk";
};
slcr: slcr at f8000000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "xlnx,zynq-slcr", "syscon";
reg = <0xf8000000 0x1000>;
ranges ;
clkc: clkc {
#clock-cells = <1>;
clock-output-names = "armpll", "ddrpll", "iopll", "cpu_6or4x", "cpu_3or2x",
"cpu_2x", "cpu_1x", "ddr2x", "ddr3x", "dci",
"lqspi", "smc", "pcap", "gem0", "gem1",
"fclk0", "fclk1", "fclk2", "fclk3", "can0",
"can1", "sdio0", "sdio1", "uart0", "uart1",
"spi0", "spi1", "dma", "usb0_aper", "usb1_aper",
"gem0_aper", "gem1_aper", "sdio0_aper", "sdio1_aper", "spi0_aper",
"spi1_aper", "can0_aper", "can1_aper", "i2c0_aper", "i2c1_aper",
"uart0_aper", "uart1_aper", "gpio_aper", "lqspi_aper", "smc_aper",
"swdt", "dbg_trc", "dbg_apb";
compatible = "xlnx,ps7-clkc";
ps-clk-frequency = <50000000>;
fclk-enable = <0xf>;
reg = <0x100 0x100>;
};
};
timer at 0xf8001000 {
compatible = "cdns,ttc";
reg = <0xf8001000 0x1000>;
interrupts = < 0 10 4 0 11 4 0 12 4 >;
interrupt-parent = <&gic>;
clocks = <&clkc 6>;
};
timer at f8f00600 {
compatible = "arm,cortex-a9-twd-timer";
reg = <0xf8f00600 0x20>;
interrupts = <1 13 0x301>;
clocks = <&clkc 4>;
interrupt-parent = <&gic>;
};
swdt at f8005000 {
device_type = "watchdog";
compatible = "xlnx,ps7-wdt-1.00.a", "xlnx,zynq-wdt-1.00.a";
reg = <0xf8005000 0x100>;
interrupts = <0 9 4>;
interrupt-parent = <&gic>;
clocks = <&clkc 45>;
reset = <0>;
timeout = <10>;
};
scuwdt at f8f00620 {
device_type = "watchdog";
compatible = "arm,mpcore_wdt";
reg = <0xf8f00620 0x20>;
clocks = <&clkc 4>;
reset = <1>;
};
/*
eth: eth at e000b000 {
compatible = "xlnx,ps7-ethernet-1.00.a";
reg = <0xe000b000 0x1000>;
interrupts = <0 22 4>;
interrupt-parent = <&gic>;
#address-cells = <0x1>;
#size-cells = <0x0>;
clock-names = "ref_clk", "aper_clk";
clocks = <&clkc 13>, <&clkc 30>;
xlnx,enet-clk-freq-hz = <0x17d7840>;
xlnx,ptp-enet-clock = <0x6750918>;
xlnx,enet-reset = "MIO 51";
xlnx,enet-slcr-1000mbps-div0 = <0x8>;
xlnx,enet-slcr-1000mbps-div1 = <0x1>;
xlnx,enet-slcr-100mbps-div0 = <0x8>;
xlnx,enet-slcr-100mbps-div1 = <0x5>;
xlnx,enet-slcr-10mbps-div0 = <0x8>;
xlnx,enet-slcr-10mbps-div1 = <0x32>;
xlnx,eth-mode = <0x1>;
xlnx,has-mdio = <0x1>;
// xlnx,ptp-enet-clock = <111111115>;
};
*/
eth: eth at e000b000 {
compatible = "xlnx,ps7-ethernet-1.00.a";
reg = <0xe000b000 0x1000>;
status = "disabled";
interrupts = <0 22 4>;
clocks = <&clkc 13>, <&clkc 30>;
clock-names = "ref_clk", "aper_clk";
local-mac-address = [00 0a 35 00 00 00];
xlnx,has-mdio = <0x1>;
#address-cells = <1>;
#size-cells = <0>;
};
i2c0_eeprom: ps7-i2c at e0004000 {
bus-id = <0>;
clock-frequency = <100000>;
clocks = <&clkc 38>;
compatible = "cdns,i2c-r1p10";
interrupt-parent = <&gic>;
interrupts = <0 25 4>;
reg = <0xe0004000 0x1000>;
xlnx,has-interrupt = <0x0>;
/* xlnx,i2c-reset = ""; */
xlnx,i2c-reset = <0xffffffff>;
#address-cells = <1>;
#size-cells = <0>;
24aa64 at 50 {
//compatible = "at,24c08";
compatible = "mircochip,24aa64";
reg = <0x50>;
};
} ;
/*
i2c0: i2c at e0004000 {
compatible = "cdns,i2c-r1p10";
status = "enable";
clocks = <&clkc 38>;
interrupt-parent = <&gic>;
interrupts = <0 25 4>;
reg = <0xe0004000 0x1000>;
clock-frequency = <400000>;
#address-cells = <1>;
#size-cells = <0>;
24aa64 at 50 {
//compatible = "at,24c08";
compatible = "mircochip,24aa64";
reg = <0x50>;
};
};
*/
i2c1: i2c at e0005000 {
compatible = "cdns,i2c-r1p10";
status = "disabled";
clocks = <&clkc 39>;
interrupt-parent = <&gic>;
interrupts = <0 48 4>;
reg = <0xe0005000 0x1000>;
#address-cells = <1>;
#size-cells = <0>;
};
gpio: gpio at e000a000 {
compatible = "xlnx,ps7-gpio-1.00.a", "xlnx,zynq-gpio-1.00.a", "xlnx,zynq-gpio-1.0";
reg = <0xe000a000 0x1000>;
interrupts = <0 20 4>;
interrupt-parent = <&gic>;
clocks = <&clkc 42>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
sdhci0: sdhci at e0100000 {
compatible = "xlnx,ps7-sdio-1.00.a", "arasan,sdhci-8.9a";
reg = <0xe0100000 0x1000>;
interrupts = <0 24 4>;
interrupt-parent = <&gic>;
clock-names = "clk_xin", "clk_ahb";
clocks = <&clkc 21>, <&clkc 32>;
xlnx,has-cd = <0x1>;
clock-frequency = <50000000>;
};
/*
usb: usb at e0002000 {
compatible = "xlnx,zynq-usb-2.20a", "chipidea,usb2";
reg = <0xe0002000 0x1000>;
interrupts = <0 21 4>;
interrupt-parent = <&gic>;
clocks = <&clkc 28>;
phy_type = "ulpi";
};
*/
usb: usb at e0002000 {
clocks = <&clkc 28>;
/* compatible = "xlnx,zynq-usb-2.20a", "chipidea,usb2"; */
compatible = "xlnx,ps7-usb-1.00.a", "xlnx,zynq-usb-1.00.a";
status = "disabled";
interrupt-parent = <&gic>;
interrupts = <0 21 4>;
reg = <0xe0002000 0x1000>;
};
spi0: spi at e0006000 {
compatible = "cdns,spi-r1p6", "xlnx,zynq-spi-1.00.a", "xlnx,ps7-spi-1.00.a";
interrupt-parent = <&gic>;
interrupts = <0 26 4>;
clock-names = "ref_clk", "aper_clk", "pclk";
clocks = <&clkc 25>, <&clkc 34>, <&clkc 34>;
num-chip-select = <4>;
reg = <0xe0006000 0x1000>;
speed-hz = <100000000>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
};
spi1: spi at e0007000 {
compatible = "cdns,spi-r1p6", "xlnx,zynq-spi-1.00.a", "xlnx,ps7-spi-1.00.a";
interrupt-parent = <&gic>;
interrupts = <0 49 4>;
clock-names = "ref_clk", "aper_clk", "pclk";
clocks = <&clkc 26>, <&clkc 35>, <&clkc 35>;
num-chip-select = <4>;
reg = <0xe0007000 0x1000>;
speed-hz = <100000000>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
};
qspi0: qspi at e000d000 {
#address-cells = <1>;
#size-cells = <0>;
clock-names = "ref_clk", "pclk";
clocks = <&clkc 10>, <&clkc 43>;
compatible = "xlnx,zynq-qspi-1.0";
status = "disabled";
interrupt-parent = <&gic>;
interrupts = <0 19 4>;
reg = <0xe000d000 0x1000>;
};
devcfg at f8007000 {
compatible = "xlnx,zynq-devcfg-1.0";
reg = <0xf8007000 0x100>;
interrupts = <0 8 4>;
interrupt-parent = <&gic>;
clocks = <&clkc 12>, <&clkc 15>, <&clkc 16>, <&clkc 17>, <&clkc 18>;
clock-names = "ref_clk", "fclk0", "fclk1", "fclk2", "fclk3";
};
xadc at f8007100 {
compatible = "xlnx,zynq-xadc-1.00.a", "xlnx,ps7-xadc-1.00.a";
reg = <0xf8007100 0x20>;
interrupts = <0 7 4>;
interrupt-parent = <&gic>;
clocks = <&clkc 12>;
};
ps7_ddrc_0: ps7-ddrc at f8006000 {
compatible = "xlnx,zynq-ddrc-a05", "xlnx,ps7-ddrc-1.00.a", "xlnx,ps7-ddrc", "xlnx,zynq-ddrc-1.0";
reg = <0xf8006000 0x1000>;
xlnx,has-ecc = <0x0>;
} ;
ps7_ocm_0: ps7-ocm at f800c000 {
compatible = "xlnx,ps7-ocmc-1.00.a", "xlnx,zynq-ocmc-1.0";
interrupt-parent = <&gic>;
interrupts = <0 3 4>;
reg = <0xf800c000 0x1000>;
};
};
};
-------------- next part --------------
/include/ "zynq.dtsi"
/ {
model = "Xilinx Zynq ZC702";
memory {
device_type = "memory";
reg = <0x000000000 0x20000000>;
};
chosen {
bootargs = "console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 rootwait";
linux,stdout-path = "/amba at 0/uart at E0001000";
};
};
ð {
local-mac-address = [00 0a 35 00 00 00];
phy-mode = "rgmii-id";
status = "okay";
xlnx,ptp-enet-clock = <0x6750918>;
ps7_ethernet_0_mdio: mdio {
#address-cells = <1>;
#size-cells = <0>;
};
};
&usb {
dr_mode = "host";
phy_type = "ulpi";
status = "okay";
usb-reset = <&gpio 9 0>;
};
-------------- next part --------------
/dts-v1/;
/include/ "zynq-zc702.dtsi"
/include/ "zynq-zc702-adv7511.dtsi"
-------------- next part --------------
/ {
fpga_axi: fpga-axi at 0 {
compatible = "simple-bus";
#address-cells = <0x1>;
#size-cells = <0x1>;
ranges;
regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
reg_2p5v: regulator at 0 {
compatible = "regulator-fixed";
reg = <0>;
regulator-name = "2P5V";
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <2500000>;
};
reg_3p3v: regulator at 1 {
compatible = "regulator-fixed";
reg = <1>;
regulator-name = "3P3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
};
sound {
compatible = "fsl,imx51-babbage-sgtl5000",
"fsl,imx-audio-sgtl5000";
model = "imx51-babbage-sgtl5000";
ssi-controller = <&axi_i2s_adi_0>;
audio-codec = <&codec>;
audio-routing =
"MIC_IN", "Mic Jack",
"Mic Jack", "Mic Bias",
"Headphone Jack", "HP_OUT";
mux-int-port = <1>;
mux-ext-port = <3>;
};
xilinx_pcm_audio: xilinx_pcm_audio {
compatible = "xilinx-pcm-audio";
#size-cells = <0>;
#address-cells = <1>;
stream at 0 {
reg = <0>;
/* dma-request = <&ps7_dma 0>; */
};
};
axi_iic_0: i2c at 41600000 {
compatible = "xlnx,axi-iic-1.01.b", "xlnx,xps-iic-2.00.a";
interrupt-parent = <&gic>;
interrupts = <0 58 0x4>;
reg = <0x41600000 0x10000>;
#size-cells = <0>;
#address-cells = <1>;
adv7511: adv7511 at 39 {
compatible = "adi,adv7511";
reg = <0x39>;
adi,input-style = <0x02>;
adi,input-id = <0x01>;
adi,input-color-depth = <0x3>;
adi,sync-pulse = <0x03>;
adi,bit-justification = <0x01>;
adi,up-conversion = <0x00>;
adi,timing-generation-sequence = <0x00>;
adi,vsync-polarity = <0x02>;
adi,hsync-polarity = <0x02>;
adi,tdms-clock-inversion;
adi,clock-delay = <0x03>;
};
};
axi_iic_sgtl: i2c_1 at 41610000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "xlnx,xps-iic-2.00.a";
interrupt-parent = <&gic>;
interrupts = <0 57 4>;
reg = <0x41610000 0x10000>;
codec: sgtl5000 at 03a {
#sound-dai-cells = <0>;
compatible = "fsl,sgtl5000";
reg = <0x0a>;
VDDA-supply = <®_3p3v>;
VDDIO-supply = <®_3p3v>;
clocks = <&clkc 19>;
};
};
/*
i2c_sgtl at 41610000 {
compatible = "xlnx,axi-iic-1.01.b", "xlnx,xps-iic-2.00.a";
interrupt-parent = <&gic>;
interrupts = <0 57 0x4>;
reg = <0x41610000 0x10000>;
#size-cells = <0>;
#address-cells = <1>;
// codec: sgtl5000 at 03a {
// #sound-dai-cells = <0>;
// compatible = "fsl,sgtl5000";
// reg = <0x0a>;
//// VDDA-supply = <®_3p3v>;
//// VDDIO-supply = <®_3p3v>;
// clocks = <&clkc 19>;
// };
};
*/
axi_vdma_0: axivdma at 43000000 {
#address-cells = <1>;
#size-cells = <1>;
#dma-cells = <1>;
compatible = "xlnx,axi-vdma";
reg = <0x43000000 0x1000>;
xlnx,include-sg = <0x0>;
xlnx,num-fstores = <0x3>;
dma-channel at 43000000 {
compatible = "xlnx,axi-vdma-mm2s-channel";
interrupts = <0 59 0x4>;
xlnx,datawidth = <0x40>;
xlnx,genlock-mode = <0x0>;
xlnx,include-dre = <0x0>;
};
};
hdmi_clock: axi-clkgen at 79000000 {
compatible = "adi,axi-clkgen-2.00.a";
reg = <0x79000000 0x10000>;
#clock-cells = <0>;
clocks = <&clkc 16>;
};
axi_hdmi at 70e00000 {
compatible = "adi,axi-hdmi-tx-1.00.a";
reg = <0x70e00000 0x10000>;
encoder-slave = <&adv7511>;
dmas = <&axi_vdma_0 0>;
dma-names = "video";
clocks = <&hdmi_clock>;
};
audio_clock: audio_clock {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <12288000>;
};
axi_pcie_0: axi-pcie at 50000000 {
#address-cells = <3>;
#size-cells = <2>;
compatible = "xlnx,axi-pcie-1.05.a";
interrupt-parent = <&gic>;
interrupts = <0 56 4>;
ranges = <0x02000000 0x00000000 0x60000000 0x60000000 0x00000000 0x10000000>;
reg = <0x50000000 0x10000000>;
xlnx,include-rc = <0x1>;
xlnx,pciebar-num = <0x1>;
xlnx,pciebar2axibar-0 = <0x00000000>;
xlnx,pciebar2axibar-1 = <0xFFFFFFFF>;
} ;
axi_spdif_tx_0: axi-spdif-tx at 0x75c00000 {
compatible = "adi,axi-spdif-tx-1.00.a";
reg = <0x75c00000 0x1000>;
dmas = <&ps7_dma 0>;
dma-names = "tx";
clocks = <&clkc 15>, <&audio_clock>, <&audio_clock>;
clock-names = "axi", "ref", "spdif";
};
adv7511_hdmi_snd: adv7511_hdmi_snd {
compatible = "adv7511-hdmi-snd";
audio-codec = <&adv7511>;
//audio-codec-adapter = <&axi_iic_0>;
cpu-dai = <&axi_spdif_tx_0>;
pcm = <&xilinx_pcm_audio>;
};
axi_i2s_adi_0: axi_i2s_adi at 77600000 {
compatible = "xlnx,axi-i2s-adi-1.0";
reg = <0x77600000 0x10000>;
xlnx,bclk-pol = <0x0>;
xlnx,dma-type = <0x1>;
xlnx,has-rx = <0x1>;
xlnx,has-tx = <0x1>;
xlnx,lrclk-pol = <0x0>;
xlnx,num-ch = <0x1>;
xlnx,s-axi-min-size = <0x000001FF>;
xlnx,slot-width = <0x18>;
};
/*
axi_i2s_0: axi-i2s at 0x77600000 {
compatible = "adi,axi-i2s-1.00.a";
reg = <0x77600000 0x1000>;
dmas = <&ps7_dma 1 &ps7_dma 2>;
dma-names = "tx", "rx";
clocks = <&clkc 19>, <&audio_clock>, <&audio_clock>;
clock-names = "axi", "ref", "i2s";
};
aldec_sound: aldec_sound {
//compatible = "digilent,zed-sound";
audio-codec = <&codec>;
cpu-dai = <&axi_i2s_adi_0>;
};
*/
};
};
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config
Type: application/xml
Size: 94006 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20150622/415d3fc6/attachment-0001.wsdl>
More information about the Alsa-devel
mailing list