Skip to contentSkip to conversation

How to do IO mapped Implimentation ???

DISCUSSION Misbah khan 2 participants 9 messages Dec 28, 2007 – Jan 2, 2008

lore
Share & tools
lore
#0 lore raw

Hi all...

I am writing a driver in which device port is mapped to CPLD and 8 bit data bus is directly connected from processor to CPLD. Read write on CPLD memory mapped (buffer/register) is required to control the device. This is now IO mapped to processor.

I need to know whether i am right if i impliment like this :-
addr=ioremap(base_addr); // Remap to Mem mapped address
outb(addr) and inb(addr);

Please suggest me if i am wrong or there could be better solution to this .

-----Misbah <><

Signature · 2 lines
View this message in context: http://www.nabble.com/How-to-do-IO-mapped-Implimentation-----tp14522349p14522349.html
Sent from the linuxppc-embedded mailing list archive at Nabble.com.
#1 lore raw

Hi Misbah,

If I am not mistaken, ioremap takes 2 parameters, ioremap(base_addr,size_to_remap). i have tried out_8() and in_8() to issue the command.

Regards,
gil

Quoted 30 lines · Misbah khan

Hi all...

I am writing a driver in which device port is mapped to CPLD and 8 bit data
bus is directly connected from processor to CPLD. Read write on CPLD memory
mapped (buffer/register) is required to control the device. This is now IO mapped to processor.

I need to know whether i am right if i impliment like this :-
addr=ioremap(base_addr); // Remap to Mem mapped address
outb(addr) and inb(addr);

Please suggest me if i am wrong or there could be better solution to this .

-----Misbah <><

--
View this message in context:
http://www.nabble.com/How-to-do-IO-mapped-Implimentation-----tp14522349p14522349.html
Sent from the linuxppc-embedded mailing list archive at Nabble.com.

_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

#2 lore raw
In reply to Misbah khan

yes with respect to ioremap() its right ...i just missed the secound argument
....

in_8() and out_8() will work fine or i need to use in_be8() and out_be8() on PPC architecture ????

---Misbah<><

Quoted 18 lines · Misbah khan

Hi all...

I am writing a driver in which device port is mapped to CPLD and 8 bit data bus is directly connected from processor to CPLD. Read write on CPLD memory mapped (buffer/register) is required to control the device. This is now IO mapped to processor.

I need to know whether i am right if i impliment like this :-
addr=ioremap(base_addr); // Remap to Mem mapped address
outb(addr) and inb(addr);

Please suggest me if i am wrong or there could be better solution to this .

-----Misbah <><

Signature · 2 lines
View this message in context: http://www.nabble.com/How-to-do-IO-mapped-Implimentation-----tp14522349p14554843.html
Sent from the linuxppc-embedded mailing list archive at Nabble.com.
#3 lore raw

In ppc440 epx, I couldn't find any in_be8() or out_be8(), so I just use in_8() and out_8().

gil

Quoted 47 lines · Misbah khan

yes with respect to ioremap() its right ...i just missed the secound argument
....

in_8() and out_8() will work fine or i need to use in_be8() and out_be8() on
PPC architecture ????

---Misbah<><

Quoted 5 lines · Misbah khan

Hi all...

I am writing a driver in which device port is mapped to CPLD and 8 bit data bus is directly connected from processor to CPLD. Read write on

CPLD

Quoted 1 line

memory mapped (buffer/register) is required to control the device. This

is

Quoted 4 lines

now IO mapped to processor.

I need to know whether i am right if i impliment like this :-
addr=ioremap(base_addr); // Remap to Mem mapped

address

Quoted 3 lines
         outb(addr) and inb(addr);

Please suggest me if i am wrong or there could be better solution to

this

Quoted 5 lines

.

-----Misbah <><

--
View this message in context:
http://www.nabble.com/How-to-do-IO-mapped-Implimentation-----tp14522349p14554843.html
Sent from the linuxppc-embedded mailing list archive at Nabble.com.

_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

#4 lore raw
In reply to Misbah khan

I have used in_be32() and out_be32() for ppc8248 in one of my driver for FPGA in which the fpga memory is mapped here it is Io mapped thats the only difference ....remapping and using in_8() and out_8() will it work for BigEndian arch ????

-----Misbah <><

Quoted 18 lines · Misbah khan

Hi all...

I am writing a driver in which device port is mapped to CPLD and 8 bit data bus is directly connected from processor to CPLD. Read write on CPLD memory mapped (buffer/register) is required to control the device. This is now IO mapped to processor.

I need to know whether i am right if i impliment like this :-
addr=ioremap(base_addr); // Remap to Mem mapped address
outb(addr) and inb(addr);

Please suggest me if i am wrong or there could be better solution to this .

-----Misbah <><

