Quantcast
Channel: Processors forum - Recent Threads
Viewing all 17527 articles
Browse latest View live

RTOS/TDA2EVM5777: How to detect SD card insert/remove event in VisionSDK

$
0
0

Part Number:TDA2EVM5777

Tool/software: TI-RTOS

Dear Expert,

I'm helping to provide a method to detect SD card(MMC1) insert/remove in VisionSDK bios_all. I'm using original VisionSDK 03.06 with TDA2XEVM5777.

Here is my test:

  1. Build the original VisionSDK 3.6 bios_all, and boot to menu, dump the MMC register, then unplug sdcard, dump the MMC register. Nothing changed between before and after.
  2. Since the register is no change, I tried to call HSMMCSDIsCardInserted API, and get incorrect result.

Could you please help provide some guideline to detect a SD card event on bios_all.

Thanks & Best Regards!

ZM


Linux/DRA745: PSDK0304: add systemd-analyze

$
0
0

Part Number:DRA745

Tool/software: Linux

Hi,experts,

I want to add systemd-analyze support in filesyte. searched the Yocto and found  

./build/arago-tmp-external-linaro-toolchain/sysroots/dra7xx-evm/usr/share/bash-completion/completions/systemd-analyze
./build/arago-tmp-external-linaro-toolchain/sysroots/dra7xx-evm/pkgdata/runtime/systemd-analyze

How could I add this support?

Widic

Linux/PROCESSOR-SDK-DRA7X: Time line: Processor_SDK_Android_Automotive version "P" (Pastry)

$
0
0

Part Number:PROCESSOR-SDK-DRA7X

Tool/software: Linux

Hi Champs, 

do you have a time line when version Pastry will be available for Jacinto 6 devices?

Many thanks, 

Thorsten

TMS320C6748: Issues when writing AIS on a NOR flash memory with the Serial Boot and Flash Loading Utility

$
0
0

Part Number:TMS320C6748

 

Hi,

We are using the Serial Boot and Flash Loading Utility (sft) in order to, via the UART, write an AIS in a NOR flash memory so we can boot from it later.

Here is the process we are following with the result we get:

As you can see is the CFI Query what is supposed to be failing, thus the NOR_open() function fails too.

The points is that we are monitoring the communication between the DSP and the NOR (by reading the EMIF buses with a digital analyzer) and apparently the NOR is answering the CFI Query properly, but the code used by the SFT to check it seem to be expecting another answer because keeps querying the CFI in 8 and 16 bits mode until it stops and indicates a failure.


Could you tell us where could we find the code used by the SFT to write on the NOR (in the StarterWare we only found the NAND_writer and the SPI_writer) and/or what is the NOR supposed to be answering so the DSP start to write on it?

Do you have any clue of what is going on?

Thanks in advance,

Juan

 

Linux/AM3359: AM335x Linux PRU-ICSS Ethernet driver

$
0
0

Part Number:AM3359

Tool/software: Linux

Hi Team,  I come with some problem in Sitara AM3357 development.

Problem descripiton:

Can't Find the PRU Ethernet Device in the Linux Envoriment !

Hardware description:

Our application base on the custom board which we designed according to TIMSK3359ICEV2.

Pins of PRU-ETH is shown as:


 

Software description:

1 gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf 

and

2 am335x-evm-linux-rt-sdk-src-04.03.00.05

and

3 the file system is created by buildroot, and we also test with the ti's file system "Arago".

4 device tree associate with PRU-ETH is shown as

/* Dual mac ethernet application node on icss */
pruss_eth {
compatible = "ti,am3359-prueth";
pruss = <&pruss>;
sram = <&ocmcram>;
interrupt-parent = <&pruss_intc>;
status = "okey";

pinctrl-0 = <&pruss_eth_default>;
pinctrl-names = "default";

pruss_emac0: ethernet-mii0 {
phy-handle = <&pruss_eth0_phy>;
phy-mode = "mii";
interrupts = <20>, <22>;
interrupt-names = "rx", "tx";
/* Filled in by bootloader */
local-mac-address = [00 00 00 00 00 00];
};

pruss_emac1: ethernet-mii1 {
phy-handle = <&pruss_eth1_phy>;
phy-mode = "mii";
interrupts = <21>, <23>;
interrupt-names = "rx", "tx";
/* Filled in by bootloader */
local-mac-address = [00 00 00 00 00 00];
};
};

