Quantcast
Channel: Forums - Recent Threads
Viewing all 262198 articles
Browse latest View live

CC3200: sl_FsOpen with FS_MODE_OPEN_CREATE fails to create file with Error [-100]

$
0
0

Part Number:CC3200

Hi,

I am trying to create a file with:

#define SL_MAX_FILE_SIZE        64L*1024L       /* 64KB file */
#define BUF_SIZE                2048
#define USER_FILE_NAME          "fs_demo.txt"

/* Application specific status/error codes */
typedef enum{
    // Choosing this number to avoid overlap w/ host-driver's error codes
    FILE_ALREADY_EXIST = -0x7D0,
    FILE_CLOSE_ERROR = FILE_ALREADY_EXIST - 1,
    FILE_NOT_MATCHED = FILE_CLOSE_ERROR - 1,
    FILE_OPEN_READ_FAILED = FILE_NOT_MATCHED - 1,
    FILE_OPEN_WRITE_FAILED = FILE_OPEN_READ_FAILED -1,
    FILE_READ_FAILED = FILE_OPEN_WRITE_FAILED - 1,
    FILE_WRITE_FAILED = FILE_READ_FAILED - 1,

    STATUS_CODE_MAX = -0xBB8
}e_AppStatusCodes;
    //
    //  create a user file
    //
    lRetVal = sl_FsOpen((unsigned char *)USER_FILE_NAME,
                FS_MODE_OPEN_CREATE(3584, \
                          _FS_FILE_OPEN_FLAG_COMMIT|_FS_FILE_PUBLIC_WRITE),
                        ulToken,
                        lFileHandle);
    if(lRetVal < 0)
    {
        UART_PRINT("\n\r Failed to open file\n\r");
        //
        // File may already be created
        //
        lRetVal = sl_FsClose(*lFileHandle, 0, 0, 0);
        ASSERT_ON_ERROR(lRetVal);
    }
    else
    {
        //
        // close the user file
        //
        lRetVal = sl_FsClose(*lFileHandle, 0, 0, 0);
        if (SL_RET_CODE_OK != lRetVal)
        {
            ASSERT_ON_ERROR(FILE_CLOSE_ERROR);
        }
    }

I am getting Error [-100]. Why I am getting this error?

Thank you.


IWR6843ISK-ODS: Point Cloud Demo Threshold and Group Peaks Options

$
0
0

Part Number:IWR6843ISK-ODS

Hi Team,

mmWave Demo Visualizer seems not compatible with IWR6843ISK-ODS. I could not make sense of the plots it produced unless I am running 1RX, 1TX.
For ODS Point Cloud Demo lab25 I would like to have more options I can play with, suchlike disable group peaks from the same object, change CFAR, Doppler threshold and use different config files.

I am trying to detect the texture of surface. 

So the question would be

1 Is there a way to make mmWave Demo Visualizer works with IWR6843ISK-ODS?

2 How to modify lab 25 so I can have more tuning options. 

RTOS/CC2642R: High Current Consumption Following f_open Call.

$
0
0

Part Number:CC2642R

Tool/software: TI-RTOS

Hello,

We have been looking into issues regarding current consumption on the SPI micro-SD card interface on custom boards that were upgraded to the CC2642R1 (Rev E. Silicon – SDK 3.10.0.53) from the CC2640. With the new CC2642R1 hardware and associated TI software upgrades, we consistently see system current of approximately 18.5 mA whereas on the older CC2640 boards the current was approximately 1.5 mA. These currents were measured on multiple CC2642R1 and multiple CC2640 boards all with the same micro-SD card.

Under a hypothesis that the high current consumption was related to the f_writes, which occur every 900 ms, a simple program for the CC2642R1 board was developed to see if any changes in current consumption could be noted when the f_writes were replaced with no-ops. The program consisted of a call to the SDFatFs driver for initialization, then an f_open followed by a no-op every 900 ms. We verified none of MISO, MOSI, and SCLK lines were active after the f_open. Using an inline ammeter I measured a system runtime current consumption of 18.5 mA. I concluded that that high current was not due to the f_write operations.

