26

Odp: openwrt + I2S

Królik napisał/a:
r00ti napisał/a:

bardzo dziękuje każdemu za pomoc, udało się uruchomić.

Napisz czego brakowało by ktoś następny miał całą odpowiedź na problem. wink


Brakowało master clocka, który trzeba wygenerować zewnętrznie lub za pomoca np. refclk smile

27

Odp: openwrt + I2S

czy w przypadku nagrywania dźwięku powinienem o czymś pamiętać ? Bo aktualnie to nagrywają się same "trzaski" ...

28

Odp: openwrt + I2S

r00ti napisał/a:

czy w przypadku nagrywania dźwięku powinienem o czymś pamiętać ? Bo aktualnie to nagrywają się same "trzaski" ...

Co nagrywasz? Jakie jest źródło dźwięku? Jaki masz frontend analogowy?

Od tego zależy o czym powinieneś pamiętać.

Mam i używam: Fujitsu Futro S720, Netgear R6220, Unielec U7621-06, TP-Linki 1043 V1, V2, Linksysy EA7500v2, AeroHive AP350, Linksys EA8500, ZTE MF286d.
Mam: D-Linki DWR-921, DWR-118, DWR-116, TP-Link WDR-4900 v1, Checkpoint L-50, Linksysy 1900ACS, LB-Link BL-W1200,

29

Odp: openwrt + I2S

Królik napisał/a:
r00ti napisał/a:

czy w przypadku nagrywania dźwięku powinienem o czymś pamiętać ? Bo aktualnie to nagrywają się same "trzaski" ...

Co nagrywasz? Jakie jest źródło dźwięku? Jaki masz frontend analogowy?

Od tego zależy o czym powinieneś pamiętać.


mikrofony dwa, które podpięte są pod LINE1 i LINE2. Wcześnie przetestowałem je na płytce lyrat i tam nagrywało bardzo ładnie, dlatego wydaje mi się że część sprzętowa jest ok, zmienił się tylko procek z esp32 na układ mt7628.

30 (edytowany przez szymon-ek 2021-01-07 15:58:02)

Odp: openwrt + I2S

Witam !

Próbuję uruchomić I2S na MT76x8 i jak na razie padaka ;-((((

generalnie staram się odpalić top na 19.7 i LinkIt MT7688

i staram się iść za przykładem z: https://openwrt.org/toh/seeed/linkit7688

ale o ile udało się odpalić coś tam na I2C czyli komendy sterujące WM8960 działa, alsamixer widzi temat ale I2S pozostaje głuchy

moje pliki dst:

Dodam ze problem jest czysto firmware-owy, bo płyta na oryginalnym openwrt 15.05 działa poprawnie

szukałem jakiegoś Guida jak wkleić cod ale brak manuala ;-( - teraz poprawiony po pomocy 'Cezary' - dziekuje

https://i.ibb.co/xmLYpN5/I2-S-and-I2-C-Log.jpg

/dts-v1/;

#include "mt7628an.dtsi"

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

/ {
    compatible = "mediatek,linkit-smart-7688", "mediatek,mt7628an-soc";
    model = "MediaTek LinkIt Smart 7688";

    aliases {
        led-boot = &led_wifi;
        led-failsafe = &led_wifi;
        led-running = &led_wifi;
        led-upgrade = &led_wifi;
    };

    chosen {
        bootargs = "console=ttyS2,57600";
    };

    aliases {
        serial0 = &uart2;
    };

    memory@0 {
        device_type = "memory";
        reg = <0x0 0x8000000>;
    };

    bootstrap {
        compatible = "mediatek,linkit";

        status = "okay";
    };

    leds {
        compatible = "gpio-leds";

        led_wifi: wifi {
            label = "linkit-smart-7688:orange:wifi";
            gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
        };
    };

    keys {
        compatible = "gpio-keys-polled";
        poll-interval = <20>;

        wps {
            label = "reset";
            gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
            linux,code = <KEY_WPS_BUTTON>;
        };
    };


    sound {
        compatible = "simple-audio-card";
        simple-audio-card,name = "I2S Audio";
        simple-audio-card,format = "i2s";
        simple-audio-card,bitclock-master = <&dailink0_master>;
        simple-audio-card,frame-master = <&dailink0_master>;

        simple-audio-card,widgets =
            "Headphone", "Headphone Jack",
            "Speaker", "Speakers",
            "Microphone", "Microphone Jack",
            "Line", "Line In";

        simple-audio-card,routing =
            "Headphone Jack", "HP_L",
            "Headphone Jack", "HP_R",
            "Speakers", "SPK_LN",
            "Speakers", "SPK_LP",
            "Speakers", "SPK_RN",
            "Speakers", "SPK_RP",
            "LINPUT1", "Microphone Jack",
            "LINPUT2", "Line In",
            "RINPUT2", "Line In";

        simple-audio-card,cpu {
            sound-dai = <&i2s>;
        };

        dailink0_master: simple-audio-card,codec {
            sound-dai = <&codec>;
            system-clock-frequency = <12288000>;
        };
    };
};

&pinctrl {
    state_default: pinctrl0 {
        gpio {
            ralink,group = "gpio";
            ralink,function = "gpio";
        };

        refclk {
            ralink,group = "refclk";
            ralink,function = "gpio";
        };

        spis {
            ralink,group = "spis";
            ralink,function = "gpio";
        };

        wled_an {
            ralink,group = "wled_an";
            ralink,function = "gpio";
        };

        wdt {
            ralink,group = "wdt";
            ralink,function = "gpio";
        };
        
    };
};

&spi0 {
    status = "okay";

    pinctrl-names = "default";
    pinctrl-0 = <&spi_pins>, <&spi_cs1_pins>;

    m25p80@0 {
        compatible = "jedec,spi-nor";
        reg = <0>;
        spi-max-frequency = <40000000>;

        partitions {
            compatible = "fixed-partitions";
            #address-cells = <1>;
            #size-cells = <1>;

            partition@0 {
                label = "u-boot";
                reg = <0x0 0x30000>;
                read-only;
            };

            partition@30000 {
                label = "u-boot-env";
                reg = <0x30000 0x10000>;
            };

            factory: partition@40000 {
                label = "factory";
                reg = <0x40000 0x10000>;
                read-only;
            };

            partition@50000 {
                compatible = "denx,uimage";
                label = "firmware";
                reg = <0x50000 0x1fb0000>;
            };
        };
    };

    spidev@1 {
        #address-cells = <1>;
        #size-cells = <1>;
        compatible = "linux,spidev";
        reg = <1>;
        spi-max-frequency = <40000000>;
    };
};

&i2c {
    status = "okay";

    codec: wm8960@1a {
               #sound-dai-cells = <0>;
               compatible = "wlf,wm8960";
               reg = <0x1a>;

               wlf,shared-lrclk;
    };
};

&gdma { 
    status = "okay"; 
};

&i2s {
    #sound-dai-cells = <0>;
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&i2s_pins>;
};

&uart1 {
    status = "okay";
};

&uart2 {
    status = "okay";
};

&pwm {
    status = "okay";
};

&ethernet {
    mtd-mac-address = <&factory 0x28>;
};

&sdhci {
    status = "okay";
    mediatek,cd-high;
};

&wmac {
    status = "okay";
};

31

Odp: openwrt + I2S

Jak piszesz posta to tu zaraz na górze jest link "Możesz używać: BBCode" I jak to klikniesz to się dowiesz że bbcody są w nawiasach prostokątnych a nie ostrokątnych. Ale to OT.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.