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

Linux/AM4378: About gpiochip mapping error issue

$
0
0

Part Number: AM4378

Tool/software: Linux

Hi Sir 

We used  TISDK 5.3.0.7 for development and used DTS to set GPIO function.

We found the the software /sys gpiochip mapping is different from hardware gpio port.

gpio0 -> gpiochip4

gpio1 -> gpiochip0

gpio2 -> gpiochip1

gpio3 -> gpiochip2 

gpio4 -> gpiochip3

gpio5 -> gpiochip5

and saw the log message as below 

root@am437x-evm:~# cat /sys/kernel/debug/gpio

gpiochip0: GPIOs 0-31, parent: platform/4804c000.gpio, gpio:

  gpio-16  (                    |sysfs               ) out hi

  gpio-20  (                    |vmmcwl_fixed        ) out hi

gpiochip1: GPIOs 32-63, parent: platform/481ac000.gpio, gpio:

gpiochip2: GPIOs 64-95, parent: platform/481ae000.gpio, gpio:

  gpio-83  (                    |matrix_kbd_col      ) out hi

  gpio-84  (                    |matrix_kbd_col      ) out hi

gpiochip3: GPIOs 96-127, parent: platform/48320000.gpio, gpio:

  gpio-98  (                    |matrix_kbd_row      ) in  lo IRQ

  gpio-99  (                    |matrix_kbd_row      ) in  lo IRQ

gpiochip4: GPIOs 128-159, parent: platform/44e07000.gpio, gpio:

  gpio-131 (                    |matrix_kbd_row      ) in  hi IRQ

  gpio-134 (                    |cd                  ) in  lo IRQ

  gpio-151 (                    |SelEMMCorNAND       ) out lo

gpiochip5: GPIOs 160-191, parent: platform/48322000.gpio, gpio:

  gpio-167 (                    |vtt_fixed           ) out hi

  gpio-168 (                    |SelLCDorHDMI        ) out hi

//===============================================================//

DTS Setting 

     vtt_fixed: fixedregulator-vtt {

        compatible = "regulator-fixed";

        regulator-name = "vtt_fixed";

        regulator-min-microvolt = <1500000>;

        regulator-max-microvolt = <1500000>;

        regulator-always-on;

        regulator-boot-on;

        enable-active-high;

        gpio = <&gpio5 7 GPIO_ACTIVE_HIGH>;

     };

 

     vmmcwl_fixed: fixedregulator-mmcwl {

        compatible = "regulator-fixed";

        regulator-name = "vmmcwl_fixed";

        regulator-min-microvolt = <1800000>;

        regulator-max-microvolt = <1800000>;

        gpio = <&gpio1 20 GPIO_ACTIVE_HIGH>;

        enable-active-high;

     };

 

 

     gpio0_pins: gpio0_pins {

        pinctrl-single,pins = <

           AM4372_IOPAD(0xa6c, PIN_OUTPUT | MUX_MODE9) /*

                        spi2_cs0.gpio0_23 SEL_eMMCorNANDn */

       >;

     };

 

&gpio0 {

     pinctrl-names = "default";

     pinctrl-0 = <&gpio0_pins>;

     status = "okay";

 

     p23 {

        gpio-hog;

        gpios = <23 GPIO_ACTIVE_HIGH>;

        /* SelEMMCorNAND selects between eMMC and NAND:

        * Low: NAND

        * High: eMMC

        * When changing this line make sure the newly

        * selected device node is enabled and the previously

        * selected device node is disabled.

        */

        output-low;

        line-name = "SelEMMCorNAND";

     };

};