The next hypothesis was that there is an issue with the FATfs initialization process, since it was verified through the use of a scope that no micro-SD card activity was occurring following FATfs initialization.

Keeping the same program on the CC2642R1 board, I then stepped through the code with the in-line ammeter attached during the debugging session to see where in the code the current increased from approximately 0.3 mA to 18.5 mA. During the debugging session I found that the increase in current occurred following a call to f_open and remained at 18.5 mA even when the file was closed. Digging deeper into the f_open call, I found that the increase in current occurred at the end of the first iteration of the following code snippet from SDPI.c:

do {
	/* ACMD41 with HCS bit */
	if ((sendCmd(object->spiHandle, CMD55, 0) <= 1) &&
		(sendCmd(object->spiHandle, CMD41, 1UL << 30) == 0)) {
		status = SD_STATUS_SUCCESS;
		break;
        
		}
        currentTime = ClockP_getSystemTicks();
} while ((currentTime - startTime) < timeout);

Having measured total system current up to this point, I needed to isolate exactly where the current consumption was coming from. To do this, the ammeter was connected between the VCC supply and the VCC pin of the micro-SD card’s interface. After initializing the FATfs and applying power to the micro-SD’s VCC pin, the current was measured at 0.3 mA. Following the call to f_open, a current of 18.23 mA was measured.

 

At this point I was convinced that the high current was related to an interaction between the f_open function and the micro-SD card. Since the micro-SD card interface was identical on my CC2640 and CC2642R1 boards, I thought it unlikely that the high current was due to my custom hardware, but ran the test below to test this assumption.

To determine if the high current consumption by the micro-SD card was independent of my hardware, I tested on a TI CC2642R1 LaunchPad (Rev C silicon) with an Adafruit micro-SD card breakout board attached.  As with the custom CC2642R1 boards, the micro-SD card current through the VCC pin jumped from 0.2 mA to a constant 18.82 mA following the call to f_open. This block diagram of how the current measurement was obtained along with the code used is shown below:

/*
 *  ======== main.c ========
 */

#include <xdc/std.h>
#include <xdc/runtime/System.h>
#include <xdc/runtime/Error.h>
#include <file.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <ti/sysbios/knl/Task.h>
#include <ti/sysbios/knl/Semaphore.h>
#include <ti/sysbios/BIOS.h>
#include <ti/sysbios/knl/Clock.h>
#include <ti/drivers/Power.h>
#include <ti/drivers/power/PowerCC26XX.h>
#include <ti/drivers/SPI.h>
#include <ti/drivers/spi/SPICC26XXDMA.h>
#include <ti/drivers/I2C.h>
#include <ti/drivers/UART.h>
#include <ti/drivers/uart/UARTCC26XX.h>
#include "ti/drivers/SDFatFS.h"
#include "third_party/fatfs/ff.h"
#include <third_party/fatfs/diskio.h>
#include "C:\ti\simplelink_cc2640r2_sdk_2_30_00_28\source\third_party\fatfs\ff.c"
#include "Board.h"

/*
 *
 *  Pin setup for CC2642R1 (rev C silicon) LaunchPad to Adafruit Micro SD card module
 *
 *  --- Launch Pad pin ---    --- Micro SD pin ---
 *          3.3 v                     3.0 v          // VCC
 *          GND                       GND            // GND
 *          DIO10                     CLK            // SCLK
 *          DIO8                      DO             // MISO
 *          DIO9                      DI             // MOSI
 *          DIO21                     CS             // SD CS
 *
 */



SDFatFS_Object myObj;
SDFatFS_Config SDFatFS_config[] =
     {
         { &myObj },
         NULL
     };
uint_least8_t SDFatFS_count = sizeof(SDFatFS_config) / sizeof(SDFatFS_config[0]) - 1;


/* Set this to the current UNIX time in seconds */
const struct timespec ts = {
    .tv_sec = 1469647026,
    .tv_nsec = 0
};