pruss_mdio_default: pruss_mdio_default {
pinctrl-single,pins = <
AM33XX_IOPAD(0x88c, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_clk.pr1_mdio_mdclk */
AM33XX_IOPAD(0x888, (PIN_INPUT | MUX_MODE5)) /* gpmc_csn3.pr1_mdio_data */
>;
};

pruss_eth_default: pruss_eth_default {
pinctrl-single,pins = <
0x20 ( PIN_INPUT | MUX_MODE5 ) /* (U10) gpmc_ad8.pr1_mii_mt0_clk */
0x38 ( PIN_OUTPUT | MUX_MODE5 ) /* (V13) gpmc_ad14.pr1_mii0_txd0 */
0x34 ( PIN_OUTPUT | MUX_MODE5 ) /* (R12) gpmc_ad13.pr1_mii0_txd1 */
0x30 ( PIN_OUTPUT | MUX_MODE5 ) /* (T12) gpmc_ad12.pr1_mii0_txd2 */
0x2c ( PIN_OUTPUT | MUX_MODE5 ) /* (U12) gpmc_ad11.pr1_mii0_txd3 */
0xcc ( PIN_INPUT | MUX_MODE5 ) /* (U4) lcd_data11.pr1_mii0_rxd0 */
0xc8 ( PIN_INPUT | MUX_MODE5 ) /* (U3) lcd_data10.pr1_mii0_rxd1 */
0xc4 ( PIN_INPUT | MUX_MODE5 ) /* (U2) lcd_data9.pr1_mii0_rxd2 */
0xc0 ( PIN_INPUT | MUX_MODE5 ) /* (U1) lcd_data8.pr1_mii0_rxd3 */
0x28 ( PIN_OUTPUT | MUX_MODE5 ) /* (T11) gpmc_ad10.pr1_mii0_txen */
0xd8 ( PIN_INPUT | MUX_MODE5 ) /* (V4) lcd_data14.pr1_mii_mr0_clk */
0xdc ( PIN_INPUT | MUX_MODE5 ) /* (T5) lcd_data15.pr1_mii0_rxdv */
0xd4 ( PIN_INPUT | MUX_MODE5 ) /* (V3) lcd_data13.pr1_mii0_rxer */
0xd0 ( PIN_INPUT | MUX_MODE5 ) /* (V2) lcd_data12.pr1_mii0_rxlink */
0xe8 ( PIN_INPUT | MUX_MODE2 ) /* (V5) lcd_pclk.pr1_mii0_crs */
0x24 ( PIN_INPUT | MUX_MODE5 ) /* (T10) gpmc_ad9.pr1_mii0_col */

AM33XX_IOPAD(0x840, (PIN_INPUT | MUX_MODE5)) /* gpmc_a0.pr1_mii_mt1_clk */
AM33XX_IOPAD(0x850, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a4.pr1_mii1_txd0 */
AM33XX_IOPAD(0x84c, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a3.pr1_mii1_txd1 */
AM33XX_IOPAD(0x848, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a2.pr1_mii1_txd2 */
AM33XX_IOPAD(0x844, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a1.pr1_mii1_txd3 */
AM33XX_IOPAD(0x860, (PIN_INPUT | MUX_MODE5)) /* gpmc_a8.pr1_mii1_rxd0 */
AM33XX_IOPAD(0x85c, (PIN_INPUT | MUX_MODE5)) /* gpmc_a7.pr1_mii1_rxd1 */
AM33XX_IOPAD(0x858, (PIN_INPUT | MUX_MODE5)) /* gpmc_a6.pr1_mii1_rxd2 */
AM33XX_IOPAD(0x854, (PIN_INPUT | MUX_MODE5)) /* gpmc_a5.pr1_mii1_rxd3 */
AM33XX_IOPAD(0x874, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_wpn.pr1_mii1_txen */
AM33XX_IOPAD(0x864, (PIN_INPUT | MUX_MODE5)) /* gpmc_a9.pr1_mii_mr1_clk */
AM33XX_IOPAD(0x868, (PIN_INPUT | MUX_MODE5)) /* gpmc_a10.pr1_mii1_rxdv */
AM33XX_IOPAD(0x86c, (PIN_INPUT | MUX_MODE5)) /* gpmc_a11.pr1_mii1_rxer */
AM33XX_IOPAD(0x878, (PIN_INPUT | MUX_MODE5)) /* gpmc_ben1.pr1_mii1_rxlink */
AM33XX_IOPAD(0x8ec, (PIN_INPUT | MUX_MODE2)) /* lcd_ac_bias_en.pr1_mii1_crs */
AM33XX_IOPAD(0x870, (PIN_INPUT | MUX_MODE5)) /* gpmc_wait0.pr1_mii1_col */
>;
};

&pruss_soc_bus {
status = "okay";

pruss: pruss@4a300000 {
status = "okay";

pru0: pru@4a334000 {
status = "okay";
};

pru1: pru@4a338000 {
status = "okay";
};
};
};

&pruss_mdio {
pinctrl-0 = <&pruss_mdio_default>;
pinctrl-names = "default";
reset-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>;
reset-delay-us = <2>; /* PHY datasheet states 1uS min */
status = "okay";

pruss_eth0_phy: ethernet-phy@1 {
reg = <1>;
};

pruss_eth1_phy: ethernet-phy@0 {
reg = <0>;
};
};

&sham {
status = "okay";
};

Experiment result:

linux kernel boot information is shown as:

Starting kernel ...

[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.9.65-rt23-g7069a470d5 (root@voss) (gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11) ) #2 PREEMPT RT Mon Apr 15 11:14:00 EDT 2019
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt:Machine model: TI AM3359 ICE-V2
[ 0.000000] efi: Getting EFI parameters from FDT:
[ 0.000000] efi: UEFI not found.
[ 0.000000] cma: Reserved 48 MiB at 0x8b800000
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] CPU: All CPU(s) started in SVC mode.
[ 0.000000] AM335X ES2.1 (neon)
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 64960
[ 0.000000] Kernel command line: console=ttyS0,115200n8 root=ubi0:rootfs rw ubi.mtd=7,2048 noinitrd rootfstype=ubifs ubi.fm_autoconvert=1
[ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Memory: 198312K/262144K available (7168K kernel code, 281K rwdata, 2260K rodata, 1024K init, 298K bss, 14680K reserved, 49152K cma-reserved, 0K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xd0800000 - 0xff800000 ( 752 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc0800000 (8160 kB)
[ 0.000000] .init : 0xc0b00000 - 0xc0c00000 (1024 kB)
[ 0.000000] .data : 0xc0c00000 - 0xc0c46420 ( 282 kB)
[ 0.000000] .bss : 0xc0c46420 - 0xc0c90d84 ( 299 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] RCU kthread priority: 1.
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[ 0.000000] OMAP clockevent source: timer2 at 24000000 Hz
[ 0.000016] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000029] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000036] OMAP clocksource: timer1 at 24000000 Hz
[ 0.000204] clocksource_probe: no matching clocksources found
[ 0.000399] Console: colour dummy device 80x30
[ 0.089075] Calibrating delay loop... 795.44 BogoMIPS (lpj=3977216)
[ 0.089081] pid_max: default: 32768 minimum: 301
[ 0.089220] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.089227] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.090232] CPU: Testing write buffer coherency: ok
[ 0.090614] Setting up static identity map for 0x80100000 - 0x80100060
[ 0.091931] EFI services will not be available.
[ 0.093381] devtmpfs: initialized
[ 0.106814] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[ 0.107260] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.107297] futex hash table entries: 256 (order: 1, 8192 bytes)
[ 0.111693] pinctrl core: initialized pinctrl subsystem
[ 0.113163] NET: Registered protocol family 16
[ 0.115753] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.189200] OMAP GPIO hardware version 0.1
[ 0.204583] omap-gpmc 50000000.gpmc: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/nandflash_pins_s0, deferring probe
[ 0.206860] No ATAGs?
[ 0.206881] hw-breakpoint: debug architecture 0x4 unsupported.
[ 0.224905] edma 49000000.edma: TI EDMA DMA engine driver
[ 0.228815] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring probe
[ 0.228958] media: Linux media interface: v0.10
[ 0.229021] Linux video capture interface: v2.00
[ 0.229234] pps_core: LinuxPPS API ver. 1 registered
[ 0.229245] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.229283] PTP clock support registered
[ 0.229333] EDAC MC: Ver: 3.0.0
[ 0.230498] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
[ 0.230875] Advanced Linux Sound Architecture Driver Initialized.
[ 0.232114] clocksource: Switched to clocksource timer1
[ 0.244392] NET: Registered protocol family 2
[ 0.245370] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.245421] TCP bind hash table entries: 2048 (order: 3, 49152 bytes)
[ 0.245524] TCP: Hash tables configured (established 2048 bind 2048)
[ 0.245617] UDP hash table entries: 256 (order: 2, 16384 bytes)
[ 0.245655] UDP-Lite hash table entries: 256 (order: 2, 16384 bytes)
[ 0.245866] NET: Registered protocol family 1
[ 0.246427] RPC: Registered named UNIX socket transport module.
[ 0.246445] RPC: Registered udp transport module.
[ 0.246452] RPC: Registered tcp transport module.
[ 0.246458] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.247530] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
[ 0.250219] workingset: timestamp_bits=14 max_order=16 bucket_order=2
[ 0.259290] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.260442] NFS: Registering the id_resolver key type
[ 0.260496] Key type id_resolver registered
[ 0.260505] Key type id_legacy registered
[ 0.260564] ntfs: driver 2.1.32 [Flags: R/O].
[ 0.262976] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[ 0.263002] io scheduler noop registered
[ 0.263009] io scheduler deadline registered
[ 0.263182] io scheduler cfq registered (default)
[ 0.264583] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
[ 0.337825] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
[ 0.341710] console [ttyS0] disabled
[ 0.341876] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 158, base_baud = 3000000) is a 8250
[ 0.908626] console [ttyS0] enabled
[ 0.913523] 48022000.serial: ttyS1 at MMIO 0x48022000 (irq = 159, base_baud = 3000000) is a 8250
[ 0.924409] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
[ 0.931224] [drm] Initialized
[ 0.950561] brd: module loaded
[ 0.961322] loop: module loaded
[ 0.967573] libphy: Fixed MDIO Bus: probed
[ 1.042216] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
[ 1.048354] davinci_mdio 4a101000.mdio: detected phy mask fffffffd
[ 1.055646] libphy: 4a101000.mdio: probed
[ 1.059695] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver NS DP83848C 10/100 Mbps PHY
[ 1.070340] cpsw 4a100000.ethernet: Detected MACID = 38:d2:69:77:b4:94
[ 1.077089] cpsw 4a100000.ethernet: device node lookup for pps timer failed
[ 1.084127] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
[ 1.093737] mousedev: PS/2 mouse device common for all mice
[ 1.099885] i2c /dev entries driver
[ 1.106405] NET: Registered protocol family 17
[ 1.111020] Key type dns_resolver registered
[ 1.115635] omap_voltage_late_init: Voltage driver support not added
[ 1.129456] omap-gpmc 50000000.gpmc: GPMC revision 6.0
[ 1.134822] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
[ 1.143246] nand: device found, Manufacturer ID: 0xc8, Chip ID: 0xdc
[ 1.149639] nand: ESMT NAND 512MiB 3,3V 8-bit
[ 1.154021] nand: 512 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[ 1.161715] nand: using OMAP_ECC_BCH8_CODE_HW ECC scheme
[ 1.167143] 8 ofpart partitions found on MTD device omap2-nand.0
[ 1.173178] Creating 8 MTD partitions on "omap2-nand.0":
[ 1.178523] 0x000000000000-0x000000020000 : "SPL1"
[ 1.185149] 0x000000020000-0x000000040000 : "SPL2"
[ 1.191382] 0x000000040000-0x000000060000 : "SPL3"
[ 1.197615] 0x000000060000-0x000000080000 : "SPL4"
[ 1.203809] 0x000000080000-0x000000260000 : "U-boot"
[ 1.210487] 0x000000260000-0x000000280000 : "environment"
[ 1.217331] 0x000000280000-0x000000780000 : "Kernel"
[ 1.224781] 0x000000780000-0x000010000000 : "File-System"
[ 1.312397] tps65910 0-002d: No interrupt support, no core IRQ
[ 1.320439] vrtc: supplied by vbat
[ 1.327666] vio: supplied by vbat
[ 1.332553] vdd1: supplied by vbat
[ 1.337804] vdd2: supplied by vbat
[ 1.344535] vdig1: supplied by vbat
[ 1.349439] vdig2: supplied by vbat
[ 1.354364] vpll: supplied by vbat
[ 1.359184] vdac: supplied by vbat
[ 1.364016] vaux1: supplied by vbat
[ 1.368916] vaux2: supplied by vbat
[ 1.373825] vaux33: supplied by vbat
[ 1.378817] vmmc: supplied by vbat
[ 1.383212] random: fast init done
[ 1.387057] vbb: supplied by vbat
[ 1.391602] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[ 1.397657] ubi0: attaching mtd7
[ 2.512208] ubi0: scanning is finished
[ 2.533924] ubi0: attached mtd7 (name "File-System", size 248 MiB)
[ 2.540154] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[ 2.547061] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 512
[ 2.553794] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[ 2.560786] ubi0: good PEBs: 1981, bad PEBs: 7, corrupted PEBs: 0
[ 2.566907] ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128
[ 2.574161] ubi0: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 85083965
[ 2.583162] ubi0: available PEBs: 0, total reserved PEBs: 1981, PEBs reserved for bad PEB handling: 73
[ 2.592520] ubi0: background thread "ubi_bgt0d" started, PID 85
[ 2.598835] hctosys: unable to open rtc device (rtc0)
[ 2.604461] lis3_reg: disabling
[ 2.607855] ALSA device list:
[ 2.610841] No soundcards found.
[ 2.622275] UBIFS (ubi0:0): background thread "ubifs_bgt0_0" started, PID 87
[ 2.701840] UBIFS (ubi0:0): recovery needed
[ 2.920053] UBIFS (ubi0:0): recovery completed
[ 2.924981] UBIFS (ubi0:0): UBIFS: mounted UBI device 0, volume 0, name "rootfs"
[ 2.932421] UBIFS (ubi0:0): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[ 2.942387] UBIFS (ubi0:0): FS size: 199225344 bytes (189 MiB, 1569 LEBs), journal size 9023488 bytes (8 MiB, 72 LEBs)
[ 2.953130] UBIFS (ubi0:0): reserved for root: 0 bytes (0 KiB)
[ 2.958992] UBIFS (ubi0:0): media format: w4/r0 (latest is w4/r0), UUID F8BE0769-D445-4FEF-A72D-1787F15709F9, small LPT model
[ 2.971644] VFS: Mounted root (ubifs filesystem) on device 0:14.
[ 2.978695] devtmpfs: mounted
[ 2.983329] Freeing unused kernel memory: 1024K
Starting logging: OK
Initializing random number generator... done.
Starting network: OK

