Coder Social home page Coder Social logo

meta-phytec's People

Contributors

andrejpicej avatar aschwarzkopf-phytec avatar atanasbunchev avatar bhahn42618 avatar bwestermann avatar ceggers-arri avatar cpaphytec avatar ctenruh-phytec avatar denix0 avatar dnltz avatar dominiknh90 avatar everythingelsewasalreadytaken avatar faulischlumpf avatar ggiordano32 avatar jremmet avatar landerweit-phytec avatar motto-phytec avatar mschwan-phytec avatar ngmorrisson avatar ninetec avatar pfiser avatar s-hemer avatar smk-embedded avatar sriedmueller avatar svlstriker avatar tremmet avatar varakala02 avatar wdmegrv avatar ymoog avatar yubas28 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

meta-phytec's Issues

am335x dev board which machine to use

Hello, I have dev kit PCM953 and am335x module PCM-051 (on module is written 1358.3) I would like to build yocto but cannot somehow identify which machine should I use for this machine type. Can you please give me some hint which machine to use? Thanks

TLV320AIC3106: m_read:2221: read error: Input/output error

I'd like to share my problem when I moved device tree and kernel from linux 4.14 to 5.15.

I'm using am335xx as base and have TLV320AIC3106 codec. Previously I was using yocto dunfell with kernel 4.14 I didn't have any problem with these device tree configurations.

/{
...
    regulators {
    	compatible = "simple-bus";
    
    	vcc3v3: fixedregulator@1 {
    		compatible = "regulator-fixed";
    		regulator-name = "vcc3v3";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    	};
    };
    sound {
    	compatible = "ti,da830-evm-audio";
    	ti,model = "AM335x-EVM";
    	ti,audio-codec = <&audio_codec>;
    	ti,mcasp-controller = <&mcasp0>;
    	ti,codec-clock-rate = <12000000>;
    	ti,audio-routing =
    		"LINE1L",               "Line In",
    		"LINE2L",               "Line In",
    		"LINE1R",               "Line In",
    		"LINE2R",               "Line In";
    	clocks = <&mcasp0_fck>;
    	clock-names = "mclk";
    };
};

&i2c0 {
	audio_codec: tlv320aic3106@18 {
		compatible = "ti,tlv320aic3106";
		reg = <0x18>;
		ai3x-micbias-vg = <0x0>;
		status = "okay";
	};
};

&am33xx_pinmux {
	audio_pins: pinmux_audio {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x9AC, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp0_ahclkx.mcasp0_ahclkx */
			AM33XX_IOPAD(0x990, PIN_INPUT_PULLDOWN | MUX_MODE0)  /* mcasp0_aclkx.mcasp0_aclkx */
			AM33XX_IOPAD(0x994, PIN_INPUT_PULLDOWN | MUX_MODE0)  /* mcasp0_fsx.mcasp0_fsx */
			AM33XX_IOPAD(0x998, PIN_INPUT_PULLDOWN | MUX_MODE0)  /* mcasp0_axr0.mcasp0_axr0 */
			AM33XX_IOPAD(0x9A8, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp0_axr1.mcasp0_axr1 */
		>;
	};
};

&mcasp0 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&audio_pins>;

	op-mode = <0>;	/* MCASP_ISS_MODE */
	tdm-slots = <2>;
	serial-dir = <
		2 1 0 0
	>;
	tx-num-evt = <2>;
	rx-num-evt = <2>;
};
...

and I can use aplay in order to capture sounds

# aplay -vvv -C -D hw:0,0 -r 16000 -f S16_LE -c 2 /tmp/a.wav

Recording WAVE '/tmp/a.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Stereo
Hardware PCM card 0 'AM335x-EVM' device 0 subdevice 0
Its setup is:
  stream       : CAPTURE
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 16000
  exact rate   : 16000 (16000/1)
  msbits       : 16
  buffer_size  : 8000
  period_size  : 2000
  period_time  : 125000
  tstamp_mode  : NONE
  tstamp_type  : MONOTONIC
  period_step  : 1
  avail_min    : 2000
  period_event : 0
  start_threshold  : 1
  stop_threshold   : 8000
  silence_threshold: 0
  silence_size : 0
  boundary     : 2097152000
  appl_ptr     : 0
  hw_ptr       : 0