int32_t fatfs_getFatTime(void)
{
    time_t seconds;
    uint32_t fatTime;
    struct tm *pTime;

    seconds = time(NULL);

    pTime = localtime(&seconds);

    fatTime = ((uint32_t)(pTime->tm_year - 80) << 25) |
    ((uint32_t)(pTime->tm_mon) << 21) |
    ((uint32_t)(pTime->tm_mday) << 16) |
    ((uint32_t)(pTime->tm_hour) << 11) |
    ((uint32_t)(pTime->tm_min) << 5) |
    ((uint32_t)(pTime->tm_sec) >> 1);

    return ((int32_t)fatTime);
}


FATFS fs[2];         /* Work area (filesystem object) for logical drives */
FIL fsrc, fdst;      /* File objects */
BYTE buffer[4096];   /* File copy buffer */
FRESULT fr;          /* FatFs function common result code */
UINT br, bw;         /* File read/write count */
BYTE workarea[4096];    /* Work area */

void mainThread()
{

    SDFatFS_Handle sd_handle;
    SDFatFS_init();

    sd_handle = SDFatFS_open(Board_SD0,0);
    if (sd_handle == NULL) {
        //Error opening SDFatFS driver
        while (1);
    }

    /* Open source file, handle errors */
    fr = f_open(&fsrc, "myfile", FA_OPEN_EXISTING | FA_WRITE);
    switch (fr)
    {
    case FR_NO_FILE:
        fr = f_open(&fsrc, "myfile", FA_CREATE_NEW | FA_WRITE);
        System_printf("fr after f_open: %d \n",fr);System_flush();
    default:
        break;
    }

    if(fr != 0)
        while(1);


    /* Write to file, sync, sleep, read, print, repeat ... */
    uint8_t counter = 0;
    char buffer [100];
    int cx;
    while (counter <= 100)
    {

        /* Write count as string to file ... */
        cx = snprintf (buffer, 100, "Count is: %d \r\n", counter);
        System_printf("current count: %d\n",counter);System_flush();
        fr = f_write(&fsrc, buffer, cx, &bw);
        if(fr != 0)
            while(1);

        /* Try to sync */
        fr = f_sync(&fsrc);
        if(fr != 0)
            while(1);

        /* Delay */
        CPUdelay(8000 * (1000));

        counter++;
    }

    /* Close open files */
    f_close(&fsrc);


    while(1)
        CPUdelay(8000 * (1000));

}



/*
 *  ======== main ========
 */
int main()
{
    /* Call driver init functions */
    Board_initGeneral();
    I2C_init();
    SPI_init();
    UART_init();

    // Declare task param structure and task handle
    Task_Params taskParams;
    Task_Handle sampleSensors;

    Error_Block eb;
    Error_init(&eb);
       /* Create 1 task with priority 1 */
    Task_Params_init(&taskParams);
    taskParams.stackSize = 2048;
    taskParams.priority = 1;
    sampleSensors = Task_create((Task_FuncPtr)mainThread, &taskParams, &eb);
    if (sampleSensors == NULL) {
        System_abort("Task create failed");
    }

    //call BIOS_start() enables interrupts and starts the scheduler with BIOS
    BIOS_start();

    return (0);
}