Welcome to Buildroot
buildroot login: root

As we execute the following command

# cd /lib/modules/4.9.65-rt23-g7069a470d5/kernel/drivers/remoteproc/
# ls
pru_rproc.ko pruss_intc.ko remoteproc.ko
pruss.ko pruss_soc_bus.ko wkup_m3_rproc.ko


# insmod remoteproc.ko
# insmod pruss_intc.ko
# insmod pruss_soc_bus.ko
# insmod pruss.ko

We Get the information as:

[ 53.415839] ti-pruss 4a300000.pruss: creating PRU cores and other child platform devices
[ 53.482153] davinci_mdio 4a332400.mdio: davinci mdio revision 1.6
[ 53.488300] libphy: 4a332400.mdio: probed
[ 53.546314] davinci_mdio 4a332400.mdio: phy[0]: device 4a332400.mdio:00, driver TI TLK10X 10/100 Mbps PHY
[ 53.556107] davinci_mdio 4a332400.mdio: phy[1]: device 4a332400.mdio:01, driver TI TLK10X 10/100 Mbps PHY
#

After we insmod the /lib/modules/4.9.65-rt23-g7069a470d5/kernel/drivers/net/ethernet/ti/ti_prueth.ko

it looks like nothing has happend. I can't find any PRU ethernet device anywhere.

We also execute the lsmod command, shown as:

#lsmod
Module Size Used by Not tainted
ti_prueth 54754 0
virtio_rpmsg_bus 9396 0
rpmsg_pru 4912 0
rpmsg_core 7124 2 virtio_rpmsg_bus,rpmsg_pru
uio_pruss 3310 0
uio 9158 1 uio_pruss
pru_rproc 10682 1 ti_prueth
pruss 9725 2 ti_prueth,pru_rproc
pruss_soc_bus 3649 0
pruss_intc 7249 1 pru_rproc
remoteproc 28648 2 ti_prueth,pru_rproc

And we want to find some PRU ethernet device by:

#find -name *pru*
./lib/firmware/ti-pruss
./lib/firmware/ti-pruss/am335x-pru0-pruprp-fw.elf
./lib/firmware/ti-pruss/am335x-pru1-pruhsr-fw.elf
./lib/firmware/ti-pruss/am335x-pru1-prueth-fw.elf
./lib/firmware/ti-pruss/am335x-pru1-pruprp-fw.elf
./lib/firmware/ti-pruss/am335x-pru0-pruhsr-fw.elf
./lib/firmware/ti-pruss/am335x-pru0-prueth-fw.elf
./lib/modules/4.9.65-rt23-g7069a470d5/kernel/drivers/net/ethernet/ti/ti_prueth.ko
./lib/modules/4.9.65-rt23-g7069a470d5/kernel/drivers/uio/uio_pruss.ko
./lib/modules/4.9.65-rt23-g7069a470d5/kernel/drivers/rpmsg/rpmsg_pru.ko
./lib/modules/4.9.65-rt23-g7069a470d5/kernel/drivers/remoteproc/pruss_soc_bus.ko
./lib/modules/4.9.65-rt23-g7069a470d5/kernel/drivers/remoteproc/pru_rproc.ko
./lib/modules/4.9.65-rt23-g7069a470d5/kernel/drivers/remoteproc/pruss_intc.ko
./lib/modules/4.9.65-rt23-g7069a470d5/kernel/drivers/remoteproc/pruss.ko
./sys/devices/platform/ocp/4a326000.pruss-soc-bus
./sys/devices/platform/ocp/4a326000.pruss-soc-bus/4a300000.pruss
./sys/devices/platform/ocp/4a326000.pruss-soc-bus/4a300000.pruss/4a338000.pru1
./sys/devices/platform/ocp/4a326000.pruss-soc-bus/4a300000.pruss/4a334000.pru0
./sys/devices/platform/ocp/480c8000.mailbox/mbox/mbox_pru1
./sys/devices/platform/ocp/480c8000.mailbox/mbox/mbox_pru0
./sys/class/rpmsg_pru
./sys/class/mbox/mbox_pru1
./sys/class/mbox/mbox_pru0
./sys/firmware/devicetree/base/ocp/pruss_soc_bus@4a326000
./sys/firmware/devicetree/base/ocp/pruss_soc_bus@4a326000/pruss@4a300000
./sys/firmware/devicetree/base/ocp/pruss_soc_bus@4a326000/pruss@4a300000/pru@4a338000
./sys/firmware/devicetree/base/ocp/pruss_soc_bus@4a326000/pruss@4a300000/pru@4a334000
./sys/firmware/devicetree/base/ocp/mailbox@480C8000/mbox_pru1
./sys/firmware/devicetree/base/ocp/mailbox@480C8000/mbox_pru0
./sys/firmware/devicetree/base/ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pruss_eth_default
./sys/firmware/devicetree/base/ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pruss_mdio_default
./sys/firmware/devicetree/base/ocp/l4_wkup@44c00000/prcm@200000/clocks/pruss_ocp_gclk@530
./sys/firmware/devicetree/base/pruss_eth
./sys/firmware/devicetree/base/pruss_eth/pruss
./sys/bus/platform/devices/4a300000.pruss
./sys/bus/platform/devices/4a326000.pruss-soc-bus
./sys/bus/platform/devices/4a338000.pru1
./sys/bus/platform/devices/4a334000.pru0
./sys/bus/platform/drivers/pru-rproc
./sys/bus/platform/drivers/pru-rproc/4a338000.pru1
./sys/bus/platform/drivers/pru-rproc/4a334000.pru0
./sys/bus/platform/drivers/ti-pruss
./sys/bus/platform/drivers/ti-pruss/4a300000.pruss
./sys/bus/platform/drivers/pruss-soc-bus
./sys/bus/platform/drivers/pruss-soc-bus/4a326000.pruss-soc-bus
./sys/bus/platform/drivers/pruss_uio
./sys/bus/platform/drivers/prueth
./sys/bus/platform/drivers/pruss-intc
./sys/bus/rpmsg/drivers/rpmsg_pru
./sys/module/pru_rproc
./sys/module/pru_rproc/holders/ti_prueth
./sys/module/pru_rproc/drivers/platform:pru-rproc
./sys/module/pruss
./sys/module/pruss/holders/pru_rproc
./sys/module/pruss/holders/ti_prueth
./sys/module/pruss/drivers/platform:ti-pruss
./sys/module/uio_pruss
./sys/module/uio_pruss/drivers/platform:pruss_uio
./sys/module/ti_prueth
./sys/module/ti_prueth/parameters/pruss2_mc_mask
./sys/module/ti_prueth/parameters/pruss1_ethtype
./sys/module/ti_prueth/parameters/pruss0_hsr_mode
./sys/module/ti_prueth/parameters/pruss0_mc_mask
./sys/module/ti_prueth/parameters/pruss2_ethtype
./sys/module/ti_prueth/parameters/pruss1_hsr_mode
./sys/module/ti_prueth/parameters/pruss1_mc_mask
./sys/module/ti_prueth/parameters/pruss0_ethtype
./sys/module/ti_prueth/parameters/pruss2_hsr_mode
./sys/module/ti_prueth/drivers/platform:prueth
./sys/module/uio/holders/uio_pruss
./sys/module/pruss_soc_bus
./sys/module/pruss_soc_bus/drivers/platform:pruss-soc-bus
./sys/module/rpmsg_pru
./sys/module/rpmsg_pru/drivers/rpmsg:rpmsg_pru
./sys/module/pruss_intc
./sys/module/pruss_intc/holders/pru_rproc
./sys/module/pruss_intc/drivers/platform:pruss-intc
./sys/module/remoteproc/holders/pru_rproc
./sys/module/remoteproc/holders/ti_prueth
./sys/module/rpmsg_core/holders/rpmsg_pru
./sbin/iprule

But nothing can be found as pru_eth0 or pru_eth1.

My question is how to Create a PRU ethernet device in the linux envoriment?

how can we use the ICSS-EMAC driver under the linux?

and any steps that we missed? 

In addition, there is no problem on the hardware of our board, we have tested all functions with the TI-RTOS envoriment, include the PRU-ICSS.