Signature · 2 lines
View this message in context: http://www.nabble.com/How-to-do-IO-mapped-Implimentation-----tp14522349p14555864.html
Sent from the linuxppc-embedded mailing list archive at Nabble.com.
#5 lore raw

Hmmm, I have not touched ppc8248 before, but I guess it will work since it is only 1 byte, not 2 or 4 byte access. I have used it in ppc 440epx, and that eval board is big endian as well.

Quoted 45 lines · Misbah khan

I have used in_be32() and out_be32() for ppc8248 in one of my driver for FPGA
in which the fpga memory is mapped here it is Io mapped thats the only difference ....remapping and using in_8() and out_8() will it work for BigEndian arch ????

-----Misbah <><

Quoted 5 lines · Misbah khan

Hi all...

I am writing a driver in which device port is mapped to CPLD and 8 bit data bus is directly connected from processor to CPLD. Read write on

CPLD

Quoted 1 line

memory mapped (buffer/register) is required to control the device. This

is

Quoted 4 lines

now IO mapped to processor.

I need to know whether i am right if i impliment like this :-
addr=ioremap(base_addr); // Remap to Mem mapped

address

Quoted 3 lines
         outb(addr) and inb(addr);

Please suggest me if i am wrong or there could be better solution to

this

Quoted 5 lines

.

-----Misbah <><

--
View this message in context:
http://www.nabble.com/How-to-do-IO-mapped-Implimentation-----tp14522349p14555864.html
Sent from the linuxppc-embedded mailing list archive at Nabble.com.

_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

#6 lore raw
In reply to Misbah khan

You are absolutly right and i guess it will certainly work for 8248 as well , but the only concern is that " here in mine case the register is not memory mapped where as its IO mapped " we have to consider the memory as IO port and then access the data ....

What you have used i guess its memory mapped ...Is it that accessing memory mapped is same as io mapped ?????

---Misbah

Quoted 18 lines · Misbah khan

Hi all...

I am writing a driver in which device port is mapped to CPLD and 8 bit data bus is directly connected from processor to CPLD. Read write on CPLD memory mapped (buffer/register) is required to control the device. This is now IO mapped to processor.

I need to know whether i am right if i impliment like this :-
addr=ioremap(base_addr); // Remap to Mem mapped address
outb(addr) and inb(addr);

Please suggest me if i am wrong or there could be better solution to this .

-----Misbah <><

Signature · 2 lines
View this message in context: http://www.nabble.com/How-to-do-IO-mapped-Implimentation-----tp14522349p14557204.html
Sent from the linuxppc-embedded mailing list archive at Nabble.com.
#7 lore raw

Oh, I just missed the io mapped in your previous email. Unfortunately, my experience is only limited to memory map. I think they should be the same.

Quoted 50 lines · Misbah khan

You are absolutly right and i guess it will certainly work for 8248 as well ,
but the only concern is that " here in mine case the register is not memory
mapped where as its IO mapped " we have to consider the memory as IO port and then access the data ....

What you have used i guess its memory mapped ...Is it that accessing memory
mapped is same as io mapped ?????

---Misbah

Quoted 5 lines · Misbah khan

Hi all...

I am writing a driver in which device port is mapped to CPLD and 8 bit data bus is directly connected from processor to CPLD. Read write on

CPLD

Quoted 1 line

memory mapped (buffer/register) is required to control the device. This

is

Quoted 4 lines

now IO mapped to processor.

I need to know whether i am right if i impliment like this :-
addr=ioremap(base_addr); // Remap to Mem mapped

address

Quoted 3 lines
         outb(addr) and inb(addr);

Please suggest me if i am wrong or there could be better solution to

this

Quoted 5 lines

.

-----Misbah <><

--
View this message in context:
http://www.nabble.com/How-to-do-IO-mapped-Implimentation-----tp14522349p14557204.html
Sent from the linuxppc-embedded mailing list archive at Nabble.com.

_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

#8 lore raw
In reply to Misbah khan

Till now i assume that Io mapped and memory mapped Implimentation are same ...the biggest doubt is How the two would remain the same ....If any of you have worked on it Please share your experience with me ....

Quoted 18 lines · Misbah khan

Hi all...

I am writing a driver in which device port is mapped to CPLD and 8 bit data bus is directly connected from processor to CPLD. Read write on CPLD memory mapped (buffer/register) is required to control the device. This is now IO mapped to processor.

I need to know whether i am right if i impliment like this :-
addr=ioremap(base_addr); // Remap to Mem mapped address
outb(addr) and inb(addr);

Please suggest me if i am wrong or there could be better solution to this .

-----Misbah <><

Signature · 2 lines
View this message in context: http://www.nabble.com/How-to-do-IO-mapped-Implimentation-----tp14522349p14575369.html
Sent from the linuxppc-embedded mailing list archive at Nabble.com.