/*
 * Copyright (c) 2015-2017, Texas Instruments Incorporated
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * *  Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * *  Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * *  Neither the name of Texas Instruments Incorporated nor the names of
 *    its contributors may be used to endorse or promote products derived
 *    from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

Given that the high current consumption by a micro-SD card discovered on my CC2642R1 custom boards and is also present when using the TI CC2642R1 LaunchPad, I am concerned there is a problem with the TI-supplied software.   Could it be that there is a driver issue where during the f_open call something occurs that does not allow the micro-SD card to return to a normal power state? Was current consumption measured as part of software verification for the current RTOS/FATfs/SDK/CC2642R1 hardware?

To meet our system runtime requirements, we need to return to the 1.5 mA average current. We are hopeful that someone at TI can repeat our tests run on the CC2642R1 LaunchPad and develop a solution.

Thanks,

- Stephen Poanessa

TPS65987D: USB PD Controller damaged (Low impedance VBUS to GND)

$
0
0

Part Number:TPS65987D

Hi, we are using the TPS65987DDH on a BMS application (Power Bank). 

It is supposed to operate as a DRP, and the TI Application Customization Tool has been used to prepare a configuration. 

The USB PD Controller schematic is as follows:

^ R112 is not populated.

^ R123, R128 not populated.

^ R17 not populated.

After usage on the PD Controller to turn on a non inverting buck boost converter (charger for the power bank) on the USB_SINK line, there are random failures that we are observing. One common failure that is observed is there is low impedance between VBUS and GND (~ 6 ohm). In addition to this, the low voltage circuitry on the PD Controller also fails (Excess current drawn from 3V3 as well and PD Controller turning hot) > 80 degree C. We are observing the highest voltage due to transients on the USB_SINK, USB_SRC, VBUS line is not higher than 20.8V, which is still acceptable under the operating limit ( < 22V). Hot plugging transients with a 2 meter USB cable are < 22V.

1. What can be the possible causes of having these failures? Anyone experienced this before?

2. Can the FMEA for the PD Controller be shared?

3. The PD Sleep Configuration is currently as per 1000 msec. What is the sequencing followed for the power path opening when the USB PD goes to sleep from idle?

Thank you

TMS570LS3137: ICCPLL Current Max

$
0
0

Part Number:TMS570LS3137

Hi,

The datasheet calls for ICC, ICCPLL max current to be 440mA as stated on page 44, figure 5.7 of the data sheet. Can you explain is this 440mA per pin or per rail?    If 440mA per rail then are you saying the VCCPLL pin can draw maximum 440mA?  And in addition VCC (pins combined (total rail)) can draw an additional 440mA?   Or is the intention ICC+ICCPLL can draw a total combined of 440mA max (hence all VCC and VCCPLL pins total sum is 440mA maximum combined).     If each rail then for VCCPLL seems like it is a lot of current for one ball; hence we wanted confirmation on the rails.   

Thanks, 

HSG 

CCS: CCS9 App center doesn't work

$
0
0

Tool/software: Code Composer Studio

Hello everyone,

I am trying to connect to CCS9 App center to install Grace to configure MSP430FR2355 (launchpad) and it just wouldn't connect.

Also I have tried installing version 8 but same result.

Again tried reading around and tried with changing proxy setting and external browser, also didn't do anything.

Before all of it turned down firewall and antivirus but no effect.

I am using Windows10 pro.

Can anyone drop some hint what else I could try?

MSP-TS430RHA40A: Problem using SBW with MSP-FET

$
0
0

Part Number:MSP-TS430RHA40A

Hi,

I have a weird problem when trying to flash/program the MSP430FR5739 using SBW with CCS. The devkit JP4 to JP9 being placed on 1-2 for SBW. C5 is DNP. The program only flashes with JTAG or an older version of the MSP-FET.

I have two versions of the MSP-FET, the latest edition with serial 1805002D7 has an issue when trying to flash the code using CCS, I am getting:

"Error connecting to target: unknown device" (only when using SBW)

The older version of the MSP-FET is uploading the code, but it is not always able to connect. Sometimes it refuses to connect at all.

Fore more information the JTAG is working fine, I need SBW to work and I am not sure what is causing the issue, I have a prototype that is using the MSP430FR5738 and it is having exactly the same problem.

WEBENCH® Tools: Level Translator solution

$
0
0

Tool/software: WEBENCH® Design Tools

Hi,

We are looking to design a level shifter for an I2C bus between our system and a target device. The
specifications for each are as follows:

System:
 3.3V I2C bus (2 data lines – SDA and SCL)
 3.3V power supply capable of sourcing 1A
 5.0V power supply capable of sourcing 1A

Target:
 Unknown voltage I2C bus between 1.8V – 5.0V
 Target voltage reference capable of sourcing 10uA
 Common ground with the host system

Please do provide a solution.


MSP430G2553-Q1: msp430g2553

$
0
0

Part Number:MSP430G2553-Q1

hi everyone,

I'm beginner at msp430g2553. however, I'm trying to use IR LED for toggling the 4 different LEDs in reciever. I have 4 button, 1  IR LED in transmitter and 4 LED, 1tsop1838 reciever  in reciever. In theorical, I know that it's better if i send different signals for each LED. So i need to create 4 different signal. But the problem is I dont know how can I create this signal and how should i read it.

I2C NACK detection using Interrupts/Polling

$
0
0

Part Number:TMS320F28377S

I have developed an I2C communication driver for a multi-slave system for the TMS320F2837xS family of controllers that I am unit-testing on the LaunchPadXL for 28377S.

I encountered a hardware issue with one of the evaluation modules (IO_EXPANDER_EVM, repopulated with TCA9555) used as a slave device, where the TCA9555 does not ACK even when addressed correctly. This is a hardware setup issue because I have a second EVM repopulated with the TCA9555 which has the same address pin configuration, which is working correctly. 

I have been able to detect these NACKs because I've been using a protocol analyzer to monitor the I2C bus transactions. (attached snip with "*" in the Addr column denoting NACKs).

I have included a flag in my driver to indicate if a NACK is received based on the I2C Status Register (I2CSTR). However, the NACK bit never seems to be set. I believe I am missing something while polling the NACK bit. The 2837xS controller is always the master and being used in non-repeat mode.

My interrupt sources for read and write transaction are ACCESS_READY and STOP_CONDITION detected. I check the NACK bit in the interrupt service routine

Is the NACK bit in the status register cleared every time a stop condition is issued?

Do I have to explicitly enable NACK interrupts to be able to detect the NACK? If I do this, will an expected NACK (generated by the master controller) at the end of a normal read also generate an interrupt that I will have to account for in the ISR?

RTOS/TM4C1294NCPDT: RS485: Works for 9600,8,1,none but not for 9600,7,1,even

$
0
0

Part Number:TM4C1294NCPDT

Tool/software: TI-RTOS

Using UART3 as RS485, I can communicate at 9600, 8, 1, None.  When I change the comport settings to 7, 1, and Even, the data is not correct.  Here is my init code:

uint32_t g_ui32SysClock = SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ |
SYSCTL_OSC_MAIN |
SYSCTL_USE_PLL |
SYSCTL_CFG_VCO_480), 120000000);

SysCtlPeripheralEnable(SYSCTL_PERIPH_UART3);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOJ);

// Set GPIO PJ0 and PJ1 as UART pins.
GPIOPinConfigure(GPIO_PJ0_U3RX);
GPIOPinConfigure(GPIO_PJ1_U3TX);
GPIOPinTypeUART(GPIO_PORTJ_BASE, GPIO_PIN_0 | GPIO_PIN_1);

if (false) // make this a system data var
{
// 9600, 8, 1, none
UARTConfigSetExpClk(UART3_BASE, g_ui32SysClock, 9600,
(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |
UART_CONFIG_PAR_NONE));
}
else
{
// 9600, 7, 1, even
UARTConfigSetExpClk(UART3_BASE, g_ui32SysClock, 9600,
(UART_CONFIG_WLEN_7 | UART_CONFIG_STOP_ONE |
UART_CONFIG_PAR_EVEN));
}

UARTEnable(UART3_BASE);
UARTTxIntModeSet(UART3_BASE, UART_TXINT_MODE_EOT);

IntMasterEnable();
IntEnable(INT_UART3);
UARTIntEnable(UART3_BASE, UART_INT_RX | UART_INT_RT | UART_INT_TX);

What am I missing?

BQ27541: Program ChemID using bqtool SDK

$
0
0

Part Number:BQ27541

I am trying to reprogram the ChemID of bq27541 using bqtool SDK, but I can't figure out how to use either of these commands:

For the below ProgChem command, it returns the following error:
"Function failed. Error code 1422. Translated Requested data not found."
It is due to the chemID I entered does not exist?
If so, which directory should I place the "chemistry" folder or files?

int ProgChem(const char * bqzContainerName,
const char * commandpipeName,
int chemID 
)

For the below ProgChemFile command, I cannot figure out the way to extract a single chemistry ID file.
I am assuming this is ".chem" file but is there any way I can generate target ChemID's chemistry file using Battery management studio?

int ProgChemFile(const char * bqzContainerName,
const char * cmdChannelName,
const char * chemFileName 
)

Thank you for your support.

TMS320F28379D: PM_bissc Library Functions run Slowly

$
0
0

Part Number:TMS320F28379D

In sprui37, Section 3.1, Table-1, indicates how many cycles each library function consumes.  Measuring them shows that they consume twice as many cycles as the document suggests.

TPS25221: CB Reports and UL recognition certificate

$
0
0

Part Number:TPS25221

Hi TI

I would like to get the IEC 60950 and IEC 62368 reports, and the UL recognition certificate for TPS25221

Thanks

Mohamed

flying start Startup problem

$
0
0

Evaluation board:  drv8301-hc-evm revd

Lab 10e Flying Start

Using the same motor parameters and PI parameters as Lab10a, almost all parameters are set the same, why Lab10a can start smoothly and run normally at 200~2000rpm, but Lab 10e cannot start smoothly and only run normally after shaking for a few seconds, why? Which parameters should be modified to solve the smooth startup problem of Lab 10e?


TMS320F28377D: ERROR 304: "Unable to modify COM port state" Using C2000gang.dll InitCom function

$
0
0

Part Number:TMS320F28377D

I am doing production programming using the C200gang programmer from Elpotronics and using the associated library C200gang.dll.

I never have a problem using the C2000 gang GUI.  Using the DLL, I can program once.  Then when I run InitCom again, I get ERROR 304: Unable to modify COM port state.  I'm setting to 115200, and COM2 is the correct port.  I am using ReleaseCom function once I am done calling the DLL the first time.  If I ignore the error, I get error 306 which is another com port error.

I usually can unplug and and plug in the USB (Virtual Com Port) and then get it to work again but sometimes it takes a few tries.

RTOS/CC1310: Buffered UART from RTOS-level?

$
0
0

Part Number:CC1310

Tool/software: TI-RTOS

Is there an equivalent of the System_printf() and UartPrintf_flush() setup, but for buffered UART RX?

I have been using some projects (sensor, collector) that use that design, where the buffered output data is effectively provided by the RTOS via the idle hook. It's a good design, much less to worry about in the application code.

I was curious to know if TI has already implement & ships a similar setup, where the RTOS just handles a UART poll or callback into a buffer, and then provides an interface to that buffer at a higher level?

Some searching on the forums demonstrates that some folks have implemented their own dedicated-task UART reader and ring buffering setup. But if I can save myself the effort and get a first-party code module, that would be preferable.

SN65DSI86: driver code

$
0
0

Part Number:SN65DSI86

Hello Team,

SN65DSI86 is used as the transceiver from MIPI DSI to eDP.

The user is implementing driver code based on the linked source.

 https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/bridge/ti-sn65dsi86.c

I2C access is okay, but it cannot get the information from panel.

Please help to solve the following issue.

We are trying to register ti-sn65dsi86 (mipi DSI to eDP bridge) driver in i.MX8QXP.

 

As far as I understand, following shall be the link of the nodes in the DTSI:

MIPI_DSI1 -> MIPI_DSI_BRIDGE1 -> eDP_BRIDGE > PANEL

To do so we  have added the driver and done modifications in the DTSI (please find attached file). Please note that the customer uses the eDP bridge on i2c0_csi0 pad group and not the default i2c0_mipi_lvds0 for MIPI DSI display configuration and pinctrl changes were similarly done.

 

We are able to probe the I2C slave device (edp bridge) at 0x2c, but it fails to find a DRM Panel. We are trying to display on HDMI monitor of 1920x1080 resolution and used a panel (from panel-simple.c) similar to this.

 

We also have a query on how to register the drm_dp_aux_register for eDP bridge. We have added the i2c-bus node in the edp-bridge in dtsi to register the sub device of i2c. Is this the correct way to do it?

 

Please find the related logs as below:

 

root@imx8qxpdsw:~# dmesg  | grep -i drm
[    0.000000] Kernel command line: console=ttyLP0,115200 earlycon=lpuart32,0x5a060000,115200 root=/dev/mmcblk0p2 rootwait rw quiet drm.debug=0x3F
[    0.457928] [drm:drm_core_init] Initialized
[    0.463890] [drm:ti_sn_bridge_probe] *MSS* 685:: Enter Probe of DSI86
[    0.470541] [drm:ti_sn_bridge_probe] *MSS* 691::
[    0.475440] [drm:ti_sn_bridge_probe] *MSS* 698::
[    0.480339] drm_of_find_panel_or_bridge:262:: node edp-bridge
[    0.486267] drm_of_find_panel_or_bridge:263:: node /i2c@58226000/edp-bridge@2c
[    0.511456] [drm:ti_sn_bridge_probe] *ERROR* could not find any panel node
[    0.518346] [drm:ti_sn_bridge_probe] *MSS* 706:: node edp-bridge
[    0.524541] [drm:ti_sn_bridge_probe] refclk not found
[    0.524548] [drm:ti_sn_bridge_probe] *MSS* 720::
[    0.529503] [drm:ti_sn_bridge_probe] *MSS* 728::
[    0.534407] [drm:ti_sn_bridge_probe] *ERROR* failed to get enable gpio from DT
[    0.541641] [drm:ti_sn_bridge_probe] *MSS* 740::
[    0.546705] [drm:ti_sn_bridge_probe] *MSS* 747::
[    0.564441] [drm:ti_sn_bridge_probe] *MSS* 758::
[    0.569486] [drm:drm_dp_aux_register_devnode] drm_dp_aux_dev: aux [ti-sn65dsi86-aux] registered as minor 0
[    0.569644] [drm:ti_sn_bridge_probe] *MSS* 772::
[    0.574537] [drm:ti_sn_bridge_probe] *MSS* 775::

 

root@imx8qxpdsw:~# i2cdetect -l

i2c-3   i2c             ti-sn65dsi86-aux                        I2C adapter

i2c-1   i2c             56246000.i2c                            I2C adapter

i2c-2   i2c             5a810000.i2c                            I2C adapter

i2c-0   i2c             58226000.i2c                            I2C adapter

root@imx8qxpdsw:~# i2cdetect 0

WARNING! This program can confuse your I2C bus, cause data loss and worse!

I will probe file /dev/i2c-0.

I will probe address range 0x03-0x77.

Continue? [Y/n] y

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f

00:          -- -- -- -- -- -- -- -- -- -- -- -- --

10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

20: -- -- -- -- -- -- -- -- -- -- -- -- UU -- -- --

30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

70: -- -- -- -- -- -- -- --

 

 

Please help us know if I'm missing some crucial settings.

AM3358: Added or removed contents in Rev.K Datasheet

$
0
0

Part Number:AM3358

Hi,

In AM335x Rev.K datasheet, many contents have been added or removed from Rev.J datasheet.
My customer have following questions.

Q1.
In Rev.K datasheet page.9 Table 3-1, the value of "DEV_FEATURE register" have been added.
And it said, see the TRM for more details about the DEV_FEATURE register.
In AM335x TRM, there are session about DEV_FEATURE register but no details.
We want to know the meanings of the DEV_FEATURE register value listed in datasheet Table3-1.
Could you provide us the details of each bit fields of this register?

Q2.
We have question about the IBIS model.

gpmc_ad[15:0] Transition time have been removed from the
"Table 7-32 GPMC and NAND Flash Switching Characteristics - Asynchronous Mode"
in Rev.K datasheet page.145.

Could we keep using the same IBIS model which we already using before the datasheet changed from Rev.J?
Or are there plan to release the new IBIS model related to the changes of the datasheet and
we need to use the new model?

Q3.
Transition time parameter of SDA and SCL have been removed from the
"Table 7-72. Switching Characteristics for I2C Output Timings".

The provision have been removed from the datasheet(rev.K),
but could we think that the max output transition timing are the same as the timing written in rev.J datasheet?

Q4.
"CARRIER TYPE" have been added in Rev.K datasheet page.235 "Figure 8-1. AM335x Device Nomenclature".
Blank = Tray, R = Tape and Reel.
But from TI web site, it seems that all part number which have "R" in the end of the number are not available now.
Are customer available to oder the tape and reel carrier type?

best regards.
g.f.

Simulation, hardware & system design tools forum

$
0
0

Part Number:WEBENCH-POWER-DESIGNER

Tool/software: WEBENCH® Design Tools

Hi

New Webench tools would be based on HTML.

Could we use new Webench on any browser?

If not, is there recommended browser and version?

BestRegards

Viewing all 262198 articles
Browse latest View live


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