our design is based on ICSS_EMAC_BasicExample_icev2AM335x_wSoCFile_armTestproject.

Thanks very much.

 

 

TDA2PXEVM: TDA2X For APA Application

$
0
0

Part Number:TDA2PXEVM

Dear  TI:

My custom use TDA2PX for  APA Application, I am not sure its suitable or not ?
The system include 5pcs cameras and 12pcs radars , and the block diagram as follows:
thanks very much.

AM4376: Booting NOR Flash from SPI

$
0
0

Part Number:AM4376

Hello,

I would like to boot the AM4376 from a NOR Flash Memory device using a SPI configuration. The technical reference manual seems to show that this is supported in section 5.2.6.6 (picture included). However, in the NOR Flash Boot section (5.2.6.3 picture shown below), the process describes setting up the NOR Flash with a GPMC configuration. I have seen some other forums (such as this: https://e2e.ti.com/support/processors/f/791/t/485726?AM437x-SK-how-to-boot-from-SPI-Flash) which describes booting NOR Flash from SPI. Could I please get some clarification on this?

Thanks,

Sean

AM3352: Over clock for just test purpose

$
0
0

Part Number:AM3352

Hi Champs,

I have a couple of questions as follows:

1)Does 600MHz AM3352 work with 1GHz clock setting?
    We would like to just try over clock.
    If it works somehow, it helps a lot for our test.

2)VDD_CORE is not +1.1 +/-4%. It is 1.3V
    Is it workable for 1GHz over clock operation?
    We plan to add heat sink for the heat.

I would very appreciate if you could me advises for this test.

Best regards,
Hitoshi


Linux/TDA2HG: H.264 decode fail issue.

$
0
0

Part Number:TDA2HG

Tool/software: Linux

Hi Sir,

I am using two "VAYU EVM - XC5777X CPU board", and connect 4 AVB camera with a Ethernet switch.

First EVM board runs use-case "4CH AVB Capture + Decode + SGX 3D-SRV + DISPLAY + ENCODE + AVBTX",

Image source from AVB camera is MJPG format and output format is H.264.

Second EVM board receive the H.264 package though the Ethernet switch,

but UART shows below error message:

 [HOST] [IPU2  ]   2473.517049 s: AvbRxLink_drvStart: Start Done !!!
 [HOST] [IPU2  ]   2473.544592 s:  SyncLink_drvProcessData: ch=(1) first Sync...
 [HOST] [IPU2  ]   2473.619776 s:  DECODE: ERROR: ALGPROCESS FAILED (status=0x00208001) !!!
 [HOST] [IPU2  ]   2473.619898 s:  DEC_LINK: outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x208001
 [HOST] [IPU2  ]   2473.619990 s:  DEC_LINK: Sequence called number 1
 [HOST] [IPU2  ]   2473.620081 s:  DECODE: CH0: H264 Decoder flush needed (2129921)!!!
 [HOST] [IPU2  ]   2473.620173 s:  DECODE: CH0: H264 Decoder Flushing !!!

The H.264 type is "SYSTEM_IVIDEO_H264HP", whatever first EVM encode or second EVM decode.

I have no idea why the decode can't handle the H.264 packets, please help.

Thanks.

Ranny.

CCS/66AK2G12: Weird I2S Signal with MCASP

$
0
0

Part Number:66AK2G12

Tool/software: Code Composer Studio

I have a Problem with an I2S-Stream to Mcasp. The Input is generated by a DIR9001(Master, I2S Mode, 32 bit Slot, 24 bit width)  and read with MCASP 2 (Slave, AXR5, AFSR, ACLKR, 32 bit Slot, 32 bit width). My configuration is:

Mcasp_HwSetupData mcaspRcvSetup = {
               /* .rmask    = */ 0xFFFFFFFF, /* All the data bits are to be used     */
               /* .rfmt     = */ 0x000180F0,
                                                 /* 1 bit delay from framsync
                                                 * MSB first
                                                 * No extra bit padding
                                                 * Padding bit (ignore)
                                                 * slot Size is 32
                                                 * Reads from DMA port
                                                 * NO rotation*/
               /* .afsrctl  = */ 0x111,     /* I2S mode,
                                                 * Frame sync is one word
                                                 * Externally generated frame sync
                                                 * Rising edge is start of frame*/
               /* .rtdm     = */ 0x00000003,     /* 2 slots are active (I2S) */
               /* .rintctl  = */ 0x00000000,     /* sync error and overrun error         */
               /* .rstat    = */ 0x000001FF,     /* reset any existing status bits       */
               /* .revtctl  = */ 0x00000000,     /* DMA request is enabled or disabled   */
        {
                /* .aclkrctl  = */ 0x80,      /* external Source, rising edge */
                /* .ahclkrctl = */ 0x0,      /* not connected */
                /* .rclkchk   = */ 0x0
        }
} ;


Mcasp_HwSetupData mcaspXmtSetup = {
              /* .xmask    = */ 0xFFFFFFFF, /* All the data bits are to be used     */
              /* .xfmt     = */ 0x000180F0,      /* 0/1 bit delay from framsync
                                                 * MSB first
                                                 * No extra bit padding
                                                 * Padding bit (ignore)
                                                 * slot Size is 32
                                                 * Reads from DMA port
                                                 * 0-bit rotation*/
              /* .afsxctl  = */ 0x00000113,      /* I2S mode,
                                                 * Frame sync is one word
                                                 * internally generated frame sync
                                                 * Falling edge is start of frame*/
              /* .xtdm     = */ 0x00000003,      /* 2 slots are active (I2S) */
              /* .xintctl  = */ 0x00000003,      /* sync error,overrun error,clK error   */
              /* .xstat    = */ 0x000001FF,      /* reset any existing status bits       */
              /* .xevtctl  = */ 0x00000000,      /* DMA request is enabled or disabled   */
        {
                /* .aclkxctl  = */ 0x000000E7,      /* Div (8), Internal Source, ASYNC =1 , Falling edge */
                /* .ahclkxctl = */ 0x00008000,      /* Div (20), Internal AUX_CLK Source */
                /* .xclkchk   = */ 0x00000000
        }

};

/* McAsp channel parameters     I2S MODE*/
Mcasp_ChanParams  mcaspRxChanParam=
{
        RX_NUM_SERIALIZER,                                              /* number of serialisers      */
        {Mcasp_SerializerNum_5, },                  /* number of serialisersx           */
        &mcaspRcvSetup,
        TRUE,
        Mcasp_OpMode_TDM,                                               /* Mode (TDM/DIT)             */
        Mcasp_WordLength_32,
        NULL,
        0,
        NULL,
        (Mcasp_GblCallback)&GblErrRcv,
        2,                                                              /* number of TDM channels      */
        Mcasp_BufferFormat_1SER_MULTISLOT_INTERLEAVED,
        TRUE,
        RX_FIFO_EVENT_DMA_RATIO,
        TRUE,
        Mcasp_WordBitsSelect_LSB
};

Mcasp_ChanParams  mcaspTxChanParam=
{
    0,                                              /* number of serialisers       */
    {},
    &mcaspXmtSetup,
    NULL,
    Mcasp_OpMode_TDM,
    NULL,                                            /* word width                  */
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,                                                              /* number of TDM channels      */
    Mcasp_BufferFormat_1SER_MULTISLOT_INTERLEAVED,
    NULL,
    NULL,
    NULL,
    Mcasp_WordBitsSelect_LSB
};


The program is closed to the example. With 3 kHz Input. The signal seems ok.


But for example for 600 Hz the signal is weird.




I tried so many configuration options. But I can not solve my problem.


Thanks!

TMS320C6414: CLKOUT4/CLKOUT6 behavior upon reset

$
0
0

Part Number:TMS320C6414

Hi!

I'd like to make sure that the CLKOUT4 and CLKOUT6 are not effected by the RESET toggling. I.e. when the RESET is toggled from low to high and vice versa, the CLKOUT4 and CLKOUT6 are keep running without any interruption. Is it correct?

Regards,

Vic.

RTOS/PROCESSOR-SDK-AM437X: IO LINK Master Example in sdk 05.03.00.07 howto get started?

$
0
0

Part Number:PROCESSOR-SDK-AM437X

Tool/software: TI-RTOS

Hello,

we are trying to re-engineer your design of the

8 Port IO-Link Master Reference Design TIDA-010016

now i installed sdk 05.03.00.07 and compiled the IO link master examples 

following this guide http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_pru_icss_fw.html#pru-icss-iolink

now i wonder where i can find the document mentioned there?

IOLINK FIRMWARE Design Guide<PDK>/packages/ti/drv/iolink/docs/IOLINK_FW_DESIGN_GUIDE.pdf 

i coulndt find this file.

I also wonder if there is a CCS importable project instead of application .bin file available for the IO Link-Example ?

thx in advance  

CCS/PROCESSOR-SDK-AM335X: Program "make" not found

$
0
0

Part Number:PROCESSOR-SDK-AM335X

Tool/software: Code Composer Studio

HI, 

I am working on AM335x SDK on Linux. I am beginner with Linux. I used following softwares

Linux - UBUNTU 16.04 

CCS- CCS9.0.0.00018_linux-x64

