Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: whitequark/glasgow
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 2bcd06a664c0
Choose a base ref
...
head repository: whitequark/glasgow
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: f44967bc9629
Choose a head ref
  • 1 commit
  • 24 files changed
  • 1 contributor

Commits on Mar 8, 2019

  1. Copy the full SHA
    f44967b View commit details
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
[submodule "libfx2"]
path = vendor/libfx2
url = https://github.com/whitequark/libfx2
[submodule "docs/archive"]
path = docs/archive
url = https://github.com/whitequark/Glasgow-Archive
1 change: 1 addition & 0 deletions docs/archive
Submodule archive added at 545600
3 changes: 3 additions & 0 deletions software/glasgow/applet/audio/yamaha_opl/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# Ref: CATALOG No. LSI-2130143 (YM3014B)
# Accession: G00001
# Ref: CATALOG No. LSI-2138123 (YM3812)
# Accession: G00002
# Ref: CATALOG No. LSI-2438124 (YM3812 Application Manual)
# Accession: G00003

# Glaring omissions
# -----------------
3 changes: 3 additions & 0 deletions software/glasgow/applet/debug/arc/__init__.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
# Ref: ARC® 700 External Interfaces Reference
# Document Number: 5117-014
# Accession: G00004
# Ref: Microchip MEC1618/MEC1618i Low Power 32-bit Microcontroller with Embedded Flash
# Document Number: DS00002339A
# Accession: G00005
# Ref: Microchip MEC1609 Mixed Signal Mobile Embedded Flash ARC EC BC-Link/VLPC Base Component
# Document Number: DS00002485A
# Accession: G00006

# The ARC JTAG TAP core has an important quirk: all transactions are initiated by a TCK pulse
# in Run-Test/Idle state:
4 changes: 3 additions & 1 deletion software/glasgow/applet/debug/arm_swd/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Reference: https://static.docs.arm.com/ihi0031/c/IHI0031C_debug_interface_as.pdf
# Ref: https://static.docs.arm.com/ihi0031/c/IHI0031C_debug_interface_as.pdf
# Document Number: IHI0031C
# Accession: G00027

import logging
import asyncio
1 change: 1 addition & 0 deletions software/glasgow/applet/debug/mips/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Ref: MIPS® EJTAG Specification
# Document Number: MD00047 Revision 6.10
# Accession: G00007

import struct
import logging
9 changes: 6 additions & 3 deletions software/glasgow/applet/display/hd44780/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# Reference: https://www.sparkfun.com/datasheets/LCD/HD44780.pdf
# Reference: http://ecee.colorado.edu/~mcclurel/SED1278F_Technical_Manual.pdf
# Reference: https://www.openhacks.com/uploadsproductos/eone-1602a1.pdf
# Ref: https://www.sparkfun.com/datasheets/LCD/HD44780.pdf
# Accession: G00008
# Ref: http://ecee.colorado.edu/~mcclurel/SED1278F_Technical_Manual.pdf
# Accession: G00009
# Ref: https://www.openhacks.com/uploadsproductos/eone-1602a1.pdf
# Accession: G00010
# Note: HD44780's bus is *asynchronous*. Setup/hold timings are referenced
# to E falling edge, and BF/AC can and will change while E is high.
# We make use of it by waiting on BF falling edge when polling the IC.
3 changes: 3 additions & 0 deletions software/glasgow/applet/display/pdi/__init__.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
# Ref: Pervasive Displays EM027AS012 2.7” TFT EPD Panel Product Specifications
# Document Number: 1P033-00
# Accession: G00011
# Ref: Pervasive Displays E-paper Display COG Driver Interface Timing (G1)
# Document Number: 4P008-00
# Accession: G00012
# Ref: Pervasive Displays E-paper Display COG Driver Interface Timing (G2)
# Document Number: 4P015-00
# Accession: G00013

# G1 COG Startup
# --------------
3 changes: 3 additions & 0 deletions software/glasgow/applet/interface/jtag_pinout/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Ref: IEEE Std 1149.1-2001
# Accession: G00018

import logging
import asyncio
import random
3 changes: 3 additions & 0 deletions software/glasgow/applet/interface/jtag_probe/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Ref: IEEE Std 1149.1-2001
# Accession: G00018

