[linux-ileri] Re: =?utf-8?q?=3FUTF-8=3FQ=3Fkernel=5Fspacede=5FGPIO=5Fya=5Fula=C3=BEm? =?utf-8?q?ak=2E=3F?

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Serdar KÖYLÜ (serdarkoylu@fisek.com.tr)
Date: Wed 22 Sep 2004 - 14:11:03 EEST


Selamlar..

> > Selamlar
>
> Selam,
>
>
> > Embedded bir sistemde LCD nin enable register ni set etmek
> > istiyorum. Normalde bu ii user spacede aadaki =C3
> > =A7arlar
> > kullanarak yapyorum.
>
> Bu soru önceden de sorulmuştu sanırım ama başka şekilde. 2.6 kernel içinde
> gerekli olan led_start define edilmiş vaziyette kullanabilirsin arm için.
>
> veya
>
> 2.6 kerneldan seninkine uyarlarsak
>
> #define GPIO_GPIO14 (0x00000001 << (14))
> #define GPDR __REG(0x90040004)
>
> #define LED_STATE_ENABLED 1
>
> static unsigned int led_state;
> static unsigned int hw_led_state;
>
> #define LED_23 GPIO_GPIO23
> #define LED_MASK (LED_23)
>
> GPDR |= LED_23;
> hw_led_state = LED_MASK;
> led_state = LED_STATE_ENABLED;
>
> gerisini de vs vs istediğin gibi düzenlersin.

Gayet makul yontemler..

ARM icin phys_to_virt(physical_address) olayi vardi diye hatirliyorum.
Generic olarak bakarsak, bu durumda:

gpio_start = phys_to_virt(GPIO_GPDR_OFFSET);
        /* Elbet, map vs. ile birlikte tam offset adresi olacak */

gpio_start[GPIO_LED_VEYA_HERNEYSE] = 1;

Seklinde, dogrudan erisim imkani mumkun. Bu da pek tavsiye edilen bir
yontem degil :(

MTRR uzerinden erisim dusunmek daha iyi olabilir, eger mumkunse. Mumkun
olup olmadigi mimari (SA1110 ?) gibi bir takim kriterlere bagli.

ARM Ozelinde bakarsak:

Genel kaide olarak ARM uzerinde GPIO_GPIO(#) basta olmak uzere, GPIO
erisimini duzenleyen seyler mevcut. Mesela Assabet icn _LEDS, GPIO_RADIO
vs. bir suru tanim hazir mevcut. Bunlari kullanmak daha iyi olacaktir
saniyorum..

Saygi ve sevgiler..


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.