Max peak (4000 samples): 0x000000d0 #                    0%
Max peak (4000 samples): 0x000000f1 #                    0%
Max peak (4000 samples): 0x000000d4 #                    0%
Max peak (4000 samples): 0x000000d6 #                    0%
Max peak (4000 samples): 0x000000db #                    0%
Max peak (4000 samples): 0x000000d2 #                    0%
Max peak (4000 samples): 0x0000017d #                    1%
Max peak (4000 samples): 0x0000013e #                    0%
Max peak (4000 samples): 0x00000154 #                    1%
Max peak (4000 samples): 0x00000149 #                    1%
Max peak (4000 samples): 0x00000160 #                    1%





lsmod:


~# lsmod
Module                  Size  Used by
cn                     16384  1
snd_soc_evm            16384  1
snd_soc_davinci_mcasp    24576  2
snd_soc_tlv320aic3x    49152  1
snd_soc_edma           16384  1 snd_soc_davinci_mcasp
snd_soc_omap           16384  1 snd_soc_davinci_mcasp
snd_soc_core          118784  5 snd_soc_davinci_mcasp,snd_soc_edma,snd_soc_evm,snd_soc_omap,snd_soc_tlv320aic3x
snd_pcm_dmaengine      16384  2 snd_soc_omap,snd_soc_core
snd_pcm                81920  6 snd_soc_davinci_mcasp,snd_pcm_dmaengine,snd_soc_omap,snd_soc_core,snd_soc_tlv320aic3x
snd_timer              28672  1 snd_pcm
snd                    49152  4 snd_timer,snd_soc_core,snd_pcm
soundcore              16384  1 snd
cpufreq_dt             16384  0
cryptodev              45056  0
  • The things are changed when we tried to use latest simple-audio-card driver.
\ {
	regulators {
		compatible = "simple-bus";

		vcc3v3: fixedregulator@1 {
			compatible = "regulator-fixed";
			regulator-name = "vcc3v3";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
		};
	};

	sound {
		compatible = "simple-audio-card";
		simple-audio-card,name = "snd-ddi";
		simple-audio-card,widgets =
			"Line", "Line In";
		simple-audio-card,routing =
					"LINE1L", "Line In",
					"LINE2L", "Line In",
					"LINE1R", "Line In",
					"LINE2R", "Line In";
		simple-audio-card,format = "i2s";
		simple-audio-card,bitclock-master = <&sound_codec>;
		simple-audio-card,frame-master = <&sound_codec>;
		simple-audio-card,mclk-fs = <32>;

		sound_cpu: simple-audio-card,cpu {
			sound-dai = <&mcasp0>;
		};

		sound_codec: simple-audio-card,codec {
			sound-dai = <&tlv320aic3106>;
			clocks = <&mcasp0_fck>;
		};
	};
};

&i2c0 {
	tlv320aic3106: tlv320aic3106@18 {
		#sound-dai-cells = <0>;
		compatible = "ti,tlv320aic3106";
		reg = <0x18>;
		status = "okay";

		/* Regulators */
		AVDD-supply = <&vcc3v3>;
		IOVDD-supply = <&vcc3v3>;
		DRVDD-supply = <&vcc3v3>;
		DVDD-supply = <&vdig1_reg>;
	};
};

&vdig1_reg {
	regulator-boot-on;
	regulator-always-on;
};

&mcasp0 {
	#sound-dai-cells = <0>;
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&mcasp0_pins>;

	op-mode = <0>;	/* MCASP_ISS_MODE */
	tdm-slots = <2>;
	serial-dir = <
		2 1 0 0
	>;
	tx-num-evt = <2>;
	rx-num-evt = <2>;
};

for this dts, I always get pcm_read error

~# lsmod

Module                  Size  Used by
snd_soc_simple_card    16384  1
snd_soc_simple_card_utils    20480  1 snd_soc_simple_card
snd_soc_davinci_mcasp    28672  2
snd_soc_ti_udma        16384  1 snd_soc_davinci_mcasp
snd_soc_ti_edma        16384  1 snd_soc_davinci_mcasp
snd_soc_ti_sdma        16384  1 snd_soc_davinci_mcasp
snd_soc_tlv320aic3x_i2c    16384  1
snd_soc_tlv320aic3x    53248  1 snd_soc_tlv320aic3x_i2c
snd_soc_core          147456  7 snd_soc_davinci_mcasp,snd_soc_simple_card_utils,snd_soc_ti_sdma,snd_soc_ti_edma,snd_soc_tlv320aic3x,snd_soc_ti_udma,snd_soc_simple_card
snd_pcm_dmaengine      16384  1 snd_soc_core
snd_pcm                94208  5 snd_soc_davinci_mcasp,snd_pcm_dmaengine,snd_soc_core,snd_soc_tlv320aic3x
snd_timer              28672  1 snd_pcm
snd                    57344  4 snd_timer,snd_soc_core,snd_pcm
soundcore              16384  1 snd
cfg80211              307200  0
cpufreq_dt             16384  0



~# aplay -vvv -C -D hw:0,0 -r 16000 -f S16_LE -c 2 /tmp/a.wav
Recording WAVE '/tmp/a.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Stereo
Hardware PCM card 0 'snd-ddi' device 0 subdevice 0
Its setup is:
  stream       : CAPTURE
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 16000
  exact rate   : 16000 (16000/1)
  msbits       : 16
  buffer_size  : 8000
  period_size  : 2000
  period_time  : 125000
  tstamp_mode  : NONE
  tstamp_type  : MONOTONIC
  period_step  : 1
  avail_min    : 2000
  period_event : 0
  start_threshold  : 1
  stop_threshold   : 8000
  silence_threshold: 0
  silence_size : 0
  boundary     : 2097152000
  appl_ptr     : 0
  hw_ptr       : 0
arecord: pcm_read:2221: read error: Input/output error

What do you suggest in order to investigate problem and solve it? I used here as reference: https://git.phytec.de/linux-mainline/tree/arch/arm/boot/dts/am335x-wega.dtsi?h=v5.15.82-phy

Test

This is a short test issue.

meta-freescale is not listed as dependency

without meta-freescale a build fails with

ERROR: Unable to start bitbake server (None)
ERROR: Server log for this session (/yocto-build/build/bitbake-cookerdaemon.log):
--- Starting bitbake server pid 185 at 2021-11-19 14:11:10.613496 ---
ERROR: ParseError at /yocto-build/meta-phytec/conf/machine/phyboard-polis-imx8mm-4.conf:8: Could not include required file conf/machine/include/imx-base.inc

Linux 5.18 kernel unable to read from NAND on i.MX6Q phycore SOM

Hi,

I recently updated the Linux kernel (linux-fslc) on our i.MX6Q phycore SOM to version 5.18 and I encounter some issues. More specifically in the bootlog I see there are no bad block tables found anymore. When comparing to the bootlog of a 5.15 kernel, here are the differences:

[    0.000000] Linux version 5.18.3 (oe-user@oe-host) (arm-puppy-linux-gnueabi-gcc (GCC) 12.1.0, GNU ld (GNU Binutils) 2.38.20220516) #1 SMP Thu Jun 9 19:48:48 UTC 2022
...
[    2.519208] nand: device found, Manufacturer ID: 0x01, Chip ID: 0xd3
[    2.525807] nand: AMD/Spansion S34ML08G2
[    2.529786] nand: 1024 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 128
[    2.544941] Bad block table not found for chip 0
[    2.553694] Bad block table not found for chip 0
[    2.558526] Scanning device for bad blocks
[    6.800208] Bad block table written to 0x00003ffe0000, version 0x01
[    6.808571] Bad block table written to 0x00003ffc0000, version 0x01
...
[    8.366735] ubi0: default fastmap pool size: 256
[    8.371471] ubi0: default fastmap WL pool size: 128
[    8.376441] ubi0: attaching mtd2
[    8.744289] ubi0 warning: ubi_io_read: error -74 (ECC error) while reading 64 bytes from PEB 0:0, read only 64 bytes, retry
[    8.755985] ubi0 warning: ubi_io_read: error -74 (ECC error) while reading 64 bytes from PEB 0:0, read only 64 bytes, retry
[    8.767567] ubi0 warning: ubi_io_read: error -74 (ECC error) while reading 64 bytes from PEB 0:0, read only 64 bytes, retry
[    8.779105] ubi0 error: ubi_io_read: error -74 (ECC error) while reading 64 bytes from PEB 0:0, read 64 bytes
[    8.789112] CPU: 3 PID: 1 Comm: swapper/0 Not tainted 5.18.3 #1
[    8.795054] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
[    8.801598]  unwind_backtrace from show_stack+0x10/0x14
[    8.806854]  show_stack from dump_stack_lvl+0x80/0x90
[    8.811933]  dump_stack_lvl from ubi_io_read+0x134/0x2f8
[    8.817265]  ubi_io_read from ubi_io_read_ec_hdr+0x48/0x234
[    8.822856]  ubi_io_read_ec_hdr from scan_peb+0x68/0x7e4
[    8.828187]  scan_peb from ubi_attach+0x184/0x378
[    8.832909]  ubi_attach from ubi_attach_mtd_dev+0x580/0xb9c
[    8.838510]  ubi_attach_mtd_dev from ubi_init+0x164/0x224
[    8.843934]  ubi_init from do_one_initcall+0x68/0x428
[    8.849009]  do_one_initcall from kernel_init_freeable+0x178/0x224
[    8.855216]  kernel_init_freeable from kernel_init+0x14/0x140
[    8.860987]  kernel_init from ret_from_fork+0x14/0x28
[    8.866061] Exception stack(0xf083dfb0 to 0xf083dff8)
[    8.871129] dfa0:                                     00000000 00000000 00000000 00000000
[    8.879321] dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    8.887511] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000
[    8.894709] ubi0 warning: ubi_io_read: error -74 (ECC error) while reading 64 bytes from PEB 1:0, read only 64 bytes, retry
[    8.906245] ubi0 warning: ubi_io_read: error -74 (ECC error) while reading 64 bytes from PEB 1:0, read only 64 bytes, retry
[    8.917808] ubi0 warning: ubi_io_read: error -74 (ECC error) while reading 64 bytes from PEB 1:0, read only 64 bytes, retry
[    8.929367] ubi0 error: ubi_io_read: error -74 (ECC error) while reading 64 bytes from PEB 1:0, read 64 bytes

