Moin Leute, ich suche nun schon seit geraumer Zeit im Netz umher, aber scheinbar fehlt mir mal wieder eine so grundlegende Info, dass niemand dazu eine Frage stellt :-) Ich möchte einen ADC über SPI an den Grasshopper anschließen. Dazu müsste ich doch ein SPI Device haben welches ich dann öffnen kann. Standardmäßig ist da aber keines. Also muss es in den Kernel, nur wie? Mit make menuconfig finde ich nirgends die Option ein SPI Treiber einzubauen. Wie bekomme ich denn nun mein SPI-Device oder bin ich komplett auf dem Holzweg? Grüße Dirk
Eine Möglichkeit wäre "spidev" , daß wird in der Kernel Config angeschalten. Dazu musst Du in die Kernel Config unter : Device Drivers->SPI->spidev aktivieren. Ausserdem muss noch in der /arch/avr32/boards/grasshopper/setup.c einen spi_info Struct , sofern noch nicht da, angelegt werden. Dort kommt dein "spidev" mit allen dazugehörigen Parametern wie Chipselect,SPI Mode und SPI Frequenz rein. Ganz unten in setup.c ist noch at32_add_devices_spi (oder so ähnlich) , das Initalisiert dann den SPI mit den Infos aus spi_info. Der spidev Treiber meldet sich nach dem "proben" durch das SPI Subsystem als Platform Driver an und erzeugt die /dev und /sys Einträge. Alles auch unter /Documentation/spi und /Documentation/driver-model nachzulesen. Da liegen auch Beispiele für ein spidev "Gegenstück" rum. Die andere , aber komplexere , möglichkeit ist einen Platform Driver für deinen ADC zu schreiben. Dieser wird dann ebenfalls über das spi_info Struct "geprobt". Dafür hast Du selber die Freiheit was dir der Treiber in den Userspace übergibt. HTH , muss los Simpsons fangen an :-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.