SDK- ti-processor-sdk-linux-am335x-evm-05.02.00.10

Hardware - Beagle bone Black

And i am following the link below

i am getting following error while building U-BOOT

Error: Program "make" not found in PATH
PATH=[/home/testuser/ti-processor-sdk-linux-am335x-evm-05.02.00.10/linux-devkit/arago-2011.09-armv7a-linux-gnueabi-sdk/arago-2011.09/armv7a/bin]

Suggest me how to build this error and make project build successfully.

Regards 

Haricharan

66AK2H12: Cache coherency seems not working

$
0
0

Part Number:66AK2H12

Hi Champs,

we tried to use "DMA transit" at 0x8000_0000 on the SRIO. but, Cache coherency seems not working.

①Set to expand memory address at LPAE Set address ARM-View 0x8000_0000 to 0x08_2000_0000(DDR3A)

②Set SoC-View0x8000_0000を0x08_2000_0000(DDR3A)on the SES_MPAX.

③Write data to 0x8000_0000 on the DDR3A via SRIO DMA transmitter.
④Read out 0x8000_0000 on the DDR3A  by ARM core 0 → This value is before DMA transmit.

⑤Invalidate Cache

⑥Read out 0x8000_0000 on the DDR3A  by ARM core 0 → This value is after DMA transmit.(Success to read out SRIO DMA transmit data)

We expected to read  transmitted data correctly without ⑤ process (invalidate cache).

Do we need invalidate cache action to read out transmitted data ?

Regadrs,

Kz777

Linux/PROCESSOR-SDK-AM335X: Linaro v. Arago

$
0
0

Part Number:PROCESSOR-SDK-AM335X

Tool/software: Linux

What is the relationship between Linaro and Arago?  Really I'm not clear about what Linaro is.

I've just gone through setting up the PSDK by building a number of targets, per this page: http://software-dl.ti.com/processor-sdk-linux/esd/docs/05_03_00_07/linux/Overview_Building_the_SDK.html

I spent some time figuring out what Yocto and Arago are.  They are a set of tools, abstract framework, and concrete layers, for buillding Linux embedded systems, and in the case of Arago, TI-specific systems.  The focus is on building Linux file systems, but one can of course add application layers and build applications as well.  I think.  The Yocto web site is very well done and very clear.

Now, I go to the main PSDK page, and it mentions the Linaro toolchain and how it's somehow to be preferred to the older Arago toolchain.  The Linaro web site is essentially useless - maybe they make engineering tools of some sort, or they're an advertising arm of ARM; it is impossible to tell. The Wikipedia page on Linaro isn't much more help.  If I had to guess, it would be that Linaro contributes to the development of Gnu tools and libraries related to ARM.  I can imagine that Linaro is somehow upstream of Yocto and Arago, and that they incorporate the Linaro-influenced/certified(?) tools.

But that's pretty much just a guess.

Can anyone explain or point me to a link that says what Linaro makes or contributes?

Thanks,

Bob


Linux/AM4378: LEDs not showing up in /sys/class/leds directory

$
0
0

Part Number:AM4378

Tool/software: Linux

I am working with a custom AM437x board, using TI-SDK version 4.3.0.5. I am trying to flip LEDs on and off, and I am able to do it using the gpio interface by exporting each gpio pin and then writing a 0 or 1 to the value file. But I believe that the LEDs should also be showing up in the /sys/class/leds directory, but they are not showing up there. The following is what I have in my dts file relating to the LEDs:

leds {
compatible = "gpio-leds";

pinctrl-names = "default";
pinctrl-0 = <&leds_pins_default>;

mute_led {
label = "am437x-UTI:red:usr0";
gpios = <&gpio4 1 GPIO_ACTIVE_HIGH>; // Bank 4, pin 1
default-state = "off";
};

captions_led {
label = "am437x-UTI:blue:usr1";
gpios = <&gpio4 2 GPIO_ACTIVE_HIGH>; // Bank 4, pin 2
default-state = "off";
};

keypad_led {
label = "am437x-UTI:white:usr2";
gpios = <&gpio4 3 GPIO_ACTIVE_HIGH>; // Bank 4, pin 3
default-state = "off";
};

vol6_led {
label = "am437x-UTI:red:usr3";
gpios = <&gpio4 4 GPIO_ACTIVE_HIGH>; // Bank 4, pin 4
default-state = "off";
};

vol5_led {
label = "am437x-UTI:red:usr4";
gpios = <&gpio4 5 GPIO_ACTIVE_HIGH>; // Bank 4, pin 5
default-state = "off";
};

vol4_led {
label = "am437x-UTI:orange:usr5";
gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; // Bank 4, pin 6
default-state = "off";
};

vol3_led {
label = "am437x-UTI:green:usr6";
gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>; // Bank 4, pin 7
default-state = "off";
};

vol2_led {
label = "am437x-UTI:green:usr7";
gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; // Bank 4, pin 8
default-state = "off";
};

vol1_led {
label = "am437x-UTI:green:usr8";
gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>; // Bank 4, pin 9
default-state = "off";
};

hfree_led {
label = "am437x-UTI:blue:usr9";
gpios = <&gpio5 10 GPIO_ACTIVE_HIGH>; // Bank 4, pin 10
default-state = "off";
};
};

leds_pins_default: leds_pins_default {

pinctrl-single,pins = <
    AM4372_IOPAD(0x9b4, PIN_OUTPUT | MUX_MODE7) /* (AD18) cam0_vd.gpio4[1] */
    AM4372_IOPAD(0x9b8, PIN_OUTPUT | MUX_MODE7) /* (AC18) cam0_field.gpio4[2] */
    AM4372_IOPAD(0x9bc, PIN_OUTPUT | MUX_MODE7) /* (AD17) cam0_wen.gpio4[3] */
    AM4372_IOPAD(0x9c0, PIN_OUTPUT | MUX_MODE7) /* (AC20) cam0_pclk.gpio4[4] */
    AM4372_IOPAD(0x9c4, PIN_OUTPUT | MUX_MODE7) /* (AB19) cam0_data8.gpio4[5] */
    AM4372_IOPAD(0x9c8, PIN_OUTPUT | MUX_MODE7) /* (AA19) cam0_data9.gpio4[6] */
    AM4372_IOPAD(0x9cc, PIN_OUTPUT | MUX_MODE7) /* (AC24) cam1_data9.gpio4[7] */
    AM4372_IOPAD(0x9d0, PIN_OUTPUT | MUX_MODE7) /* (AD24) cam1_data8.gpio4[8] */
    AM4372_IOPAD(0x9d4, PIN_OUTPUT | MUX_MODE7) /* (AD25) cam1_hd.gpio4[9] */
    AM4372_IOPAD(0x9d8, PIN_OUTPUT | MUX_MODE7) /* (AC23) cam1_vd.gpio4[10] */
    >;
};

&gpio4 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&gpio_4_pins_default>;
};

Linux/AM4378: spl/u-boot figuring out processor speed, right mpu voltage

$
0
0

Part Number:AM4378

Tool/software: Linux

the code to find the right settings in board.c is 

/*
* get_opp_offset:
* Returns the index for safest OPP of the device to boot.
* max_off: Index of the MAX OPP in DEV ATTRIBUTE register.
* min_off: Index of the MIN OPP in DEV ATTRIBUTE register.
* This data is read from dev_attribute register which is e-fused.
* A'1' in bit indicates OPP disabled and not available, a '0' indicates
* OPP available. Lowest OPP starts with min_off. So returning the
* bit with rightmost '0'.
*/
static int get_opp_offset(int max_off, int min_off)
{
struct ctrl_stat *ctrl = (struct ctrl_stat *)CTRL_BASE;
int opp, offset, i;

/* Bits 0:11 are defined to be the MPU_MAX_FREQ */
opp = readl(&ctrl->dev_attr) & ~0xFFFFF000;

for (i = max_off; i >= min_off; i--) {
offset = opp & (1 << i);
if (!offset)
return i;
}

return min_off;
}

according to the datasheet the register we are trying to read from has opp values as such:

MPU_MAX_FREQ R X

0xFFE 300MHz ARM MPU Maximum
0xFFA 600MHz ARM MPU Maximum
0xFE2 800MHz ARM MPU Maximum
0xFC2 1GHz ARM MPU Maximum

the algorithm is looking for a 0 for bits 0-5, when there are hard values for different processor speeds. furthermore the array of settings:

