• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Digital Signal Processors (DSP) » OMAP™ Processors » OMAP-L13x, AM1x and C674x Processors Forum » HPI (Host port interface) on OMAP l138: HRDY is always high
Share
OMAP™ Processors
  • Forums
  • Announcements
Options
  • Subscribe via RSS
Resources
  • OMAP-L1x DSP+ARM9™-based Processors Product Folder
  • OMAP3525/30 DSP+ARM Cortex™-A8-based SOCs Product Folder

  • Top OMAPL Wiki Links
  • OMAPL3x Schematic Review Checklist
  • OMAPL13x Boot resources

  • OMAPL Document Resources
  • OMAPL137 Technical reference manual
  • OMAPL138 Technical reference manual
  • OMAPL Boot loader App Notes
  • Forums

    HPI (Host port interface) on OMAP l138: HRDY is always high

    This question is answered
    Mirco Golutti
    Posted by Mirco Golutti
    on Sep 07 2012 10:01 AM
    Prodigy90 points

    Hello.

    I have a problem with HPI on OMAP l138.

    the signal HRDY is always high, so i can't recive data to HPI.

    I can access into HPIA and HPIC but i can't to HPID.

    I have configurated the PINMUX:

    PINMUX13 = 0x22222222; PINMUX14 = 0x22222222; PINMUX15 = 0x22222222;

    bit HPIENA = 1 of CFGCHIP1;

    and i have configurated Power Sleep Control.

    My hardware configure is :

    HCS always "0"

    HDS0 always "1"

    HDS1 signal strobe

    I checked the signals with Signals Analyzer and are corrected.

    But the HRDY is always High.

    Why?

    thanks.

    OMAP HPI HRDY
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • Mirco Golutti
      Posted by Mirco Golutti
      on Sep 11 2012 03:10 AM
      Prodigy90 points

      New updates

      Now  HRDY moves correctly.
      I had to reset HPIC = 0x00000000 into Dsp.

      Maybe this procedure is necessary to resettar HPIRSTH, because it isn't accessible from the external host (R-1), but only by DSP(R/W-1)  (Spruh77A pag 961).

      Unfortunately reading and writing data doesn't work.

      Is it possible that HPI DMA Logic is locked?

      The HPI signals cycle are corrected.

      What should I configure?

      Can the ARM interfere with read-write operations?


      Can I give special privileges to HPI? It seems that i don't  have access to data.

      Thanks

       

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Mirco Golutti
      Posted by Mirco Golutti
      on Sep 17 2012 04:35 AM
      Prodigy90 points

      New updates

      Despite signals look right, I can't still access to data.

      these are the output signals.

      UHPI_HCS always low

      UHPI_HDS2 always High

      UHPI_HDS1 is the internal strobe signal.

      UHPI_HAS alaways high.

      I also added the code to initialize the device:


      /*System MMR Declaration*/
      #define SYS_BASE 0x01C14000
      #define CONFIGCHIP1 *(volatile unsigned int*)(SYS_BASE + 0x180) //PINMUX13
      #define PINMUX13 *(volatile unsigned int*)(SYS_BASE + 0x154) //PINMUX13
      #define PINMUX14 *(volatile unsigned int*)(SYS_BASE + 0x158) //PINMUX14
      #define PINMUX15 *(volatile unsigned int*)(SYS_BASE + 0x15C) //PINMUX15
      #define HPIC *(volatile unsigned int*)(0x1E10030)
      #define HPIAW *(volatile unsigned int*)(0x1E10034)
      #define HPIAR *(volatile unsigned int*)(0x1E10038)

      /*
      * Funzione di inizializzazione
      */
      void InitializeHostport(){

      /* Abilita Tensione ai Hostport */
      PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_UHPI, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE);

      /* Resetto i pinpux*/
      PINMUX13 = 0x00000000;
      PINMUX14 = 0x00000000;
      PINMUX15 = 0x00000000;

      /*
      * SYSCFG è un modulo dell'omap che mi permette di definire la funzione dei pin del dispositivo.
      */

      /* Configurazione dei bit di controllo indirizzi dell'Host port*/
      ConfigurationModuleSetup(13, SYSCFG_PINMUX13_PINMUX13_23_20, SYSCFG_PINMUX13_PINMUX13_23_20_SHIFT, SYSCFG_PINMUX13_PINMUX13_23_20_UHPI_HCNTL1);
      ConfigurationModuleSetup(13, SYSCFG_PINMUX13_PINMUX13_19_16, SYSCFG_PINMUX13_PINMUX13_19_16_SHIFT, SYSCFG_PINMUX13_PINMUX13_19_16_UHPI_HCNTL0);

      /* Configurazione dei bit di chip select dell'Host port*/
      ConfigurationModuleSetup(14, SYSCFG_PINMUX14_PINMUX14_3_0, SYSCFG_PINMUX14_PINMUX14_3_0_SHIFT, SYSCFG_PINMUX14_PINMUX14_3_0_NUHPI_HCS);

      /* Configurazione dei bit Read\Write dell'Host port*/
      ConfigurationModuleSetup(13, SYSCFG_PINMUX13_PINMUX13_31_28, SYSCFG_PINMUX13_PINMUX13_31_28_SHIFT, SYSCFG_PINMUX13_PINMUX13_31_28_UHPI_HRNW);

      /* Configurazione dei bit per l'identificazione dei bit più significativi o meno significativi dell'Host port*/
      ConfigurationModuleSetup(13, SYSCFG_PINMUX13_PINMUX13_27_24, SYSCFG_PINMUX13_PINMUX13_27_24_SHIFT, SYSCFG_PINMUX13_PINMUX13_27_24_UHPI_HHWIL);

      /* Configurazione dei bit di strobe sugli indirizzi dell'Host port*/
      ConfigurationModuleSetup(13, SYSCFG_PINMUX13_PINMUX13_3_0, SYSCFG_PINMUX13_PINMUX13_3_0_SHIFT, SYSCFG_PINMUX13_PINMUX13_3_0_NUHPI_HAS);

      /* Configurazione dei bit di interrupt dell'Host port*/
      ConfigurationModuleSetup(13, SYSCFG_PINMUX13_PINMUX13_15_12, SYSCFG_PINMUX13_PINMUX13_15_12_SHIFT, SYSCFG_PINMUX13_PINMUX13_15_12_NUHPI_HINT);

      /* Configurazione dei bit di strobe sui dati dell'Host port*/
      ConfigurationModuleSetup(13, SYSCFG_PINMUX13_PINMUX13_7_4, SYSCFG_PINMUX13_PINMUX13_7_4_SHIFT, SYSCFG_PINMUX13_PINMUX13_7_4_NUHPI_HDS2);
      ConfigurationModuleSetup(14, SYSCFG_PINMUX14_PINMUX14_7_4, SYSCFG_PINMUX14_PINMUX14_7_4_SHIFT, SYSCFG_PINMUX14_PINMUX14_7_4_NUHPI_HDS1);

      /* Configurazione del Databus dell'Host port*/
      ConfigurationModuleSetup(16, SYSCFG_PINMUX16_PINMUX16_7_4, SYSCFG_PINMUX16_PINMUX16_7_4_SHIFT, SYSCFG_PINMUX16_PINMUX16_7_4_UHPI_HD0);
      ConfigurationModuleSetup(16, SYSCFG_PINMUX16_PINMUX16_3_0, SYSCFG_PINMUX16_PINMUX16_3_0_SHIFT, SYSCFG_PINMUX16_PINMUX16_3_0_UHPI_HD1);
      ConfigurationModuleSetup(15, SYSCFG_PINMUX15_PINMUX15_31_28, SYSCFG_PINMUX15_PINMUX15_31_28_SHIFT, SYSCFG_PINMUX15_PINMUX15_31_28_UHPI_HD2);
      ConfigurationModuleSetup(15, SYSCFG_PINMUX15_PINMUX15_27_24, SYSCFG_PINMUX15_PINMUX15_27_24_SHIFT, SYSCFG_PINMUX15_PINMUX15_27_24_UHPI_HD3);
      ConfigurationModuleSetup(15, SYSCFG_PINMUX15_PINMUX15_23_20, SYSCFG_PINMUX15_PINMUX15_23_20_SHIFT, SYSCFG_PINMUX15_PINMUX15_23_20_UHPI_HD4);
      ConfigurationModuleSetup(15, SYSCFG_PINMUX15_PINMUX15_19_16, SYSCFG_PINMUX15_PINMUX15_19_16_SHIFT, SYSCFG_PINMUX15_PINMUX15_19_16_UHPI_HD5);
      ConfigurationModuleSetup(15, SYSCFG_PINMUX15_PINMUX15_15_12, SYSCFG_PINMUX15_PINMUX15_15_12_SHIFT, SYSCFG_PINMUX15_PINMUX15_15_12_UHPI_HD6);
      ConfigurationModuleSetup(15, SYSCFG_PINMUX15_PINMUX15_11_8, SYSCFG_PINMUX15_PINMUX15_11_8_SHIFT, SYSCFG_PINMUX15_PINMUX15_11_8_UHPI_HD7);
      ConfigurationModuleSetup(15, SYSCFG_PINMUX15_PINMUX15_7_4, SYSCFG_PINMUX15_PINMUX15_7_4_SHIFT, SYSCFG_PINMUX15_PINMUX15_7_4_UHPI_HD8);
      ConfigurationModuleSetup(15, SYSCFG_PINMUX15_PINMUX15_3_0, SYSCFG_PINMUX15_PINMUX15_3_0_SHIFT, SYSCFG_PINMUX15_PINMUX15_3_0_UHPI_HD9);
      ConfigurationModuleSetup(14, SYSCFG_PINMUX14_PINMUX14_31_28, SYSCFG_PINMUX14_PINMUX14_31_28_SHIFT, SYSCFG_PINMUX14_PINMUX14_31_28_UHPI_HD10);
      ConfigurationModuleSetup(14, SYSCFG_PINMUX14_PINMUX14_27_24, SYSCFG_PINMUX14_PINMUX14_27_24_SHIFT, SYSCFG_PINMUX14_PINMUX14_27_24_UHPI_HD11);
      ConfigurationModuleSetup(14, SYSCFG_PINMUX14_PINMUX14_23_20, SYSCFG_PINMUX14_PINMUX14_23_20_SHIFT, SYSCFG_PINMUX14_PINMUX14_23_20_UHPI_HD12);
      ConfigurationModuleSetup(14, SYSCFG_PINMUX14_PINMUX14_19_16, SYSCFG_PINMUX14_PINMUX14_19_16_SHIFT, SYSCFG_PINMUX14_PINMUX14_19_16_UHPI_HD13);
      ConfigurationModuleSetup(14, SYSCFG_PINMUX14_PINMUX14_15_12, SYSCFG_PINMUX14_PINMUX14_15_12_SHIFT, SYSCFG_PINMUX14_PINMUX14_15_12_UHPI_HD14);
      ConfigurationModuleSetup(14, SYSCFG_PINMUX14_PINMUX14_11_8, SYSCFG_PINMUX14_PINMUX14_11_8_SHIFT, SYSCFG_PINMUX14_PINMUX14_11_8_UHPI_HD15);

      /* Configurazione dei bit ready per la comunicazione asincrona dell'Host port*/
      ConfigurationModuleSetup(13, SYSCFG_PINMUX13_PINMUX13_11_8, SYSCFG_PINMUX13_PINMUX13_11_8_SHIFT, SYSCFG_PINMUX13_PINMUX13_11_8_NUHPI_HRDY);

      /*NB per poter funzionare occorre abilitare il registro HPIENA=1 nel Config Chip 1*/
      CONFIGCHIP1 = 0x00008000;

      HPIC = 0x00000000;

      }


      Please Help me


      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Mirco Golutti
      Posted by Mirco Golutti
      on Sep 18 2012 02:03 AM
      Prodigy90 points

      nobody uses Host port interface on Omap l138?

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Mukul Bhatnagar
      Posted by Mukul Bhatnagar
      on Sep 20 2012 00:15 AM
      Mastermind24640 points

      Hi Mirco

      Sorry for the late response on this, can you clarify what data memory/address you are trying to access via UHPI

      Regards

      Mukul

       

       

      Don't forget to verify answers to your forum questions by using the green "Verify Answer" button.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Mirco Golutti
      Posted by Mirco Golutti
      on Sep 20 2012 03:53 AM
      Prodigy90 points

      thank you

      this is memory mapping for omap l138 pag 25 on sprs586d.

      On my board are installed 128M Ddr ram, so it can be addressed from 0xc0000000 to 0xc8000000.

      I tried to read and write in any memory address (DSP L2 Ram, DDR2, other register...).

      Is there any memory address that is not accessible from the host port?

      must Dma logic be have some different privileges level?

      thank you.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Mukul Bhatnagar
      Posted by Mukul Bhatnagar
      on Sep 20 2012 11:32 AM
      Mastermind24640 points

      Hi

      You should not have issues accessing the DDR2 or DSP L2 memory, unless you have a software or hardware issue.

      Perhaps see if the long discussion in this thread provides any clue

      http://e2e.ti.com/support/dsp/omap_applications_processors/f/42/p/88737/320381.aspx

      There are some registers maps like the SYSCFG etc, that cannot be accessed by HPI, as they can only be accessed in privlieged mode, which UHPI does not have, however memory accessess should work.

      I am assuming there are no issues with your DDR2 memory and initailzations and that you are able to access DDR2 memory with simplar ARM/DSP side functions, just not UHPI, correct?

      Regards

      Mukul

       

       

      Don't forget to verify answers to your forum questions by using the green "Verify Answer" button.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Mirco Golutti
      Posted by Mirco Golutti
      on Sep 26 2012 08:12 AM
      Verified Answer
      Verified by Mirco Golutti
      Prodigy90 points

      Hi Mukul

      your answer is correct... I can access on DDR2 and L2 Memory, but i can't recive data from Hpi.

      And no clue in the your discussion...

      If someone used HPI interface, can copy the code?

      Thanks a lot.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Mirco Golutti
      Posted by Mirco Golutti
      on Sep 26 2012 08:36 AM
      Prodigy90 points

      7752.HPI_problem.zip

      this is my simplified code.

      Thank you

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    TI E2E™ Community
    • Support Forums
    • Blogs
    • Videos
    • Groups
    • Site Support & Feedback
    • Settings
    TI E2E™ Community Groups
    • TI University Program
    • Make the Switch
    • Microcontroller Projects
    • Motor Drive & Control
    Other Communities
    • Deyisupport
    • Designsomething.org
    • beagleboard.org
    • TI on Element 14
    • TI on TechXchangeSM
    Other Technical & Support Resources
    • WEBENCH® Design Center
    • Product Information Centers
    • Technical Documents
    • TI Design Network
    • TI Technical Articles
    • TI Training

    All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

    Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

    Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
    TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

    TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
    embedded processors, along with software, tools and the industry’s largest sales/support staff.

    © Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
    Trademarks | Privacy Policy | Terms of Use