&gpio5 {

     pinctrl-names = "default";

     pinctrl-0 = <&display_mux_pins>;

     status = "okay";

     ti,no-reset-on-init;

     p8 {

        /*

        * SelLCDorHDMI selects between display and audio paths:

        * Low: HDMI display with audio via HDMI

        * High: LCD display with analog audio via aic3111 codec

        */

        gpio-hog;

        gpios = <8 GPIO_ACTIVE_HIGH>;

        output-high;

        line-name = "SelLCDorHDMI";

     };

};

     matrix_keypad: matrix_keypad0 {

        compatible = "gpio-matrix-keypad";

        debounce-delay-ms = <5>;

        col-scan-delay-us = <2>;

 

        pinctrl-names = "default", "sleep";

        pinctrl-0 = <&matrix_keypad_default>;

        pinctrl-1 = <&matrix_keypad_sleep>;

 

        linux,wakeup;

 

        row-gpios = <&gpio0 3 GPIO_ACTIVE_HIGH /* Bank0, pin3 */

             &gpio4 3 GPIO_ACTIVE_HIGH /* Bank4, pin3 */

             &gpio4 2 GPIO_ACTIVE_HIGH>; /* Bank4, pin2 */

 

        col-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH /* Bank3, pin19 */

             &gpio3 20 GPIO_ACTIVE_HIGH>; /* Bank3, pin20 */

 

        linux,keymap = <0x00000201      /* P1 */

              0x00010202      /* P2 */

              0x01000067      /* UP */

              0x0101006a      /* RIGHT */

              0x02000069      /* LEFT */

              0x0201006c>;      /* DOWN */

        };

Does TI expert have any suggestion or we miss any setting ? 

please advise

BR
YImin


RTOS/AM3352: EDMA constant src address config

$
0
0

Part Number: AM3352

Tool/software: TI-RTOS

Hi

        I want to read FPGA data through EDMA.

The source data is a FIFO, that is to say, unchanged address.

How should I set the parameters of EDMA?

in the technical manual of AM3352, I found this passage

