Jump to content

Christos

Members
  • Posts

    306
  • Joined

  • Last visited

Posts posted by Christos

  1. 2 hours ago, Igor said:


    That is normal. You need to create a username in the first boot process. 

     

    Well, I had created in both of them the initial user and rebooted, tried the process a few times to make sure.

    Even though performed the initial user setup the desktop did not come up,

     

    If you see at the two files that I attached from the console bootlog you can see that at first uboot has issues from the very start with I2C addresses/devices

    ▒I2C_WriteBit SDA Arbitration Fail
    I2C Device Address Write Abitration Error
    I2C_WriteBit SDA Arbitration Fail
    I2C Data Write Abitration Error
    I2C_WriteBit SDA Arbitration Fail
    I2C Device Address Write Abitration Error
    I2C_WriteBit SDA Arbitration Fail
    I2C Device Address Write Abitration Error
    I2C_WriteBit SDA Arbitration Fail
    I2C Device Address Write Abitration Error
    Wakeup Sub CPU 1234567
    CPU Wakeup done! WFI is expected.
    CPU0 is Master!
    
    
    
    U-Boot 2016.01-armbian (Dec 11 2017 - 16:34:31 +0200)
    
    DRAM:  1 GiB
    MMC:   NEXELL DWMMC: 0, NEXELL DWMMC: 1
    loaded from SD, getting env from MMC 1
    *** Warning - bad CRC, using default environment
    
    MIPI: display.0
    HDMI: display.0, preset 0 (1280 *  720)
    HDMI: phy ready...
    LCD: [HDMI] dp.0.1 1220x680 16bpp FB:0x46000000
    In:    serial
    Out:   vga
    Err:   vga
    Hit any key to stop autoboot:  0

     

    and later on issues with display

     

    [    3.112000] nexell,display_drm c0102800.display_drm: Cannot do DMA to address 0x0000000000000000
    [    3.116000] swiotlb: coherent allocation failed for device c0102800.display_drm size=8294400
    [    3.120000] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.11.12-s5p6818 #1
    [    3.120000] Hardware name: nexell soc (DT)
    [    3.120000] Call trace:
    [    3.120000] [<ffffff800808713c>] dump_backtrace+0x0/0x220
    [    3.120000] [<ffffff8008087370>] show_stack+0x14/0x1c
    [    3.120000] [<ffffff8008528494>] dump_stack+0x8c/0xb0
    [    3.120000] [<ffffff800854e020>] swiotlb_alloc_coherent+0x160/0x17c
    [    3.120000] [<ffffff80080903e4>] __dma_alloc+0x11c/0x1a4
    [    3.120000] [<ffffff80085f39c8>] nx_drm_gem_create+0x6e0/0x904
    [    3.120000] [<ffffff80085f1950>] nx_drm_fb_helper_probe+0x1b8/0x3a8
    [    3.120000] [<ffffff80085c4fa4>] drm_fb_helper_initial_config+0x24c/0x334
    [    3.120000] [<ffffff80085f1dfc>] nx_drm_framebuffer_init+0x130/0x194
    [    3.120000] [<ffffff80085ef82c>] nx_drm_output_poll_changed+0x74/0xa0
    [    3.120000] [<ffffff80085b8d30>] drm_kms_helper_hotplug_event+0x28/0x34
    [    3.120000] [<ffffff80085b9510>] drm_helper_hpd_irq_event+0xe4/0x104
    [    3.120000] [<ffffff80085ef78c>] nx_drm_load+0x128/0x154
    [    3.120000] [<ffffff80085cd6ac>] drm_dev_register+0x10c/0x1b8
    [    3.120000] [<ffffff80085ce130>] drm_platform_init+0x6c/0x94
    [    3.120000] [<ffffff80085ef54c>] nx_drm_bind+0x1c/0x24
    [    3.120000] [<ffffff80085f4d0c>] try_to_bring_up_master+0x20c/0x268
    [    3.120000] [<ffffff80085f4f3c>] component_master_add_with_match+0x90/0xc0
    [    3.120000] [<ffffff80085ef93c>] nx_drm_probe+0xb8/0xc8
    [    3.120000] [<ffffff80085fc9e8>] platform_drv_probe+0x58/0xa4
    [    3.120000] [<ffffff80085faa18>] driver_probe_device+0x1f4/0x3fc
    [    3.120000] [<ffffff80085face8>] __driver_attach+0xc8/0xf8
    [    3.120000] [<ffffff80085f8af4>] bus_for_each_dev+0x64/0x88
    [    3.120000] [<ffffff80085fa394>] driver_attach+0x20/0x28
    [    3.120000] [<ffffff80085f9e38>] bus_add_driver+0x13c/0x24c
    [    3.120000] [<ffffff80085fb924>] driver_register+0x94/0xe0
    [    3.120000] [<ffffff80085fc940>] __platform_driver_register+0x48/0x50
    [    3.120000] [<ffffff8008be9058>] nx_drm_platform_drv_init+0x18/0x20
    [    3.120000] [<ffffff80080829ac>] do_one_initcall+0x84/0x104
    [    3.120000] [<ffffff8008bb0ce4>] kernel_init_freeable+0x1a4/0x240
    [    3.120000] [<ffffff80088917fc>] kernel_init+0x10/0xf8
    [    3.120000] [<ffffff80080826c0>] ret_from_fork+0x10/0x50
    [    3.124000] nexell,display_drm c0102800.display_drm: failed to allocate buffer with size 8294400
    [    3.128000] nexell,display_drm c0102800.display_drm: Failed to set initial hw configuration.

     

    and some cpu issues

    [    1.744000] Clockevents: could not switch to one-shot mode:
    [    1.744000] Clockevents: could not switch to one-shot mode:
    [    1.744000] Clockevents: could not switch to one-shot mode:
    [    1.744000] Clockevents: could not switch to one-shot mode:
    [    1.744000] Clockevents: could not switch to one-shot mode:
    [    1.744000] Clockevents: could not switch to one-shot mode:
    [    1.744000] Clockevents: could not switch to one-shot mode:
    [    1.744000] Clockevents: could not switch to one-shot mode:
    [    1.744000]  dummy_timer is not functional.
    [    1.744000]  dummy_timer is not functional.
    [    1.744000]  dummy_timer is not functional.
    [    1.744000]  dummy_timer is not functional.
    [    1.744000]  dummy_timer is not functional.
    [    1.744000]  dummy_timer is not functional.
    [    1.744000]  dummy_timer is not functional.
    [    1.744000] Could not switch to high resolution mode on CPU 0
    [    1.744000] Could not switch to high resolution mode on CPU 1
    [    1.744000] Could not switch to high resolution mode on CPU 7
    [    1.744000] Could not switch to high resolution mode on CPU 4
    [    1.744000] Could not switch to high resolution mode on CPU 6
    [    1.744000] Could not switch to high resolution mode on CPU 5
    [    1.744000] Could not switch to high resolution mode on CPU 2
    [    1.744000]  dummy_timer is not functional.
    [    1.744000] Could not switch to high resolution mode on CPU 3

     

    The above are in both dev, next

     

     

  2. @Igor

     

    Also, tried M3 Armbian 5.37 dev Debian desktop and compile breaks

    Get:45 http://httpredir.debian.org jessie-backports/contrib armhf Packages [7940 B]
    Get:46 http://httpredir.debian.org jessie-backports/non-free armhf Packages [6692 B]
    Fetched 22.2 MB in 29s (743 kB/s)
    Reading package lists...
    [ o.k. ] Upgrading base packages [ Armbian ]
    Reading package lists...
    Building dependency tree...
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    [ o.k. ] Installing packages for [ Armbian ]
    Reading package lists...
    Building dependency tree...
    Package iceweasel:armhf is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    
    E: Package 'iceweasel:armhf' has no installation candidate
    [ error ] ERROR in function create_rootfs_cache [ debootstrap-ng.sh:208 ]
    [ error ] Installation of Armbian packages failed 
    [ o.k. ] Process terminated 
    [ error ] ERROR in function unmount_on_exit [ image-helpers.sh:59 ]
    [ error ] debootstrap-ng was interrupted 
    [ o.k. ] Process terminated 

     

    and the same happens with next Debian desktop

    Get:45 http://httpredir.debian.org jessie-backports/contrib armhf Packages [7940 B]
    Get:46 http://httpredir.debian.org jessie-backports/non-free armhf Packages [6692 B]
    Fetched 22.2 MB in 25s (861 kB/s)
    Reading package lists...
    [ o.k. ] Upgrading base packages [ Armbian ]
    Reading package lists...
    Building dependency tree...
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    [ o.k. ] Installing packages for [ Armbian ]
    Reading package lists...
    Building dependency tree...
    Package iceweasel:armhf is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    
    E: Package 'iceweasel:armhf' has no installation candidate
    [ error ] ERROR in function create_rootfs_cache [ debootstrap-ng.sh:208 ]
    [ error ] Installation of Armbian packages failed 
    [ o.k. ] Process terminated 
    [ error ] ERROR in function unmount_on_exit [ image-helpers.sh:59 ]
    [ error ] debootstrap-ng was interrupted 
    [ o.k. ] Process terminated 

     

     

    With M3 Armbian 5.37 dev Ubuntu desktop  and  Armbian 5.37 next Ubuntu desktop, compile finishes but no desktop gets shown, only text on HDMI

    In both Armbian 5.37 next/dev Ubuntu desktop, the initial boot, uboot, is probably broken

     

    Attaching console bootlog from the two Armbian boots

     

     

    M3_Armbian_Ubuntu_dev_Boot.txt

    M3_Armbian_Ubuntu_next_Boot.txt

  3. @Igor

     

    That specific board is my favorite.

     

    Tried a build with Armbian 5.37 in WIP, tried both the next and the dev.

    They both do not give a desktop and the initial boot log starts with I2C errors.

    A previous build, a couple of months ago with specific compile.sh command line for the m3 (BOARD=nanopim3), was producing a proper desktop image, now it is not, showing errors even from uboot.

     

    Am I missing something?

     

  4. Hi @codekipper  realy nice to see you here :)

     

    There is some work from nikkov that created the sun8i-i2s.c driver mentioned in earlier post, yet it is not included in the 4.14 mainline kernel probably he did not pushed it up

    -> https://github.com/nikkov/friendlyarm-linux/tree/sunxi-4.11.y/sound/soc/sunxi

    Though even this driver has not capture feature, its only playback.

     

    Although not there yet, I still hope that at sometime soon we will have both capture and playback in 192KHz/24bit on I2S H3 driver with your excellent work.

     

  5. 37 minutes ago, zador.blood.stained said:

    Obviously you need a codec that supports both playback and capture at the same time, assuming there are no additional HW requirements for this.

    Well, this is what I initialy done

    -> https://forum.armbian.com/topic/5643-h3-i2s0-dt-overlay/?do=findComment&comment=43519

    I did verify in the generated .o/.ko that the dummy codec device (which has both concurrent capture/playback) gets compiled in the source tree.

    But for some unknown reason it did not work with the new I2S.

    Could be my overlay, dont know.

    Also, that has no HW limitations, it can be used from anyone without hardware (if the underline I2S driver is ok of course..)

  6. @jernej

    Tried quite a bit to get things to work regarding the I2S0, yet it looks the driver that was included in 4.14 is very limited, most likely because from what I understand it was meant mainly to give some kind of working status to the hdmi.. and thats it, nothing else. IMHO someone has to correct the sunxi mainline effort table at least stating what this I2S driver actualy does and what is pending so we stop banging our heads on the wall wondering why stuff dont work.

  7. On 14/11/2017 at 11:08 PM, jernej said:

    H3 I2S patches were backported in Armbiam due to HDMI Audio. It should already work if you add right DT node for your codec.

     

    Is there any chance to have a 'working' overlay for I2S0?

    Up to now we were not able to have a playback and capture overlay for the new I2S driver (we also found the timing issues @ssuloev mentions as really frustrating since 192KHz and 24/32bit do not work either)

     

  8. @Valery Rezvyakov

     

    Many thanks, very nice.

     

    How can we have both of those overlays working together, meaning to have both playback and capture devices present.

    As it is now, it enables either playback or capture, but we need both of them active.

    Tried to enable both overlays, but only one of them gets through to pulseaudio/alsa.

    In the armbianEnv.txt file, in the line specifying the overlays, whichever overlay gets there last, only that device is shown in alsa

     

    If the line is

    user_overlays=sun8i-h3-I2S-out i2s-soundcard-overlay

    then

    root@orangepipc:~# aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: Codec [H3 Audio Codec], device 0: CDC PCM Codec-0 []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 2: allwinnerhdmi [allwinner,hdmi], device 0: 1c22800.i2s-i2s-hifi i2s-hifi-0 []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    root@orangepipc:~# arecord -l
    **** List of CAPTURE Hardware Devices ****
    card 0: Codec [H3 Audio Codec], device 0: CDC PCM Codec-0 []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 1: adau7002 [adau7002], device 0: 1c22000.i2s-adau7002-hifi adau7002-hifi-0 []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    root@orangepipc:~#

    we have new capture but no new playback

     

    If the line is

    user_overlays=i2s-soundcard-overlay sun8i-h3-I2S-out

    then

    root@orangepipc:~# aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: I2Smaster [I2S-master], device 0: 1c22000.i2s-pcm5102a-hifi pcm5102a-hifi-0 []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 1: allwinnerhdmi [allwinner,hdmi], device 0: 1c22800.i2s-i2s-hifi i2s-hifi-0 []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 2: Codec [H3 Audio Codec], device 0: CDC PCM Codec-0 []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    root@orangepipc:~# arecord -l
    **** List of CAPTURE Hardware Devices ****
    card 2: Codec [H3 Audio Codec], device 0: CDC PCM Codec-0 []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    root@orangepipc:~#

    we have new playback but no new capture

     

    How can we have both of them active?

    Playback and Capture?

     

  9. Hi @Valery Rezvyakov

     

    Thank you for this solution, it does produce the output/playback device indeed.

    root@orangepipc:~# aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: I2Smaster [I2S-master], device 0: 1c22000.i2s-pcm5102a-hifi pcm5102a-hifi-0 []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 1: Codec [H3 Audio Codec], device 0: CDC PCM Codec-0 []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 2: allwinnerhdmi [allwinner,hdmi], device 0: 1c22800.i2s-i2s-hifi i2s-hifi-0 []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    root@orangepipc:~#

    Is there any way to have also the input enabled?

    root@orangepipc:~# arecord -l
    **** List of CAPTURE Hardware Devices ****
    card 1: Codec [H3 Audio Codec], device 0: CDC PCM Codec-0 []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    root@orangepipc:~#

    Currently it is only the playback visible, is there any codec that we could use in order to give us the record input too?

     

     

  10. Hi @Valery Rezvyakov

     

    Thank you for the hint, I understand that you use the pcm5102a codec which is the same as a dummy linux codec.

    Yet after I tried it, is again not showing up.

    The I2S0 is at i2s@01c22000 and that is not shown up in the dmesg although uboot DT is not complaining again with your modified overlay.

    Again the uboot DT is passing ok without error, dmesg is not showing I2S0 and aplay -l is not showing it

    Quote

    christos@orangepipc:~$ aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: Codec [H3 Audio Codec], device 0: CDC PCM Codec-0 []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 1: allwinnerhdmi [allwinner,hdmi], device 0: 1c22800.i2s-i2s-hifi i2s-hifi-0 []
      Subdevices: 1/1
      Subdevice #0: subdevice #0

    christos@orangepipc:~$

     

    I'm attaching the related dmesg.

     

    dmesg2.txt

  11. @zador.blood.stained

    Most likely I do something in error here..

     

    This is the overlay I use

    /dts-v1/;
    /plugin/;
    
    / {
        compatible = "allwinner,sun8i-h3";
    
        fragment@0 {
            target = <&i2s0>;
            __overlay__ {
    			pinctrl-names = "default";
    			pinctrl-0 = <&i2s0_pins>;
                status = "okay";
            };
        };
    
        fragment@1 {
    	target-path = "/";
            __overlay__ {
                    codec_dummy:codec_dummy {
                    	#sound-dai-cells = <0>;
                    	compatible = "linux,snd-soc-dummy";
                    	status = "okay";
                	};
            };
        };
    
    
        fragment@2 {
    		target-path = "/";
    		__overlay__ {
    				sound {
    	            	compatible = "simple-audio-card";
        	        	simple-audio-card,name = "simple-card-test";
                    	status = "okay";
        	        	simple-audio-card,cpu {
        	        	    sound-dai = <&i2s0>;
        	        	};
        	        	simple-audio-card,codec {
        	        	    sound-dai = <&codec_dummy>;
    					};
    				};
            };
        };
    
    
    };

     

    Uboot is not complaining on boot

    Found U-Boot script /boot/boot.scr
    3708 bytes read in 203 ms (17.6 KiB/s)
    ## Executing script at 43100000
    U-boot loaded from SD
    Boot script loaded from mmc
    237 bytes read in 164 ms (1000 Bytes/s)
    5700002 bytes read in 539 ms (10.1 MiB/s)
    6790768 bytes read in 610 ms (10.6 MiB/s)
    Found mainline kernel configuration
    31409 bytes read in 1097 ms (27.3 KiB/s)
    1164 bytes read in 169 ms (5.9 KiB/s)
    Applying user provided DT overlay simple-codec-overlay.dtbo
    4179 bytes read in 686 ms (5.9 KiB/s)
    Applying kernel provided DT fixup script (sun8i-h3-fixup.scr)
    ## Executing script at 44000000
    ## Loading init Ramdisk from Legacy Image at 43300000 ...

     

    but I2S0 is not present, either with aplay -l nor in dmesg.

     

    Is there something that I need to change in my overlay or is some kind of bug?..

     

     

    uboot.txt

    simple-codec-overlay.dts

    dmesg.txt

  12. 13 minutes ago, zador.blood.stained said:

    Not yet. You need to activate the i2s but, set up pin multiplexing (using pinctrl* properties) and pair it with a coded using simple-audio-card. AFAIK there is no "generic" codec available so you'll have to choose something compatible and enabled in the kernel config.

     

     

     

    Hmm.. tried by using the 'snd-soc-dummy' generic linux codec, as you mention this might not be present, right?

     

    For pins,  it looks they are already patched in when I do the 'Mainline' build selection.

    -> https://github.com/armbian/build/blob/master/patch/kernel/sunxi-next/00-20-add-i2s-DT-pins.patch

    Since this patch is there, do I need to do anything more for them?

     

     

  13. Hi,

     

    OPiPC with latest mainline (ARMBIAN 5.34 user-built Ubuntu 16.04.3 LTS 4.13.12-sunxi).

    Need to test the I2S0. From what I see in patches, the I2S driver code is already there so I just need an overlay to use it.

     

    Is there any DT overlay for using the H3 I2S0 with any codec ?

    Even as a generic simple-audio-codec ?

     

    Christos

     

×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines