phytec / meta-phytec Goto Github PK
View Code? Open in Web Editor NEWmirror of
Home Page: https://git.phytec.de/meta-phytec
License: MIT License
mirror of
Home Page: https://git.phytec.de/meta-phytec
License: MIT License
imx-atf 2.4 has now been updated to 2.6 in meta-freescale so the 2.4 bbappend can be removed.
See
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
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
\ {
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
This is a short test issue.
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
Hello,
our build fails due to error Could not inherit file classes/image-types-partup.bbclass
. I could not find this file anywhere. Is this file perhaps missing?
I'm working on dunfell branch and using barebox 2018.11.0.
According to this commit crc checksum was added into the metadata but -C flag is only available for newer versions.
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)?
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
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?
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
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))
In meta-freescale, imx-atf got updated to version 2.4 few days ago (see Freescale/meta-freescale@8acd449) so the imx-atf bbappend in dynamic-layers/freescale-layer/recipes-bsp/imx-atf should also be udpated.
Hello,
I'm getting other checksums than the ones specified in the nxp-cst recipe:
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:
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?
ERROR: Nothing PROVIDES 'python' (but /yocto-build/meta-phytec/recipes-bsp/u-boot/u-boot-imx_2020.04_2.3.2-phy7.bb DEPENDS on or otherwise requires it). Close matches:
python3
python3-py
python3-sh
The used poky version tag is "yocto-3.1.11". Am I missing a dependency?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.