import struct
import logging
import asyncio
2 changes: 2 additions & 0 deletions software/glasgow/applet/program/mec16xx/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# Ref: Microchip MEC1618 Low Power 32-bit Microcontroller with Embedded Flash
# Document Number: DS00002339A
# Accession: G00005
# Ref: Microchip MEC1609 Mixed Signal Mobile Embedded Flash ARC EC BC-Link/VLPC Base Component
# Document Number: DS00002485A
# Accession: G00006

import logging
import argparse
2 changes: 2 additions & 0 deletions software/glasgow/applet/program/xc9500xl/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Ref: XAPP069 Using the XC9500/XL/XV JTAG Boundary Scan Interface
# Accession: G00014
# Ref: XC9572XL BSDL files
# Accession: G00015
# Ref: black box reverse engineering of XC9572XL by whitequark

# JTAG IR commands
3 changes: 2 additions & 1 deletion software/glasgow/applet/sensor/bmp280/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# BMP280 reference: https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BMP280-DS001.pdf
# Ref: https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BMP280-DS001.pdf
# Accession: G00028

import logging
import asyncio
2 changes: 2 additions & 0 deletions software/glasgow/arch/arc/core.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Ref: https://sourceware.org/binutils/docs/as/ARC_002dRegs.html
# Accession: G00016
# Ref: linux/arch/arc/include/asm/arcregs.h
# Accession: G00017

from ...support.bits import *

1 change: 1 addition & 0 deletions software/glasgow/arch/arc/jtag.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Ref: ARC® 700 External Interfaces Reference
# Document Number: 5117-014
# Accession: G00004

from bitarray import bitarray

1 change: 1 addition & 0 deletions software/glasgow/arch/arc/mec16xx.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Ref: Microchip MEC1618/MEC1618i Low Power 32-bit Microcontroller with Embedded Flash
# Document Number: DS00002339A
# Accession: G00005

from bitarray import bitarray

3 changes: 2 additions & 1 deletion software/glasgow/arch/jtag.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Ref: IEEE 1149.1
# Ref: IEEE Std 1149.1-2001
# Accession: G00018

from bitarray import bitarray

1 change: 1 addition & 0 deletions software/glasgow/arch/lpc.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Ref: Intel® Low Pin Count (LPC) Interface Specification
# Document Number: 251289-001
# Accession: G00019

# Transaction format summary. Derived from chapters 5-7 of the specification. Note that
# the specification has plenty of typos, which have been (hopefully) corrected here.
1 change: 1 addition & 0 deletions software/glasgow/arch/mips/core.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Ref: MIPS® Architecture For Programmers Vol. III: MIPS32® / microMIPS32™ Privileged Resource Architecture
# Document Number: MD00090 Revision 6.02
# Accession: G00020

from collections import defaultdict

1 change: 1 addition & 0 deletions software/glasgow/arch/mips/ejtag.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Ref: MIPS® EJTAG Specification
# Document Number: MD00047 Revision 6.10
# Accession: G0007

from collections import defaultdict
from bitarray import bitarray
1 change: 1 addition & 0 deletions software/glasgow/arch/mips/instr.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Ref: MIPS® Architecture for Programmers Volume II-A: The MIPS32® Instruction Set Manual
# Document Number: MD00086 Revision 6.05
# Accession: G00021

__all__ = [
# R-format
1 change: 1 addition & 0 deletions software/glasgow/arch/xilinx/xc9500xl.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Ref: https://www.xilinx.com/member/forms/download/sim-model-eval-license-xef.html?filename=xc9500xl.zip
# Accession: G00015
# Ref: reverse engineering by whitequark

from bitarray import bitarray
2 changes: 2 additions & 0 deletions software/glasgow/protocol/jtag_svf.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Ref: https://www.asset-intertech.com/eresources/svf-serial-vector-format-specification-jtag-boundary-scan
# Accession: G00022
# Ref: http://www.jtagtest.com/pdf/svf_specification.pdf
# Accession: G00023

import re
from abc import ABCMeta, abstractmethod
8 changes: 7 additions & 1 deletion software/glasgow/protocol/sfdp.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
# Ref: JEDEC JESD216/JESD216A/JESD216B
# Ref: JEDEC JESD216
# Accession: G00024
# Ref: JEDEC JESD216A
# Accession: G00025
# Ref: JEDEC JESD216B
# Accession: G00026
#
# Currently, only JESD216 (initial revision) is implemented.

from abc import ABCMeta, abstractmethod