dragon-nx32: Some SPI fixes
authorTormod Volden <debian.tormod@gmail.com>
Tue, 13 Oct 2015 16:03:58 +0000 (18:03 +0200)
committerAlan Cox <alan@linux.intel.com>
Wed, 14 Oct 2015 17:58:23 +0000 (18:58 +0100)
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Kernel/platform-dragon-nx32/spi.s

index 502647d..3951f8a 100644 (file)
@@ -49,7 +49,7 @@ _sd_spi_clock:
        beq slow
        ldd #0x0401             ; external 45MHz clock on, divide by 3
        bra clkset
-slow:  ldd #0x0003             ; internal clock, phi/5 -> 2MHz/5 = 400Khz
+slow:  ldd #0x0000             ; internal clock, phi/2 -> 0.89MHz/2 = 445kHz
 clkset:        std SPICTRL
        rts
 
@@ -75,7 +75,7 @@ _sd_spi_transmit_byte:
        stb SPIDATA
 txwait:
        lda SPISTATUS
-       anda #0x40
+       anda #0x20              ; BSY
        bne txwait
        rts
 
@@ -109,7 +109,8 @@ _sd_spi_receive_sector:
 rdspi: ldx _blk_op
        leay 512,x
        sty endspi
-       lda #0x44               ; FRX on, external clock on
+       lda #0x14               ; FRX on, external clock on
+       sta SPICTRL
 read8:
        lda <SPIDATA
        ldb <SPIDATA