[    0.000000] Linux version 5.15.32 (oe-user@oe-host) (arm-puppy-linux-gnueabi-gcc (GCC) 11.3.0, GNU ld (GNU Binutils) 2.38.20220313) #1 SMP Mon Apr 4 11:11:23 UTC 2022
...
[    2.555871] nand: device found, Manufacturer ID: 0x01, Chip ID: 0xd3
[    2.562486] nand: AMD/Spansion S34ML08G2
[    2.566466] nand: 1024 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 128
[    2.578328] Bad block table found at page 524224, version 0x01
[    2.590426] Bad block table found at page 524160, version 0x01
...
[    4.150045] ubi0: default fastmap pool size: 256
[    4.154781] ubi0: default fastmap WL pool size: 128
[    4.159729] ubi0: attaching mtd2
[    4.377529] ubi0: attached by fastmap
[    4.381420] ubi0: fastmap pool size: 256
[    4.385367] ubi0: fastmap WL pool size: 128
[    4.428856] ubi0: attached mtd2 (name "root", size 1007 MiB)
[    4.434635] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    4.441588] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    4.448398] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    4.455447] ubi0: good PEBs: 8052, bad PEBs: 4, corrupted PEBs: 0

I tested the above on 2 devices and both had the same issue so I don't think it's device specific. Also, barebox is still able to read from NAND so the flash is not broken or anything.

With kernel 5.18, after a "failed" boot, barebox also starts to complain about bad block tables not being found:

barebox 2021.04.0 #1 Wed Jun 8 07:54:17 UTC 2022

Bad block table not found for chip 0
Bad block table not found for chip 0

so for both reading/writing from/to nand, it looks like the 5.18 kernel is doing something but it's having issues.

Could somebody try the 5.18 kernel on a i.MX6Q phycore SOM with NAND and confirm the above issue or is it maybe an issue on our side (incorrect device tree)?

Problem in phytec-am335x for bareboxenv tool

Hi All,
I am working on phytec-am335x. I want to modify or change the environment variables so i enable the build bareboxenv tool for target from menuconfig of barebox but after that when i tried to bitbake the barebox it gave following error

/junaid/1-TB-HDD/forklifter-data/build_fork/tmp/work/phycore_am335x_4-poky-linux-gnueabi/barebox/2018.11.0-phy3-r7.0/git/scripts/bareboxenv.c:20:10: fatal error: stdio.h: No such file or directory
|    20 | #include <stdio.h>
|       |          ^~~~~~~~~
| compilation terminated.
| make[3]: *** [/media/junaid/1-TB-HDD/forklifter-data/build_fork/tmp/work/phycore_am335x_4-poky-linux-gnueabi/barebox/2018.11.0-phy3-r7.0/git/scripts/Makefile:58: scripts/bareboxenv-target] Error 1
| make[2]: *** [/media/junaid/1-TB-HDD/forklifter-data/build_fork/tmp/work/phycore_am335x_4-poky-linux-gnueabi/barebox/2018.11.0-phy3-r7.0/git/Makefile:426: scripts] Error 2
| make[1]: *** [Makefile:123: all] Error 2
| make: *** [Makefile:24: __sub-make] Error 2
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.

