1. 23 Jun, 2010 1 commit
    • Jeffrey Lee's avatar
      Update OMAP3 HAL to use correct instruction/memory barrier operations and to... · 83334f08
      Jeffrey Lee authored
      Update OMAP3 HAL to use correct instruction/memory barrier operations and to handle branch target predictors
      
      Detail:
        hdr/Copro15ops - Added myISB, myDSB, myDMB macros to provide barrier functionality for ARMv6+
        s/Boot, s/Interrupts, s/RAM, s/Top, s/Video - updated to use correct barrier operations after CP15 writes, and to invalidate branch predictors where appropriate
      Admin:
        Tested on rev C2 beagleboard
      
      
      Version 0.28. Tagged as 'OMAP3-0_28'
      83334f08
  2. 03 Apr, 2010 1 commit
    • Jeffrey Lee's avatar
      Reduce amount of IO space requested by OMAP HAL · 0b58d25c
      Jeffrey Lee authored
      Detail:
        hdr/Interrupts - moved MPU_INTC values into hdr/omap3530
        hdr/omap3530 - Revised L3_Size, L4_Size, etc. so that they indicate the size of the used area of the interconnects, rather than the size of the address space
        s/Boot - reworked HAL setup to take into account the fact that mapping in L4_Core no longer maps in L4_Wakeup and MPU_INTC. Also fixed DevKit NIC setup to request correct IO space size
      Admin:
        Tested on rev C2 beagleboard. Should now use ~4MB of IO space instead of >=33MB
      
      
      Version 0.27. Tagged as 'OMAP3-0_27'
      0b58d25c
  3. 28 Mar, 2010 1 commit
    • Jeffrey Lee's avatar
      Fix OMAP HAL GPIO/NIC setup code · e30b0a9e
      Jeffrey Lee authored
      Detail:
        s/GPIO - Fixed use of invalid 'MSR <psr>,<rn>,<shift>' instruction in GPIOx_SetAndEnableIRQ. Fixed PSR flags that are used to calculate LEVELDETECT0 value.
        s/NIC - Fixed NICActivate to load NICGPIO_Mode before the HAL device ptr gets clobbered
      Admin:
        Tested on rev C2 beagleboard, using IGEP config. NICActivate now appears to configure the GPIO controller properly.
      
      
      Version 0.26. Tagged as 'OMAP3-0_26'
      e30b0a9e
  4. 20 Mar, 2010 2 commits
    • Jeffrey Lee's avatar
      Add basic GPIO init code to OMAP HAL · 2ddab3e9
      Jeffrey Lee authored
      Detail:
        s/Boot, s/GPIO - Added some basic GPIO init code, to make sure there aren't any unexpected GPIO IRQs active
      Admin:
        Tested on rev C2 beagleboard.
      
      
      Version 0.25. Tagged as 'OMAP3-0_25'
      2ddab3e9
    • Jeffrey Lee's avatar
      Add basic GPMC setup code and NIC HAL devices to OMAP HAL · e73f5f1a
      Jeffrey Lee authored
      Detail:
        s/GPMC, hdr/GPMC, hdr/StaticWS - basic code to reset the GPMC and configure chip selects
        s/NIC, hdr/NIC, hdr/StaticWS - code to expose any onboard NICs (SMSC9221, DM9000) to RISC OS as simple HAL devices.
        Makefile - added GPMC & NIC source files
        s/board, hdr/board - Expanded board config struct to include a pointer to extra code to call at the end of HAL_InitDevices, to allow board-specific devices to be initialised
        s/boot - Extra HAL_InitDevices code to set up the NICs on the IGEP/DevKit
        s/GPIO, hdr/GPIO - Improved functionality to allow GPIO IRQs to be used
        s/SDMA, s/Video - Tweaked the HAL device descriptors to indicate that the devices are on the L3 interconnect
      Admin:
        Tested on rev C2 beagleboard. IGEP/DevKit entry points booted OK, but no attempts were made to look for or interact with the new HAL devices!
      
      
      Version 0.24. Tagged as 'OMAP3-0_24'
      e73f5f1a
  5. 28 Feb, 2010 1 commit
    • Jeffrey Lee's avatar
      Update OMAP3 HAL to support new OMAPVideo module, plus other minor changes · 9dbd7a55
      Jeffrey Lee authored
      Detail:
        hdr/StaticWS, hdr/Video, hdr/board, hdr/omap3530, s/Boot, s/Video, s/board - Add new HALDoesVideo switch to control whether the HAL provides the video driver or whether a HAL device is used to expose the video hardware to the OMAPVideo module. Switch defaults to the 'off' state, i.e. OMAPVideo provides the video driver. Also updated the board config struct to contain more detailed information about the video capabilities of each board.
        s/Audio - fix the FIFO underflow/overflow IRQ handler to disable the IRQ after the underflow/overflow has been detection. This prevents the OS from (potentially) getting stuck in a loop servicing the interrupt and never reaching the state where it can shut down & re-initialise the audio to fix the error properly.
        s/Debug - add DebugCallstack function that disables IRQs/FIQs and dumps the stack contents over the serial port
      Admin:
        Tested on rev C2 beagleboard.
      
      
      Version 0.23. Tagged as 'OMAP3-0_23'
      9dbd7a55
  6. 31 Jan, 2010 1 commit
    • Jeffrey Lee's avatar
      Change DevKit8000 USBGPIO setting · f5ef81bf
      Jeffrey Lee authored
      Detail:
        s/board - DevKit8000 USBGPIO setting has been changed from 255 (none) to GPIO 147.
        I'm still not convinced that GPIO147 is connected to anything, but if it works with that setting then we might as well use it.
      Admin:
        Untested; but according to Tank it makes USB work.
      
      
      Version 0.22. Tagged as 'OMAP3-0_22'
      f5ef81bf
  7. 30 Jan, 2010 1 commit
    • Jeffrey Lee's avatar
      Various OMAP3 HAL power management improvements, plus add support for board... · 739f6e9a
      Jeffrey Lee authored
      Various OMAP3 HAL power management improvements, plus add support for board config autodetection via Linux machine ID
      
      Detail:
        s/board, hdr/board - Add Linux machine ID & available mixer channels to board config table
        s/Top - Add new entry point at offset &64, for booting as a fake Linux kernel. Searches the board config table until it finds a config matching the machine ID passed in R1. Also minor ROM copy optimisation, unsigned pointer comparison fixes
        s/Audio, hdr/Audio - Use board config to lock-out mixer channels that aren't connected to any hardware, to avoid excessive power drain or other problems if the channels get turned on. Also perform many other setting tweaks to tidy up default settings for unused mixer paths/channels.
        s/Video - Fix Video_Init logic when deciding whether to reset DSS, enable DSI PLL drift guard
        s/I2C - Increase I2C timeout values, since the previous values were perhaps a bit low
        s/Audio, s/I2C, s/Interrupts, s/RAM, s/SDMA, s/Timers, s/UART, hdr/UART, s/USB, s/Video - Enable autoidle/smart idle where possible to help save power.
      Admin:
        Tested on rev C2 beagleboard
      
      
      Version 0.21. Tagged as 'OMAP3-0_21'
      739f6e9a
  8. 24 Jan, 2010 2 commits
    • Jeffrey Lee's avatar
      Fix hang on boot in OMAP3 HAL · 12f9bc43
      Jeffrey Lee authored
      Detail:
        PRCM.s - This file missed my checkin last night. Contains some rather important code that was moved there from USB.s, for initialising DPLL5.
      Admin:
        Tested on rev C2 beagleboard. HAL code in CVS should now match what's on my machine!
      
      
      Version 0.20. Tagged as 'OMAP3-0_20'
      12f9bc43
    • Jeffrey Lee's avatar
      Update OMAP HAL to support different board configs, plus use new YearLOIsGood... · 17e509d7
      Jeffrey Lee authored
      Update OMAP HAL to support different board configs, plus use new YearLOIsGood flag to ensure correct RTC handling, plus other misc tidying
      
      Detail:
        The OMAP HAL now has multiple entry points, one per board config. See Top.s/board.s for more info.
        audio.s - Moved APLL_CTL value to board config
        board.s - New file to list all the settings for the different board configs
        boot.s - Change HAL_Init to deal with the new board config stuff
        debug.s - Debug UART now specified in board config
        GPIO.s - A few utility functions for handling OMAP/TPS GPIO pins
        I2C.s - Update to use new board config struct
        RAM.s - Disable the beagleboard-specific RAM init code. Instead we'll just rely on u-boot to initialise all our RAM for us.
        RTC.s - Get rid of the magic numbers, and use the YearLOIsGood flag to indicate to RISC OS that YearLO is 2-digit BCD
        Top.s - Got rid of old debug code and rewrote initial flow to handle detecting & storing the board config
        UART.s - Update to use board config struct, support multiple UARTs
        USB.s - Get EHCI PHY power GPIO from board config
        Video.s - Get DVI framer power GPIO and max pixel rate from board config. Add 'PassiveVideo' option, to build a driver that doesn't alter the video output settings - should hopefully result in a usable display on Touch Book, etc.
        board.hdr - Definition of board config table struct
        GPIO.hdr - Add lots of macros for handling OMAP GPIO pins, new constants for OMAP/TPS GPIO
        I2C.hdr - Added I2C transfer block struct, HAL I2C API transfer states (both moved here from other source files)
        omap3530.hdr - Move/remove some unwanted constants, disable DebugChar for now
        StaticWS.hdr - Move I2C transfer block struct to I2C.hdr, add board config struct to HAL workspace, get rid of unused 64K AllocArea
        Timers.hdr - Tidy up constants a bit
        UART.hdr - Add UARTCLK (moved from StaticWS.hdr), UART IRQ #'s
        Makefile - add GPIO.s
      Admin:
        Tested on rev C2 beagleboard. Board configs for other board types may be inaccurate in a couple of places.
      
      
      Version 0.19. Tagged as 'OMAP3-0_19'
      17e509d7
  9. 16 Jan, 2010 1 commit
    • Jeffrey Lee's avatar
      Add sound support to OMAP3 HAL, plus other changes · 21f5e934
      Jeffrey Lee authored
      Detail:
        hdr/Audio, s/Audio, Makefile, hdr/StaticWS, s/Boot - Add sound support to OMAP3 HAL. Should work with a TPS65950 connected to I2C1/McBSP2, as per beagleboard.
        s/TPS, s/RTC - Moved TPSRead, TPSWrite functions out of s/RTC and into their own file
        hdr/SDMA, s/SDMA - Add support for packet-based transfer (for audio), improve debug code, remove TestRAMToRAM test code
        s/I2C - Update to handle spurious RDR interrupts as mentioned in OMAP3 errata
        s/Video - Enable support for the larger porch & sync timing registers found in OMAP3 ES3.1 and above
      Admin:
        Tested on rev C2 beagleboard
      
      
      Version 0.18. Tagged as 'OMAP3-0_18'
      21f5e934
  10. 29 Nov, 2009 1 commit
  11. 28 Nov, 2009 1 commit
    • Jeffrey Lee's avatar
      OMAP3 DMA support, video device, debugging improvements · e08a228c
      Jeffrey Lee authored
      Detail:
        Boot.s - Make FIQDebug work again
        Boot.s - Add support for DMA & video devices
        Interrupts.s, hdr/omap3530 - Add 'ExtraDebugInterrupts' option
        hdr/SDMA, SDMA.s, Makefile - DMA code which presents itself to RISC OS as a set of single-buffered, interrupt-driven DMA channels.
        hdr/StaticWS - Add extra DMA, video & debug entries to workspace
        Interrupts.s - Add 'DebugDisablePrevious' debug option for more flexibility in tracking down noncleared IRQs with ExtraDebugInterrupts
        RAM.s - Use DMA to clear RAM on boot. RAM clear now takes less than 1 second on a rev C board, whereas before it used to take several.
        Video.s - Add simple HAL device to expose information needed by upcoming RISC OS module based video driver.
      Admin:
        Tested on rev C2 beagleboard.
      
      
      Version 0.16. Tagged as 'OMAP3-0_16'
      e08a228c
  12. 07 Nov, 2009 1 commit
    • Jeffrey Lee's avatar
      Fix bug in HAL_IRQDisable/HAL_FIQDisable in OMAP3 HAL · 29c2f335
      Jeffrey Lee authored
      Detail:
        The code which checks if you've just disabled the active interrupt was broken and was dereferencing a bad pointer, causing (a) bad things, and (b) failure when alignment exceptions are turned on. This change fixes that, so the change I checked in a couple of hours ago won't cause the OS to crash anymore!
      Admin:
        Tested on rev C2 beagleboard.
      
      
      Version 0.15. Tagged as 'OMAP3-0_15'
      29c2f335
  13. 27 Oct, 2009 1 commit
    • Jeffrey Lee's avatar
      Basic HAL_Reset implementation for OMAP3 HAL · dd2214f6
      Jeffrey Lee authored
      Detail:
        This implementation only supports resets - for power-off a more complex implementation will be required (involving talking to the TPS over I2C, AFAIK).
      Admin:
        Tested on rev C2 beagleboard
      
      
      Version 0.14. Tagged as 'OMAP3-0_14'
      dd2214f6
  14. 23 Jul, 2009 1 commit
    • Jeffrey Lee's avatar
      Add HAL RTC support to OMAP3 kernel, improve IIC code · faf3c4a7
      Jeffrey Lee authored
      Detail:
        s/RTC - Implementation of new HAL RTC API. Uses the RTC built into the TWL/TPS companion chip.
        s/Boot - Initialise RTC HALDevice
        s/I2C - Add workaround for apparent hardware limitation of the OMAP I2C controllers; where appropriate multiple iic_transfers will now be merged together into one transfer, to ensure that a start bit is always sent at the start of each transfer
        hdr/omap3530 - Tweak DebugReg and DebugRegByte to allow LR to be output
        Makefile - add s.RTC to list of files. Fix GPADBG definition to not conflict with the 'gpa' folder that one of the makefile fragments creates.
      Admin:
        Tested on rev C2 beagleboard
      
      
      Version 0.13. Tagged as 'OMAP3-0_13'
      faf3c4a7
  15. 17 Jul, 2009 1 commit
    • Jeffrey Lee's avatar
      Add I2C support to OMAP3 HAL. Fix FIQ handling. Improve debugging code. · 11318062
      Jeffrey Lee authored
      Detail:
        Makefile, s/Boot, s/I2C, hdr/I2C, hdr/StaticWS - Adds I2C support to the OMAP3 HAL, via both HAL_IIC* and HAL_Video_IICOp.
        s/Interrupts - Fix bug causing incorrect clearing of FIQs
        s/Debug, s/Boot, hdr/omap3530 - Improve debugging code, and add simple FIQ debugger that outputs the PC to the serial port when the beagleboard USER button is pressed
        s/Stubs - Remove old stub functions
      Admin:
        Tested on rev C2 beagleboard
      
      
      Version 0.12. Tagged as 'OMAP3-0_12'
      11318062
  16. 02 Jul, 2009 1 commit
  17. 11 Jun, 2009 1 commit
    • Ben Avison's avatar
      GET file pathnames changed · b4ea91b9
      Ben Avison authored
      Detail:
        Uses suffixed file extensions for compatiblity with both objasm and asasm.
      Admin:
        Supplied by Peter Naulls, tested at ROOL
      
      Version 0.10. Not tagged
      b4ea91b9
  18. 13 May, 2009 1 commit
    • Jeffrey Lee's avatar
      OMAP3 HAL video tweaks & improvements · d8048156
      Jeffrey Lee authored
      Detail:
        hdr/StaticWS - Add entries for max porch & sync values, in anticipation of future OMAP revisions increasing the limits from 8/6 bits to 12/8 bits.
        hdr/omap3530 - Add entry for CONTROL_IDCODE register for reading silicon revision
        s/Video - Increase max pixel rate from 65MHz to 75MHz (86.5MHz seems unstable). Add support for different max porch/sync values depending on hardware revision (currently disabled). Make mode change code more robust to try and fix corruption seen when changing mode too many times. Improve HAL_Video_VetMode to check for (HFP+HSW+HBP)*PCD > 8 limitation. Add a bit more debug code.
      Admin:
        Tested on rev C2 beagleboard.
      
      
      Version 0.10. Tagged as 'OMAP3-0_10'
      d8048156
  19. 10 May, 2009 1 commit
  20. 09 May, 2009 1 commit
    • Jeffrey Lee's avatar
      OMAP3 HAL USB (EHCI) support, interrupt handling fixes · 20505c03
      Jeffrey Lee authored
      Detail:
        Makefile - added USB to objects list
        s/Boot, s/USB, hdr/StaticWS, hdr/USB - USB EHCI code
        s/Debug, s/Stubs, s/Timers, s/Top, s/UART, s/Video - Debugging tweaks and header dependency fixes
        s/Interrupts, hdr/omap3530 - Interrupt fixes & debugging code
        hdr/PRCM - typo fix
      Admin:
        Tested on rev C2 beagleboard
      
      
      Version 0.08. Tagged as 'OMAP3-0_08'
      20505c03
  21. 23 Apr, 2009 1 commit
    • Jeffrey Lee's avatar
      OMAP3 HAL cache clean fix · 33dd7f66
      Jeffrey Lee authored
      Detail:
        s/Top - Fix cache clean code to iterate sets/ways/cache levels correctly
      Admin:
        Tested on rev C2 beagleboard
      
      
      Version 0.07. Tagged as 'OMAP3-0_07'
      33dd7f66
  22. 22 Apr, 2009 1 commit
    • Jeffrey Lee's avatar
      OMAP3 HAL video support, safer RAM initialisation · b10d82fe
      Jeffrey Lee authored
      Detail:
        Makefile - Enable compilation of s.video
        hdr/StaticWS - New workspace entries for video support
        hdr/Video - Typo fix, VENC registers
        s/Boot - Change initialisation order for video support
        s/Debug - Added DebugMemDump routine
        s/RAM - Added code to verify RAM config, to avoid crash if a board looks like a revision C but doesn't have the extra RAM
        s/Stubs - Disable stub video functions
        s/Video - Working video code, beginnings of TV-out code
      Admin:
        Tested on rev C2 beagleboard. Video code may only function correctly if kernel is loaded via u-boot.
      
      
      Version 0.06. Tagged as 'OMAP3-0_06'
      b10d82fe
  23. 10 Apr, 2009 1 commit
    • Jeffrey Lee's avatar
      Fix RAM clear in OMAP3 HAL · d9c96b23
      Jeffrey Lee authored
      Detail:
        s/RAM - Added v4 to register list in RAM clear routines to ensure correct amount of RAM is cleared
      Admin:
        Tested on Rev C2 beagleboard
      
      
      Version 0.05. Tagged as 'OMAP3-0_05'
      d9c96b23
  24. 08 Apr, 2009 1 commit
    • Jeffrey Lee's avatar
      OMAP3 HAL Beagleboard Rev C support, further video work. · 2984ca65
      Jeffrey Lee authored
      Detail:
        s/Boot - Fixes for rev C beagleboard. Added GPIO code.
        s/Debug - DebugHALPrint, DebugHALPrintReg routines
        s/PRCM - PRCM_GetFreqSel added
        s/RAM - Fixes for rev C beagleboard. Sped up RAM clear by using more regs.
        s/Top - Fixes for rev C beagleboard
        s/Video - Video code potentially complete, but full of bugs and so still disabled.
        hdr/GPIO - Added GPIO registers
        hdr/omap3530 - Fixes for rev C beagleboard, GPIO, debug macros, QEMU support for new video code
        hdr/SDRC - Typo fix
        hdr/StaticWS - GPIO, pixel rate entries added
        hdr/Video - DSI PLL registers added
      Admin:
        Tested on rev C beagleboard.
      
      
      Version 0.04. Tagged as 'OMAP3-0_04'
      2984ca65
  25. 06 Mar, 2009 1 commit
    • Jeffrey Lee's avatar
      OMAP3 HAL fixes and further video work · a5dee679
      Jeffrey Lee authored
      Detail:
        s/Boot - Store some workspace vars used by video code. Disable some debug output.
        s/Interrupts - Update HAL_IRQClear to allow clearing of VSync IRQ
        s/Top - Fix CP15 flags
        s/Video - Implemented majority of video code needed by kernel. Correct code for calculating and programming pixel clocks still required, so code remains disabled by default.
        hdr/PRCM - Correct typo
        hdr/StaticWS - Add video-related workspace entries
        hdr/Video - Add constants for mouse pointer image buffer size
      Admin:
        Tested under qemu-omap3 and rev B6 beagleboard.
      
      
      Version 0.03. Tagged as 'OMAP3-0_03'
      a5dee679
  26. 21 Feb, 2009 1 commit
    • Jeffrey Lee's avatar
      OMAP3 HAL fixes and updates to allow booting on real hardware. · d3eceec0
      Jeffrey Lee authored
      Detail:
        Makefile - add s.PRCM to objects
        s/Boot - Call PRCM_SetClocks during HAL_Init. Added (disabled) debugging code.
        s/Interrupts - Updated HAL_IRQSource, HAL_FIQSource to query ARM interrupt state instead of relying on INTC alone to detect whether an interrupt is firing or not.
        s/PRCM - Code to measure system clock frequency, store it for HAL purposes, and notify the OMAP of the frequency in order to ensure correct operation.
        s/Timers - Use measured system clock frequency as the timer frequency instead of hard-coded value. Return correct values from HAL_TimerPeriod.
        s/Top - Added (disabled) debugging code. Updated ARM initialisation to use correct cache cleaning procedure.
        s/Video - Further minor work towards completing video driver.
        hdr/CoPro15ops - Deprecate ARM_flush_* macros
        hdr/PRCM - Add more register addresses
        hdr/StaticWS - Add entried for PowerMan & 32K timer logical addresses, system clock speed
        hdr/Timers - remove incorrect, hard-coded timer frequency
        hdr/omap3530 - remove unused FlashCheck global, add DebugChar macro
      Admin:
        Tested with HALTester and the RISC OS kernel using qemu-omap3.
        Tested with HALTester on a rev. B6 beagleboard.
      
      
      Version 0.02. Tagged as 'OMAP3-0_02'
      d3eceec0
  27. 01 Feb, 2009 1 commit
    • Jeffrey Lee's avatar
      Basic OMAP3 HAL · 7a17f465
      Jeffrey Lee authored
      Detail:
        Performs startup procedure suitable for any location in ROM or RAM. UART, timer, counter, interrupt & debug functionality implemented. Video support incomplete and nonfunctional.
      Admin:
        Tested with HALTester & RISC OS kernel under qemu-omap3
      
      
      Version 0.01. Tagged as 'OMAP3-0_01'
      7a17f465
  28. 27 Jan, 2009 1 commit