NOTE: The constant addressing (CONST) mode has limited applicability. The EDMA3 should be
configured for the constant addressing mode (SAM/DAM = 1) only if the transfer source or
destination (on-chip memory, off-chip memory controllers, slave peripherals) support the
constant addressing mode. See the device-specific data manual and/or peripheral user`s
guide to verify if the constant addressing mode is supported. If the constant addressing
mode is not supported, the similar logical transfer can be achieved using the increment
(INCR) mode (SAM/DAM =0) by appropriately programming the count and indices values

it means I can program the count and indices values to solve my issue.

I tried to set the srcbidx and srccidx to 0,but it failed.

can you give me some suggestions?

my PDK version is pdk_am335x_1_0_13.

BR

Linux/PROCESSOR-SDK-AM57X: How do bare metal inmate communicate with Linux app after Jailhouse Hypervisor?

$
0
0

Part Number: PROCESSOR-SDK-AM57X

Tool/software: Linux

1. How do bare metal inmate communicate with Linux app after Jailhouse Hypervisor?

Linux/TMDXIDK5718: Processor SDK 6.0: fatal error: openssl/bio.h: No such file or directory

$
0
0

Part Number: TMDXIDK5718

Tool/software: Linux

Hi,

I installed and set up RT Linux SDK6.0 for IDK571 and got below when making the kernel ("make linux" on top level).

...

HOSTCC scripts/extract-cert

scripts/extract-cert.c:21:10: fatal error: openssl/bio.h: No such file or directory
#include <openssl/bio.h>
^~~~~~~~~~~~~~~

...

I observed that "scripts/extract-cert.c" was not compiled / used in SDK5.x

bio.h is found both in SDK6 and 5 toolchain:

find bio.h

./ti-processor-sdk-linux-rt-am57xx-evm-06.00.00.07/linux-devkit/sysroots/armv7at2hf-neon-linux-gnueabi/usr/include/openssl/bio.h

./ti-processor-sdk-linux-rt-am57xx-evm-06.00.00.07/board-support/linux-rt-4.19.38+gitAUTOINC+1224cd679e-g1224cd679e/include/linux/bio.h

./ti-processor-sdk-linux-rt-am57xx-evm-05.03.00.07/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/include/openssl/bio.h

./ti-processor-sdk-linux-rt-am57xx-evm-05.03.00.07/board-support/linux-rt-4.14.79+gitAUTOINC+a72bf1418c-ga72bf1418c/include/linux/bio.h

Regards, Chris

Linux/TDA2EVM5777: Running Linux TIDL exmaples on VAYU VISION APPLICATION BOARD

$
0
0

Part Number: TDA2EVM5777

Tool/software: Linux

Hello,

We have an "ASSY 516620 - VAYU VISION APPLICATION BOARD".

Our goal is to build a Linux image that has tidl examples.

In order to build the Linux system - we used the instructions as described in VisionSDK_Linux_DevelopmentGuide.pdf.

The VisionSDK version is 03_06_00_00.

No problems with the Linux image that we built and is up and running.

But, we want to run the tidl examples described here: http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components_TIDL.html

The link above is related to Processor SDK 06_00_00_07, and it seems that our board is not in the support list:

  • AM5749 (2xEVEs + 2xC66x DSPs)
  • AM5746 (2xC66x DSPs)
  • AM572x (2xC66x DSPs)
  • AM571x (1xC66x DSP)
  • AM5706 (1xC66x DSP)
  • AM5708 (1xC66x DSP)

The examples we want to run are:

  • Imagenet classification
  • Segmentation
  • SSD_Multibox
  • Classifications with Class filterning
  • Unit Tests

But, they are not part of the image that we created using VisionSDK version is 03_06_00_00.

Instead, vision_sdk_load.sh and apps.out were provided - but no tidl.

Question:

  1. Should we use the TI SDK instead of VisionSDK, and repeat the whole buildup process, though the device is not listed? In that case  - we need to know which flags and environment variables should be used
  2. If not, what should we do in order to import and build theses examples, or the their equivalent on our EVM

Thank you

TDA2X - TIDL model EVE execution

$
0
0

Hi everyone,

I am working with Pedestrian detection model trained in Caffe framework. I made conversion to TIDL format and results for sample image after conversion are as expected. Bounding box is located where object really is. When running this model on DSP core within TIDL usecase, using same input image, results are identical to those during the conversion. However, when running it on EVE core, I am getting correct format on the output (confidence value, label, coordinates are valid values) but bounding box occupies majority of image and results are nowhere near the correct ones.

To test further, I converted this model for running on EVE and DSP combined (layersGroupId param). As a comparison I used other object detection model, provided by TI as an example. This model worked well when running with TIDL OD usecase which feature one EVE and one DSP core. But when I set my pedestrian detection model, with this usecase it gave results like ones when it was run on EVE core previously.

Does anybody know, why my model is not working on EVE as it is expected?

P.S. (Please visit the site to view this file)Import config file is in attachment.

Linux/AM3352: RTL8821CU USB WIFI (FP instruction issued in kernel mode with FP unit disabled) ERROR

$
0
0

Part Number: AM3352

Tool/software: Linux

RTL8821CU USB Detected on Device but when i use "ifconfig " Command Device getting Hang. i had attached my log file . i got some bug  (FP instruction issued in kernel mode with FP unit disabled) from log file and i highlight on screen shot.(Please visit the site to view this file)

Linux/TDA2PXEVM: DRA76p with Linux -> TDAP2X AVB

$
0
0

Part Number: TDA2PXEVM

Tool/software: Linux

Assuming TDA2P DRA76P supports OpenGL 2.0.

Facing aliasing issues on the HDMI display.

QT design works fine on X11 but shows aliasing issues on Wayland.

Is there a way to control the aliasing parameters on the Graphics engine. Like enabling anti aliasing filters. etc.


RTOS/TDA2P-ACD: Display SubSystem(DSS) in TDM Mode with pixel repetition

$
0
0

Part Number: TDA2P-ACD

Tool/software: TI-RTOS

Hi All,

I need to configure the DSS in the TDM mode.

I have set the pixel clock of LCD3 to 13.5MHz and I have enabled the TDM mode. 

I have configured the display in with the following configurations:

advPrms.vencId = SYSTEM_DCTRL_DSS_VENC_LCD3;
advPrms.tdmEnable = TRUE;
advPrms.tdmCycleFormat = 0x1;
advPrms.tdmParallelMode = 0x3;
advPrms.noBitsPixel1Cycle1 = 16;
advPrms.noBitsPixel2Cycle1 = 0;


I am expecting the pixel clock output to be 27MHz, but still the pixel clock is 13.5MHz.

The Display control register is showing that TDM mode is ON.

 DISP_CONTROL3 (0x58001848 )   is  f00120

Can anyone please tell me how to get 27MHz output after setting the pixel clock to 13.5MHz and enabling TDM Mode.

 

Regards,

Deepika

 

 

RTOS/TDA3XEVM: Qspi flash in tda3x evm

$
0
0

Part Number: TDA3XEVM

Tool/software: TI-RTOS

Hi,

I was using qspi flash writer and debugging the application to customize according to our needs, I'm using scripting console to load the program to ram location (0x80500000). After loading the firmware I looked into the memory browser of (0x80500000)(gAppReadBuff). The all address from (0x80500000) shows zero in the memory browser. Even I compared the value with dataval  variable, but i'm getting the zero values. Could we know what is the reason for the null values?

uint32_t dataval = *dsttest;
printf("srctest=0x%.8x....\r\n", *srctest);        
printf("dataval=0x%.8x....\r\n",(uint32_t) dataval);

Regards

Prakash

Linux/AM5718: AM5718 custom board SPI configuration issue on hardware

$
0
0

Part Number: AM5718

Tool/software: Linux

Hi All,

We are configuring SPI as per shown below in dts.

&mcspi1 {
status = "okay";
ti,pindir-d0-out-d1-in;

spidev@0{
compatible = "ti,dac124s085";
reg = <0>;spi-cpha=<1>;spi-cpol=<0>;
spi-max-frequency = <12000000>;
status = "okay";
};
};

Also in mux_data.h on am57xx we are setting following :

{SPI1_SCLK, (M0 | PIN_INPUT)}, /* spi1_sclk.spi1_sclk */ 
{SPI1_D1, (M14 | PIN_OUTPUT)}, /* spi1_d1.gpio7_8 */
{SPI1_D0, (M0 | PIN_INPUT | SLEWCONTROL)}, /* spi1_d0.spi1_d0 */ 
{SPI1_CS0, (M0 | PIN_INPUT | SLEWCONTROL)}, /* spi1_cs0.spi1_cs0 */

even though i am setting SPI mode to Mode - 1 still at the time after booting i am getting a high pulse over SCLK pin.

Will you please guide me if there is still any issue in configuration of SPI.

DRA75P: Need direct connect CSI2 Camera Module for J6 EVM, J6+ EVEM

$
0
0

Part Number: DRA75P

Is there an off-the-shelf CSI2 output camera module available for the J6/J6+/TDA2/TDA2+ EVM that mates directly to the CSI2 connector (J8 on J6+ EVM, J5 on J6 EVM)?  That is, need a direct CSI2 connection without SERDES for development purposes.

Linux/AM5728: DDR3 bit width questions

$
0
0

Part Number: AM5728

Tool/software: Linux

Hi,TI

check the TI data sheet and see that two EMIF buses are available in the AM5728 chip, EMIF1 and EMIF2, respectively.

Currently TI's design, both EMIF1 and EMIF2 are mounted with two 16bit DDR3 chips. Then the bus bit width of EMIF1 and EMIF2 should be 32-bit.

So when testing with tools such as stream, should the bit width of the EMIF bus be 32-bit, or 64-bit?

DDR3 theoretical rate = 1066MT/s * 32 bit = 4.2GB/s or DDR3 theoretical rate = 1066MT/s * 64 bit = 8.5GB/s.

which one is correct ?

please let me know that,

Thanks.

RTOS/OMAP-L137: MMCSD with MMCSD_BUS_WIDTH_1BIT

$
0
0

Part Number: OMAP-L137

Tool/software: TI-RTOS

Hi

I am trying to get the MMCSD_evmOMAPL137_c674xTestProject working on a custom board with 1 bit data transfer

I have made changes to the pinmux and have commented out the supported buswidth

 //(MMCSD_BUS_WIDTH_1BIT | MMCSD_BUS_WIDTH_4BIT | MMCSD_BUS_WIDTH_8BIT),/* supportedBusWidth */
        (MMCSD_BUS_WIDTH_1BIT),

The program output is 

MMCSD_evmOMAPL137_c674xTestProject
[C674X_0]
-----------------------------------------------------------
Test Details for test ID      = 13
Test Profile[13]: Description = Default Unit Test (Max speed)
Test Profile[13]: PowerCyle   = Required
Test Profile[13] Device Config : Mode        = SOC Default
Test Profile[13] Device Config : BusVoltage  = SOC Default
Test Profile[13] Device Config : BusWidth    = SOC Default
Test Profile[13] Device Config : Interrupt   = SOC Default
------------------------------------------------------------
DMA is enabled
Interrupts are disabled

Performing RAW mode read/write tests ..
Getting SD Card parameters
SD Card: BlockSize = 512,  BlockCount = 0x01d00000, CardSize = 0x3a0000000 bytes
RAW READ/WRITE: Writing test pattern (256 KB) to the SD card starting at sector 0x4000 in 1 block(s) 256 KB each
Never getting past the raw read write
A snapshot of the registers :

MMCCTL 0x00000004 MMC Control Register [Memory Mapped] 
MMCCLK 0x00000102 MMC Memory Clock Register [Memory Mapped] 
MMCST0 0x00000000 MMC Status Register 0 [Memory Mapped] 
MMCST1 0x00000050 MMC Status Register 1 [Memory Mapped] 
MMCIM 0x00003619 MMC Interrupt Mask Register [Memory Mapped] 
MMCTOR 0x00000000 MMC Response Time-out Register [Memory Mapped] 
MMCTOD 0x0000FFFF MMC Data Read Time-out Register [Memory Mapped] 
MMCBLEN 0x00000200 MMC Block Length Register [Memory Mapped] 
MMCNBLK 0x00000200 MMC Number of Blocks Register [Memory Mapped] 
MMCNBLC 0x00000200 MMC Number of Blocks Counter [Memory Mapped] 
MMCDRR 0x00000080 MMC Data Receive Register [Memory Mapped] 
MMCDXR 0x0000008F MMC Data Transmit Register [Memory Mapped] 
MMCCMD 0x00002A99 MMC Command Register [Memory Mapped] 
MMCARGHL 0x00004000 MMC Argument  Register [Memory Mapped] 
MMCRSP01 0x0A4000BB MMC Response Register 0 and 1  [Memory Mapped] 
MMCRSP23 0x73FF7F80 MMC Response Register 2 and 3 [Memory Mapped] 
MMCRSP45 0x5B590000 MMC Response Register 4 and 5 [Memory Mapped] 
MMCRSP67 0x00000900 MMC Response Register 6 and 7 [Memory Mapped] 
MMCDRSP 0x0000000B MMC Data Response Register [Memory Mapped] 
MMCCIDX 0x00000019 MMC Command Index Register [Memory Mapped] 
SDIOCTL 0x00000000 SDIO Control Register [Memory Mapped] 
SDIOST0 0x00000003 SDIO Status Register 0 [Memory Mapped] 
SDIOIEN 0x00000000 SDIO Interrupt Enable Register [Memory Mapped] 
SDIOIST 0x00000000 SDIO Interrupt Status Register [Memory Mapped] 
MMCFIFOCTL 0x00000006 FIFO Control Register [Memory Mapped]

Anything else I need to take care of ?

regards

developerR

Compiler/TMS320C6678: Any Compiler Option to Speed Up Double Division of C66X DSP Core

$
0
0

Part Number: TMS320C6678

Tool/software: TI C/C++ Compiler

Currently I am stuck at slow DSP calculating double division, which costs me almost 250 cycles(with O3 option and memory cache) for one double type division operation. In the datasheet of TCI6614, it has below description:

The C66x core incorporates 90 new instructions targeted for floating point (FPi) and vector math oriented (VPi) processing....The C66x CPU also

supports SIMD for floating-point operations.

This show several instruction enhancement of C66x. I am wondering if any special compiler option can switch on these enhancements to speed up my float-point division calculation? Or any suggestion to speed up the double type division will be appreciated.


CCS/TMS320C6678: Hardware Setting for C66x DSP Float-point Division Calculation

$
0
0

Part Number: TMS320C6678

Tool/software: Code Composer Studio

Hi experts,

I am working on C66x DSP double type division, and one operation costs me a lot(almost 250 cycles). I am thinking is there any hardware chip configuration(register or some cable connection configuration) can reduce the cycle to a reasonable amount. 

git://git.ti.com/processor-sdk/processor-sdk-linux.git;protocol=git;branch=processor-sdk-linux-03.00.00 results in failure.

$
0
0

I'm trying to build an image that is using yocto.

During the yocto build, it attempts to do a pull from git://git.ti.com/processor-sdk/processor-sdk-linux.git;protocol=git;branch=processor-sdk-linux-03.00.00

with the message "Unable to fetch from any source".  There are several mirror sites that get tried, however they all fail.

I thought perhaps it's just the older revision, however, when I modified the line to the 04.03.00 repository, like so..

git://git.ti.com/processor-sdk/processor-sdk-linux.git;protocol=git;branch=processor-sdk-linux-04.03.00

the pull request still failed.

The source tree seems to be accessible, but the git pull to package it properly for the yocto build fails.

Is there a server down?  This has been going on four a week now. 

In the past, a burp like that goes away after an hour or two.. this time it's pretty permanent.

Any idea what's going on or how I can fix this?

Thanks

Rick

Compiler/OMAPL138B-EP: Floating Point conversion crashes system

$
0
0

Part Number: OMAPL138B-EP

Tool/software: TI C/C++ Compiler

Hello all,

I am working on the OMAPL138 DSP in a System with multiple Tasks, all using (single precision) floating Point calculations.

I Need to add the following Code in the main() Task:

typedefstruct

{

       float32 InputVal;

       int32        Position;

} _Sample_t;

 

 

typedefstruct/*union*/

{

       _Sample_t Sample[4096];

       double                     Val[4096];

} Buffer_t;

 

 

staticBuffer_t           Buffer[3];

 

 

[…]

// main Task function

 

float32 InputVal;

int32 Position;

usign32 i;

 

for (i = 0; i < 4096; i++)

{

InputVal = Buffer[AxisID].Sample[i].InputVal;

Position   = Buffer[AxisID].Sample[i].Position;

 

_disable_interrupts();

Buffer[AxisID].Val[i] = InputVal;

_enable_interrupts();

}

This Code works only with the Interrupt lock as shown. When I remove it, it would disturb the calculations in a fast task.

I was not able to find out what exactly happens. I also failed in creating an easier Code that would show the Problem.

Thanks for any help.

Alexander

e2e.ti.com/.../272989

AM5728: QT Build Environment in Yocto

$
0
0

Part Number: AM5728

Hello, 

I am using a custom carrier board for the AM5728. I have been able to cross compile and build QT applications with QTCreator on my development host by sourcing the environment-setup in the TI SDK and following the tutorial's setup steps. I am now trying to replicate that QT application build in yocto. I have attached a sample bitbake recipe that I am using currently. This recipe that I have attached successfully builds and runs on the target platform, but it seems that the compiler has compiled the application slightly differently. 

I have picked up in the difference because I am doing some multithreading operations in the application and it seems that there was a thread spinning in a while loop waiting for a flag condition to be set by another thread. When compiled through yocto, the while loop would never break free, whereas when compiled with QT creator (sourcing TI's environment-setup script), it would behave as anticipated.The issue I am having seems to be related to compiler options/flags or compiler optimization.

How can I ensure that my development build environment with QT Creator is identical to that of the yocto build environment? Is there something I can modify in my recipe to ensure the environments are identical?

Thanks, 

PROCESSOR-SDK-AM335X: Integrating meta-iot-cloud layer

$
0
0

Part Number: PROCESSOR-SDK-AM335X

Hello,

I need help with integrating meta-iot-cloud layer to the processor-sdk arago bitbake build. I am trying to build azure packagegroup from meta-iot-cloud layer  for tisdk-rootfs-image. Has anybody done it before? If yeah then can you help me?

Viewing all 17527 articles
Browse latest View live


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