I also install the pakages libc6-dev also the build-essential again but still same error.
Can anyone guide me to resolve this issue

Thanks

Invalid linux-mainline_5.10.%.bbappend

Current hardknott branch (and I guess master as well) breaks our yocto builds with the following error:

ERROR: No recipes in default available for:
.../sta_phycore/sources/poky/../meta-phytec/recipes-kernel/linux/linux-mainline_5.10.%.bbappend

This commit e12aff1 introduced linux-mainline_5.10.%.bbappend.
I did a search and could not find any linux-mainline_5.10.*.bb file. Is it supposed to be in another layer that we are missing?

Not deterministic behavior in patch tree append

for filename in (f for f in os.listdir(dir)):
uses os.listdir, which is in the end depending on the inode order of the underlying fs. Therefore you could have different results on different hosts (or even on the same host at different points in time)

Either sort the list using sorted(os.listdir(...)) or find another alternative to make the function reproducible.

And I think this function needs some further treatment... here are my suggestions

  • remove the print call or replace it with bb.debug or bb.note
  • rework the whole block of
for filename in (f for f in os.listdir(dir)):
    path = os.path.join(dir, filename)
    print(path, filename)

    if os.path.isfile(path) and filename.endswith(".patch"):
        # TODO Escape evil characters ;-)
        src_uri_patches.append("file://" + filename)

to

for filename in sorted(glob.glob(os.path.join(dir, "*.patch"))):
   if os.os.path.isfile(filename):
       src_uri_patches.append("file://%s" % os.path.relpath(d.getVar("WORKSPACE"), filename))

nxp-cst_3.3.1: incorrect checksum

Hello,

I'm getting other checksums than the ones specified in the nxp-cst recipe:

SRC_URI[tarball.md5sum] = "2b17b55aa3d5527e26e80e057cd7c792"

Here is what I get:

# md5sum cst-3.3.1.t*
830965fe59a0e9c505fd18c7d2e60dbd  cst-3.3.1.tar
01252d388a69d970af447d2b2b8a76b4  cst-3.3.1.tgz
# sha256sum cst-3.3.1.t*
8cf41fb146298a9caa14e3db9aec1c7e0f0279ddc51ee3f7d76770287032e7a3  cst-3.3.1.tar
1efdddda50cf36bc1e48d78a9601ba33db0cc2203ff1086c4b373f94b9366464  cst-3.3.1.tgz

The .tar is created via gunzip -k cst-3.3.1.tgz.

Also the URL in the recipe is pointing to IMX_CST_TOOL where you can download v3.1.0:

https://www.nxp.com/webapp/Download?colCode=IMX_CST_TOOL \

However, the arch package https://aur.archlinux.org/packages/imx-code-signing-tool/ learned me that v3.3.1 can be found at IMX_CST_TOOL_NEW.

Is it possible to verify the checksums and update the recipe if needed?

Edit:
I'm gonna guess NXP modified the 3.3.1 release later on. This is what I get with the 3.3.1 I just downloaded from the NXP website:

# tar -xzf cst-3.3.1.tgz
# find ./cst-3.3.1 -newermt 2020-09-14 -type f -exec stat -c '%y %n' {} \;
2021-03-12 21:19:13.000000000 +0100 ./cst-3.3.1/code/back_end-engine/src/Makefile
2021-03-12 21:17:49.000000000 +0100 ./cst-3.3.1/code/back_end-engine/src/backend.c
2021-03-12 21:18:52.000000000 +0100 ./cst-3.3.1/code/back_end-engine/src/include/adapt_layer.h
2021-03-12 21:20:15.000000000 +0100 ./cst-3.3.1/code/back_end-engine/src/include/openssl_helper.h
2021-03-12 21:17:32.000000000 +0100 ./cst-3.3.1/code/back_end-engine/src/openssl_helper.c

The checksums for recipe nxp-cst_3.3.1.bb were added in 8aad7a3 at September 14, 2020, however the current tgz release I downloaded contains files with a last modification date at March 12, 2021. Can someone verify this?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.