So, melde gehorsamst: Mission erfolgreich ausgeführt! ;-)
Vorab an dieser Stelle besten Dank an Travis Goodspeed, dessen Blog bzw.
dessen Unterstützung mir eine entscheidende Hilfe waren!
Also: wie bewegt man das neue eZ430U zur Zusammenarbeit mit Linux?
Hierfür sind zwei Änderungen notwendig:
1.) Die Software des MSP430F1612 (Flash- + Infosegment) muss auf den
Stand eines "alten" ez430U gebracht werden. Dies ist mittels JTAG
problemlos möglich, da TI anscheinend "vergessen" hat, die Fuse
durchzubrennen. Die JTAG-Pins sind im TI- Datenblatt auf Seite 14
beschrieben.
2.) Die Parametrierung des TUSB3410 wird durch die Inhalte des über I2C
angebundenen EEPROMs vorgenommen. Da diese Konfiguration dafür sorgt,
daß das Device später als HID erkannt wird, muß sie ebenfalls geändert
werden. Dafür gibt es zwei Lösungen:
- Eigentlich müßte die EEPROM- Bedatung durch die Inhalte des EEPROMs
eines "alten" eZ430U ersetzt werden. Dies erfordert allerdings einen
externen I2C-Programmer oder eine modifizierte Firmware des F1612, um
die neuen Inhalte zu laden. Diesen Weg hat auch Travis in seinem Blog
beschrieben und es ist, insbesondere für einen Betrieb unter Linux UND
Windows, die sinnvollste Lösung.
- Allerdings hat sich durch einen Versuch herausgestellt, daß die
Standardkonfiguration des TUSB3410 bereits genügt, damit das Device
unter Linux seinen Zweck erfüllt. Zwar erhält das Gerät dann wieder die
Standard productID des TUSB3410, dies stellt aber für den Linux-Treiber
kein Problem dar. Lediglich die Treiberzuordnung unter Windows
funktioniert ohne EEPROM bzw. ohne korrekte EEPROM- Inhalte nicht mehr.
Man muß sich also entscheiden, ob das eZ430U unter Linux oder unter
Windows betrieben werden soll. Um den TUSB3410 in Standardkonfiguration
zu betreiben genügt es, in vom EEPROM zu trennen. Hierfür habe ich
lediglich die Datenleitung (SDA, Pin5 des EEPROM) durch anheben des Pins
unterbrochen.
Mit den beschriebenen Änderungen und einem fehlerfreien Kernelmodul
welches die Firmware korrekt lädt, arbeitet das eZ430U bei mir nun
einwandfrei unter Linux.
Beste Grüße,
odic