In article ,   
   Waldek Hebisch wrote:   
      
   >   
   >RISCV ciforth beta 2023Mar30   
   >MMAP-IO   
   > OK   
   >HEX   
   > OK   
   >VMA-IO @ .   
   >B2000000 OK   
   >DEV-MEM @ .   
   >3 OK   
   >   
   Encouraging.   
      
   >Datasheet says that device address space starts at 0x01000000   
   >and ends at 0x7FFFFFFF (above is DRAM). There is a command   
   >line utility to do I/O. Sending 0x01000000 to 0x03022000 turns on   
   >blue LED, sending 0x0 truns it off. AFAICS in lina corresponding   
   >address is B2022000. More generally, there are four GPIO devices   
   >(ports). Port 0 is at 0x03020000, port 1 at 0x03021000, port 2 at   
   >0x03022000, port 3 at 0x03023000. Device access should be done in   
   >32-bit units.   
      
   This suggest that you can do the same from lina using virtual   
   addresses B302x000 . That is vma-io + 0x0100,0000 (device start) + 2x000.   
   You probably have to initialize the ports to output in some way   
   for this to work.   
      
   All io must be accessed with 32 bit. lina provides L! L@ for   
   this. (My conventions is B-W-L-Q ).   
      
   >--   
   > Waldek Hebisch   
   --   
   Temu exploits Christians: (Disclaimer, only 10 apostles)   
   Last Supper Acrylic Suncatcher - 15Cm Round Stained Glass- Style Wall   
   Art For Home, Office And Garden Decor - Perfect For Windows, Bars,   
   And Gifts For Friends Family And Colleagues.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|