const struct dpll_params dpll_mpu[NUM_CRYSTAL_FREQ][NUM_OPPS] = {
{ /* 19.2 MHz */
{125, 3, 2, -1, -1, -1, -1}, /* OPP 50 */
{-1, -1, -1, -1, -1, -1, -1}, /* OPP RESERVED */
{125, 3, 1, -1, -1, -1, -1}, /* OPP 100 */
{150, 3, 1, -1, -1, -1, -1}, /* OPP 120 */
{125, 2, 1, -1, -1, -1, -1}, /* OPP TB */
{625, 11, 1, -1, -1, -1, -1} /* OPP NT */
},
{ /* 24 MHz */
{300, 23, 1, -1, -1, -1, -1}, /* OPP 50 */
{-1, -1, -1, -1, -1, -1, -1}, /* OPP RESERVED */
{600, 23, 1, -1, -1, -1, -1}, /* OPP 100 */
{720, 23, 1, -1, -1, -1, -1}, /* OPP 120 */
{800, 23, 1, -1, -1, -1, -1}, /* OPP TB */
{1000, 23, 1, -1, -1, -1, -1} /* OPP NT */
},
{ /* 25 MHz */
{300, 24, 1, -1, -1, -1, -1}, /* OPP 50 */
{-1, -1, -1, -1, -1, -1, -1}, /* OPP RESERVED */
{600, 24, 1, -1, -1, -1, -1}, /* OPP 100 */
{720, 24, 1, -1, -1, -1, -1}, /* OPP 120 */
{800, 24, 1, -1, -1, -1, -1}, /* OPP TB */
{1000, 24, 1, -1, -1, -1, -1} /* OPP NT */
},
{ /* 26 MHz */
{300, 25, 1, -1, -1, -1, -1}, /* OPP 50 */
{-1, -1, -1, -1, -1, -1, -1}, /* OPP RESERVED */
{600, 25, 1, -1, -1, -1, -1}, /* OPP 100 */
{720, 25, 1, -1, -1, -1, -1}, /* OPP 120 */
{800, 25, 1, -1, -1, -1, -1}, /* OPP TB */
{1000, 25, 1, -1, -1, -1, -1} /* OPP NT */
},
};

has 6 settings

is it just me or will that algorithm never properly detect anything but OPP50 (incorrectly, in our case) and (incorrectly) set V_MPU to the wrong value every time?

just to be sure i added an output to my late init and we are reading the right value for our processor but it is being detected as OPP = 0 which is OPP50 settings

Reading Reg: 44e10610
Register value: fc2
Clock param = 0
OPP offset = 0

Linux/PROCESSOR-SDK-AM335X: Can't mount NFS

$
0
0

Part Number:PROCESSOR-SDK-AM335X

Tool/software: Linux

I am following the Processor SDK Linux Training: Introduction to Device driver Development document.
I have got to page 9. I have configured and built the kernel and device tree, created the SD card with
u-boot and MLO on the boot partition.

I use the boot switch on the Beaglebone Black to boot from the SD card.

U-boot is able to load zImage and device tree in to memory from the NFS share on my laptop but the kernel
is unable to mount the NFS.

/etc/exports..

/home/wayne/ti-processor-sdk-linux-am335x-evm-05.02.00.10/trainingNFS   *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)

But I can mount the NFS share from another linux PC.

Things i have tried  are

ip=dhcp and ip=static_ip for kernel arguments

added the nfsopts='nolock,v3,tcp,rsize=4096,wsize=4096'

used v2,v3,v4 nfs arguments (vers=2,3,4, nfsvers=2,3,4)

the kernel still doesn't load NFS.

I have been stuck on this for a while now does anyone have any ideas?

info

U-Boot SPL 2018.01-g313dcd69c2 (Dec 16 2018 - 09:01:09)
Trying to boot from MMC1


U-Boot 2018.01-g313dcd69c2 (Dec 16 2018 - 09:01:09 +0000)

CPU  : AM335X-GP rev 2.1
Model: TI AM335x BeagleBone Black
DRAM:  512 MiB
NAND:  0 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
Net:   cpsw, usb_ether
Hit any key to stop autoboot:  2 0
=>
=> printenv
arch=arm
args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype}
autoload=no
baudrate=115200
board=am335x
board_name=A335BNLT
board_rev=00C0
board_serial=1118BBBK0EB0
boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr}
boot_efi_binary=if fdt addr ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr ${fdtcontroladdr};fi;load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootarm.efi; if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi
boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}extlinux/extlinux.conf
boot_fdt=try
boot_fit=0
boot_net_usb_start=usb start
boot_prefixes=/ /boot/
boot_script_dhcp=boot.scr.uimg
boot_scripts=boot.scr.uimg boot.scr
boot_targets=mmc0 legacy_mmc0 mmc1 legacy_mmc1 nand0 pxe dhcp
bootargs=console=ttyO0,115200n8 root=/dev/nfs nfsroot=192.168.0.1:/home/wayne/ti-processor-sdk-linux-am335x-evm-05.02.00.10/trainingNFS,nolock rw ip=dhcp
bootcmd=setenv autoload no; dhcp; run nfs_bootfile; run findfdt; run nfs_fdtfile; run netargs; bootz ${loadaddr} - ${fdtaddr}
bootcmd_dhcp=run boot_net_usb_start; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; if test -z "${fdtfile}" -a -n "${soc}"; then setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; fi; setenv efi_old_vci ${bootp_vci};setenv efi_old_arch ${bootp_arch};setenv bootp_vci PXEClient:Arch:00010:UNDI:003000;setenv bootp_arch 0xa;if dhcp ${kernel_addr_r}; then tftpboot ${fdt_addr_r} dtb/${efi_fdtfile};if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r}; else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi;fi;setenv bootp_vci ${efi_old_vci};setenv bootp_arch ${efi_old_arch};setenv efi_fdtfile;setenv efi_old_arch;setenv efi_old_vci;
bootcmd_legacy_mmc0=setenv mmcdev 0; setenv bootpart 0:2 ; run mmcboot
bootcmd_legacy_mmc1=setenv mmcdev 1; setenv bootpart 1:2 ; run mmcboot
bootcmd_mmc0=setenv devnum 0; run mmc_boot
bootcmd_mmc1=setenv devnum 1; run mmc_boot
bootcmd_nand=run nandboot
bootcmd_pxe=run boot_net_usb_start; dhcp; if pxe get; then pxe boot; fi
bootcount=1
bootdelay=2
bootdir=/boot
bootenvfile=uEnv.txt
bootfile=zImage
bootm_size=0x10000000
bootpart=0:2
bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr}
console=ttyO0,115200n8
cpu=armv7
dfu_alt_info_emmc=rawemmc raw 0 3751936;boot part 1 1;rootfs part 1 2;MLO fat 1 1;MLO.raw raw 0x100 0x200;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500 0x200;spl-os-image.raw raw 0x1700 0x6900;spl-os-args fat 1 1;spl-os-image fat 1 1;u-boot.img fat 1 1;uEnv.txt fat 1 1
dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;MLO fat 0 1;MLO.raw raw 0x100 0x200;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500 0x200;spl-os-image.raw raw 0x1700 0x6900;spl-os-args fat 0 1;spl-os-image fat 0 1;u-boot.img fat 0 1;uEnv.txt fat 0 1
dfu_alt_info_nand=SPL part 0 1;SPL.backup1 part 0 2;SPL.backup2 part 0 3;SPL.backup3 part 0 4;u-boot part 0 5;u-boot-spl-os part 0 6;kernel part 0 8;rootfs part 0 9
dfu_alt_info_ram=kernel ram 0x80200000 0x4000000;fdt ram 0x80f80000 0x80000;ramdisk ram 0x81000000 0x4000000
distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done
dnsip=194.168.4.100
dnsip2=194.168.8.100
efi_dtb_prefixes=/ /dtb/ /dtb/current/
envboot=mmc dev ${mmcdev}; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadbootscript; then run bootscript;else if run loadbootenv; then echo Loaded env from ${bootenvfile};run importbootenv;fi;if test -n $uenvcmd; then echo Running uenvcmd ...;run uenvcmd;fi;fi;fi;
eth1addr=c4:f3:12:9d:a8:40
ethact=cpsw
ethaddr=c4:f3:12:9d:a8:3e
fdt_addr_r=0x88000000
fdtaddr=0x88000000
fdtcontroladdr=9df11438
fdtfile=am335x-boneblack.dtb
fileaddr=88000000
filesize=8fe4
findfdt=if test $board_name = A335BONE; then setenv fdtfile am335x-bone.dtb; fi; if test $board_name = A335BNLT; then setenv fdtfile am335x-boneblack.dtb; fi; if test $board_name = BBBW; then setenv fdtfile am335x-boneblack-wireless.dtb; fi; if test $board_name = BBG1; then setenv fdtfile am335x-bonegreen.dtb; fi; if test $board_name = BBGW; then setenv fdtfile am335x-bonegreen-wireless.dtb; fi; if test $board_name = BBBL; then setenv fdtfile am335x-boneblue.dtb; fi; if test $board_name = A33515BB; then setenv fdtfile am335x-evm.dtb; fi; if test $board_name = A335X_SK; then setenv fdtfile am335x-evmsk.dtb; fi; if test $board_name = A335_ICE && test $ice_mii = rmii; then setenv fdtfile am335x-icev2.dtb; fi; if test $board_name = A335_ICE && test $ice_mii = mii; then setenv fdtfile am335x-icev2-prueth.dtb; fi; if test $fdtfile = undefined; then echo WARNING: Could not determine device tree to use; fi;
finduuid=part uuid mmc ${bootpart} uuid
fit_bootfile=fitImage
fit_loadaddr=0x87000000
gatewayip=192.168.0.1
ice_mii=mii
importbootenv=echo Importing environment from mmc${mmcdev} ...; env import -t ${loadaddr} ${filesize}
init_console=if test $board_name = A335_ICE; then setenv console ttyO3,115200n8;else setenv console ttyO0,115200n8;fi;
ip_method=dhcp
ipaddr=192.168.0.50
kernel_addr_r=0x82000000
load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile}
loadaddr=0x82000000
loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr
loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}
loadfit=run args_mmc; bootm ${loadaddr}#${fdtfile};
loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
loadramdisk=load mmc ${mmcdev} ${rdaddr} ramdisk.gz
mmc_boot=if mmc dev ${devnum}; then setenv devtype mmc; run scan_dev_for_boot_part; fi
mmcboot=mmc dev ${mmcdev}; setenv devnum ${mmcdev}; setenv devtype mmc; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadimage; then if test ${boot_fit} -eq 1; then run loadfit; else run mmcloados;fi;fi;fi;
mmcdev=0
mmcloados=run args_mmc; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdtaddr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;
mmcrootfstype=ext4 rootwait
mtdids=nand0=nand.0
mtdparts=mtdparts=nand.0:128k(NAND.SPL),128k(NAND.SPL.backup1),128k(NAND.SPL.backup2),128k(NAND.SPL.backup3),256k(NAND.u-boot-spl-os),1m(NAND.u-boot),128k(NAND.u-boot-env),128k(NAND.u-boot-env.backup1),8m(NAND.kernel),-(NAND.file-system)
nandargs=setenv bootargs console=${console} ${optargs} root=${nandroot} rootfstype=${nandrootfstype}
nandboot=echo Booting from nand ...; run nandargs; nand read ${fdtaddr} NAND.u-boot-spl-os; nand read ${loadaddr} NAND.kernel; bootz ${loadaddr} - ${fdtaddr}
nandroot=ubi0:rootfs rw ubi.mtd=NAND.file-system,2048
nandrootfstype=ubifs rootwait=1
netargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=dhcp
netboot=echo Booting from network ...; setenv autoload no; dhcp; run netloadimage; run netloadfdt; run netargs; bootz ${loadaddr} - ${fdtaddr}
netloadfdt=tftp ${fdtaddr} ${fdtfile}
netloadimage=tftp ${loadaddr} ${bootfile}
netmask=255.255.255.0
nfs_bootfile=nfs 0x82000000 192.168.0.49:/home/wayne/ti-processor-sdk-linux-am335x-evm-05.02.00.10/trainingNFS/boot/zImage
nfs_fdtfile=nfs 0x88000000 192.168.0.49:/home/wayne/ti-processor-sdk-linux-am335x-evm-05.02.00.10/trainingNFS/boot/${fdtfile}\

nfsopts=nolock
partitions=uuid_disk=${uuid_gpt_disk};name=rootfs,start=2MiB,size=-,uuid=${uuid_gpt_rootfs}
pxefile_addr_r=0x80100000
ramargs=setenv bootargs console=${console} ${optargs} root=${ramroot} rootfstype=${ramrootfstype}
ramboot=echo Booting from ramdisk ...; run ramargs; bootz ${loadaddr} ${rdaddr} ${fdtaddr}
ramdisk_addr_r=0x88080000
ramroot=/dev/ram0 rw
ramrootfstype=ext2
rdaddr=0x88080000
rootpath=/home/wayne/ti-processor-sdk-linux-am335x-evm-05.02.00.10/trainingNFS
scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;run scan_dev_for_efi;
scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then run scan_dev_for_boot; fi; done
scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; if test -z "${fdtfile}" -a -n "${soc}"; then setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; fi; for prefix in ${efi_dtb_prefixes}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${efi_fdtfile}; then run load_efi_dtb; fi;done;if test -e ${devtype} ${devnum}:${distro_bootpart} efi/boot/bootarm.efi; then echo Found EFI removable media binary efi/boot/bootarm.efi; run boot_efi_binary; echo EFI LOAD FAILED: continuing...; fi; setenv efi_fdtfile
scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}extlinux/extlinux.conf; then echo Found ${prefix}extlinux/extlinux.conf; run boot_extlinux; echo SCRIPT FAILED: continuing...; fi
scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done
scriptaddr=0x80000000
serverip=192.168.0.49
soc=am33xx
spiargs=setenv bootargs console=${console} ${optargs} root=${spiroot} rootfstype=${spirootfstype}
spiboot=echo Booting from spi ...; run spiargs; sf probe ${spibusno}:0; sf read ${loadaddr} ${spisrcaddr} ${spiimgsize}; bootz ${loadaddr}
spibusno=0
spiimgsize=0x362000
spiroot=/dev/mtdblock4 rw
spirootfstype=jffs2
spisrcaddr=0xe0000
static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
stderr=serial@44e09000
stdin=serial@44e09000
stdout=serial@44e09000
update_to_fit=setenv loadaddr ${fit_loadaddr}; setenv bootfile ${fit_bootfile}
usb_boot=usb start; if usb dev ${devnum}; then setenv devtype usb; run scan_dev_for_boot_part; fi
usbnet_devaddr=c4:f3:12:9d:a8:3e
vendor=ti
ver=U-Boot 2018.01-g313dcd69c2 (Dec 16 2018 - 09:01:09 +0000)

Environment size: 10587/131068 bytes
=> boot
link up on port 0, speed 100, full duplex
BOOTP broadcast 1
DHCP client bound to address 192.168.0.50 (99 ms)
link up on port 0, speed 100, full duplex
#################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #########################################
done
Bytes transferred = 3867136 (3b0200 hex)
link up on port 0, speed 100, full duplex
########
done
Bytes transferred = 36836 (8fe4 hex)
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Loading Device Tree to 8fff4000, end 8fffffe3 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.79-gbde58ab01e (wayne@wayneo-Lenovo) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)) #1 PREEMPT Wed Apr 10 20:49:06 BST 2019
[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: TI AM335x BeagleBone Black
[    0.000000] Memory policy: Data cache writeback
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 48 MiB at 0x9d000000
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] AM335X ES2.1 (sgx neon)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 129920
[    0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/nfs nfsroot=192.168.0.1:/home/wayne/ti-processor-sdk-linux-am335x-evm-05.02.00.10/trainingNFS,nolock rw ip=dhcp
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 456928K/524288K available (8192K kernel code, 319K rwdata, 2484K rodata, 1024K init, 267K bss, 18208K reserved, 49152K cma-reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xe0800000 - 0xff800000   ( 496 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0900000   (9184 kB)
[    0.000000]       .init : 0xc0c00000 - 0xc0d00000   (1024 kB)
[    0.000000]       .data : 0xc0d00000 - 0xc0d4fd40   ( 320 kB)
[    0.000000]        .bss : 0xc0d4fd40 - 0xc0d92a8c   ( 268 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]     Tasks RCU enabled.
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[    0.000000] OMAP clockevent source: timer2 at 24000000 Hz
[    0.000013] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[    0.000031] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000041] OMAP clocksource: timer1 at 24000000 Hz
[    0.000188] timer_probe: no matching timers found
[    0.000376] Console: colour dummy device 80x30
[    0.000404] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
[    0.000409] This ensures that you still see kernel messages. Please
[    0.000414] update your kernel commandline.
[    0.000442] Calibrating delay loop... 996.14 BogoMIPS (lpj=4980736)
[    0.089230] pid_max: default: 32768 minimum: 301
[    0.089401] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.089414] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.090119] CPU: Testing write buffer coherency: ok
[    0.090181] CPU0: Spectre v2: using BPIALL workaround
[    0.090811] Setting up static identity map for 0x80100000 - 0x80100060
[    0.090949] Hierarchical SRCU implementation.
[    0.091252] EFI services will not be available.
[    0.092472] devtmpfs: initialized
[    0.099182] random: get_random_u32 called from bucket_table_alloc+0x8c/0x1ac with crng_init=0
[    0.099738] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    0.100023] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.100045] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.103399] pinctrl core: initialized pinctrl subsystem
[    0.104061] DMI not present or invalid.
[    0.104436] NET: Registered protocol family 16
[    0.106426] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.118824] omap_hwmod: debugss: _wait_target_disable failed
[    0.171154] cpuidle: using governor ladder
[    0.171187] cpuidle: using governor menu
[    0.174981] OMAP GPIO hardware version 0.1
[    0.183773] No ATAGs?
[    0.183790] hw-breakpoint: debug architecture 0x4 unsupported.
[    0.195149] edma 49000000.edma: TI EDMA DMA engine driver
[    0.197871] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring probe
[    0.197929] omap_i2c 4819c000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c2_pins, deferring probe
[    0.198034] media: Linux media interface: v0.10
[    0.198078] Linux video capture interface: v2.00
[    0.198170] pps_core: LinuxPPS API ver. 1 registered
[    0.198178] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.198201] PTP clock support registered
[    0.198231] EDAC MC: Ver: 3.0.0
[    0.198699] dmi: Firmware registration failed.
[    0.199074] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
[    0.199543] Advanced Linux Sound Architecture Driver Initialized.
[    0.200602] clocksource: Switched to clocksource timer1
[    0.207575] NET: Registered protocol family 2
[    0.208252] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[    0.208298] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[    0.208336] TCP: Hash tables configured (established 4096 bind 4096)
[    0.208425] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.208443] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.208588] NET: Registered protocol family 1
[    0.209009] RPC: Registered named UNIX socket transport module.
[    0.209021] RPC: Registered udp transport module.
[    0.209027] RPC: Registered tcp transport module.
[    0.209032] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.210024] hw perfevents: no interrupt-affinity property for /pmu, guessing.
[    0.210132] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
[    0.211561] workingset: timestamp_bits=14 max_order=17 bucket_order=3
[    0.215249] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.216016] NFS: Registering the id_resolver key type
[    0.216069] Key type id_resolver registered
[    0.216075] Key type id_legacy registered
[    0.216121] ntfs: driver 2.1.32 [Flags: R/O].
[    0.217970] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[    0.217989] io scheduler noop registered
[    0.217997] io scheduler deadline registered
[    0.218191] io scheduler cfq registered (default)
[    0.218202] io scheduler mq-deadline registered
[    0.218209] io scheduler kyber registered
[    0.219276] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
[    0.263496] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
[    0.266252] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 30, base_baud = 3000000) is a 8250
[    0.906706] console [ttyS0] enabled
[    0.911930] omap_rng 48310000.rng: Random Number Generator ver. 20
[    0.928981] brd: module loaded
[    0.937981] loop: module loaded
[    0.943091] libphy: Fixed MDIO Bus: probed
[    1.020682] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
[    1.028384] davinci_mdio 4a101000.mdio: detected phy mask fffffffe
[    1.035771] libphy: 4a101000.mdio: probed
[    1.039812] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720
[    1.049918] cpsw 4a100000.ethernet: Detected MACID = c4:f3:12:9d:a8:3e
[    1.056686] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
[    1.063163] cpsw 4a100000.ethernet: ALE Table size 1024
[    1.068451] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
[    1.076923] i2c /dev entries driver
[    1.080947] IR NEC protocol handler initialized
[    1.085502] IR RC5(x/sz) protocol handler initialized
[    1.090570] IR RC6 protocol handler initialized
[    1.095144] IR JVC protocol handler initialized
[    1.099690] IR Sony protocol handler initialized
[    1.104335] IR SANYO protocol handler initialized
[    1.109055] IR Sharp protocol handler initialized
[    1.113787] IR MCE Keyboard/mouse protocol handler initialized
[    1.119641] IR XMP protocol handler initialized
[    1.125563] cpuidle: enable-method property 'ti,am3352' found operations
[    1.132687] sdhci: Secure Digital Host Controller Interface driver
[    1.138894] sdhci: Copyright(c) Pierre Ossman
[    1.143997] omap_hsmmc 48060000.mmc: Got CD GPIO
[    1.247701] mmc0: host does not support reading read-only switch, assuming write-enable
[    1.257643] mmc0: new high speed SDHC card at address b368
[    1.263408] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.264789] ledtrig-cpu: registered to indicate activity on CPUs
[    1.274183] NET: Registered protocol family 10
[    1.275196] Segment Routing with IPv6
[    1.275260] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    1.275875] NET: Registered protocol family 17
[    1.276130] Key type dns_resolver registered
[    1.276312] omap_voltage_late_init: Voltage driver support not added
[    1.316927] mmcblk0: mmc0:b368 NCard 7.48 GiB
[    1.323210]  mmcblk0: p1 p2
[    1.364866] random: fast init done
[    1.373847] tps65217 0-0024: TPS65217 ID 0xe version 1.2
[    1.383581] mmc1: new high speed MMC card at address 0001
[    1.389511] mmcblk1: mmc1:0001 M62704 3.56 GiB
[    1.394305] mmcblk1boot0: mmc1:0001 M62704 partition 1 2.00 MiB
[    1.400391] mmcblk1boot1: mmc1:0001 M62704 partition 2 2.00 MiB
[    1.406488] mmcblk1rpmb: mmc1:0001 M62704 partition 3 512 KiB
[    1.413534]  mmcblk1: p1
[    1.522964] tda998x 0-0070: found TDA19988
[    1.528251] tilcdc 4830e000.lcdc: bound 0-0070 (ops tda998x_ops)
[    1.534349] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    1.541009] [drm] No driver support for vblank timestamp query.
[    1.547342] [drm] Cannot find any crtc or sizes
[    1.552466] [drm] Initialized tilcdc 1.0.0 20121205 for 4830e000.lcdc on minor 0
[    1.560009] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[    1.567436] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 100 kHz
[    1.575198] hctosys: unable to open rtc device (rtc0)
[    1.594024] net eth0: initializing cpsw version 1.12 (0)
[    1.701716] SMSC LAN8710/LAN8720 4a101000.mdio:00: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=4a101000.mdio:00, irq=POLL)
[    1.722296] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    2.561230] [drm] Cannot find any crtc or sizes
[    3.761951] cpsw 4a100000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[    3.790687] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    3.820646] Sending DHCP requests ., OK
[    4.024691] IP-Config: Got DHCP answer from 192.168.0.1, my address is 192.168.0.50
[    4.032696] IP-Config: Complete:
[    4.036080]      device=eth0, hwaddr=c4:f3:12:9d:a8:3e, ipaddr=192.168.0.50, mask=255.255.255.0, gw=192.168.0.1
[    4.046519]      host=192.168.0.50, domain=, nis-domain=(none)
[    4.052546]      bootserver=192.168.0.1, rootserver=192.168.0.1, rootpath=     nameserver0=194.168.4.100, nameserver1=194.168.8.100
[    4.066250] ALSA device list:
[    4.069243]   No soundcards found.
[  206.530737] random: crng init done
[  315.360887] VFS: Unable to mount root fs via NFS, trying floppy.
[  315.368033] VFS: Cannot open root device "nfs" or unknown-block(2,0): error -6
[  315.375527] Please append a correct "root=" boot option; here are the available partitions:
[  315.384066] 0100           65536 ram0
[  315.384079]  (driver?)
[  315.390240] 0101           65536 ram1
[  315.390249]  (driver?)
[  315.397125] 0102           65536 ram2
[  315.397138]  (driver?)
[  315.403711] 0103           65536 ram3
[  315.403723]  (driver?)
[  315.410088] 0104           65536 ram4
[  315.410099]  (driver?)
[  315.416709] 0105           65536 ram5
[  315.416720]  (driver?)
[  315.423219] 0106           65536 ram6
[  315.423230]  (driver?)
[  315.429670] 0107           65536 ram7
[  315.429673]  (driver?)
[  315.435842] 0108           65536 ram8
[  315.435846]  (driver?)
[  315.441985] 0109           65536 ram9
[  315.441988]  (driver?)
[  315.448113] 010a           65536 ram10
[  315.448116]  (driver?)
[  315.454343] 010b           65536 ram11
[  315.454346]  (driver?)
[  315.460558] 010c           65536 ram12
[  315.460561]  (driver?)
[  315.466803] 010d           65536 ram13
[  315.466806]  (driver?)
[  315.473032] 010e           65536 ram14
[  315.473036]  (driver?)
[  315.479247] 010f           65536 ram15
[  315.479250]  (driver?)
[  315.485483] b300         7846912 mmcblk0
[  315.485487]  driver: mmcblk
[  315.492339]   b301           71680 mmcblk0p1 b21d145c-01
[  315.492343]
[  315.499165]   b302         7757824 mmcblk0p2 b21d145c-02
[  315.499168]
[  315.506006] b310         3735552 mmcblk1
[  315.506010]  driver: mmcblk
[  315.512859]   b311         3734528 mmcblk1p1 00000000-01
[  315.512862]
[  315.519685] b340             512 mmcblk1rpmb
[  315.519688]  (driver?)
[  315.526437] b330            2048 mmcblk1boot1
[  315.526440]  (driver?)
[  315.533276] b320            2048 mmcblk1boot0
[  315.533279]  (driver?)
[  315.540101] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
[  315.548408] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

Thanks.

Linux/PROCESSOR-SDK-AM437X: BiSS-C Interface Functionality on PRU through Linux SDK

$
0
0

Part Number:PROCESSOR-SDK-AM437X

Tool/software: Linux

Hi

Currently we are using PRU to control BLDC Motor with Incremental encoder, it works fine. Now we want to change it to BLDC Motor with Absolute Encoder.

So we need BiSS-C Interface to read Absolute Encoder, http://www.ti.com/lit/ug/tidu794a/tidu794a.pdf  this guide tells how to use BiSS-C Interface Master through Code Composer Studio (CCS). But our whole development is happening on Linux SDK (ti-processor-sdk-linux-am437x-evm-04.00.00.04), So we want to use BiSS-C Master through Linux SDK.

Some old thread says, it will be included along with EnDAT Master Interface in Linux SDK, So I checked the latest Linux SDK (ti-processor-sdk-linux-am437x-evm-05.03.00.07) but  I couldn't  find any related information.

Is there a way to use BiSS-C Interface Master using Linux SDK, If So, please can you provide reference links to it.

Thanks

RTOS/OMAP-L138: About the Workaround Method 1 of Advisory 2.3.12

$
0
0

Part Number:OMAP-L138

Tool/software: TI-RTOS

Hi Champs,

Does IPC already implement the code of the workaround method 1?
If so, could you please let me know the function that include the code in IPC?

Best regards,
J-breeze

Viewing all 17527 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>