Oh damn. Simply disregard, I had some stupid filter on.

Regards,
John




> On Jan 21, 2016, at 12:31 PM, John Syne <[email protected]> wrote:
> 
> I believe you only use ioremap for CPUs that have a separate IO address bus. 
> The AM3358 IO is available on the same address bus as regular memory. Simply 
> read and write to 0xFA0022000 + <reg offset> should work just fine. You might 
> ask why the address is different to the UART1 defined in TRM. This is done in 
> arch/arm/mach-omap2/iomap.h - simply use OMAP2_L4_IO_ADDRESS(0x48022000) to 
> get 0xFA022000.
> 
> Regards,
> John
> 
> 
> 
> 
>> On Aug 2, 2013, at 7:19 AM, Grissiom <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> Hi all,
>> 
>> I'm new to both Linux kernel but I need to do same development on the linux 
>> kernel on BBB. My kernel has the console on uart0(i.e., ttyO0). I enabled 
>> uart1 in the device tree and want to do some direct register access to it. I 
>> did `echo "test" > /dev/ttyO1` and it works fine.Then I wrote a kernel 
>> module like this:
>> 
>> void *puart1 = ioremap(0x48022000, 4096); // remap the uart1 address
>> printk("%s: 0x%08lx --> 0x%p\n", 0x48022000, 0xfa022000);
>> printk("LSR:0x%08x\n", *(int*)(puart1+0x14));
>> 
>> But the kernel opps at the last line:
>> 
>> [  108.462047] 0x48022000 --> 0xfa022000
>> [  108.541026] Unhandled fault: external abort on non-linefetch (0x1028) at 
>> 0xfa022014
>> [  108.549051] Internal error: : 1028 [#1] ARM
>> [  108.553429] Modules linked in: vmm_linux(O+)
>> [  108.557921] CPU: 0    Tainted: G           O  
>> (3.8.13-mini-00694-gd24eda0-dirty #20)
>> [  108.566048] PC is at vmm_entry+0x28/0x8c [vmm_linux]
>> [  108.571253] LR is at vmm_entry+0x18/0x8c [vmm_linux]
>> [  108.576455] pc : [<bf0000ec>]    lr : [<bf0000dc>]    psr: 20000013
>> [  108.576455] sp : df011e60  ip : 00000000  fp : df011f58
>> [  108.588471] r10: bf002000  r9 : 00000000  r8 : bf000538
>> [  108.593942] r7 : 00000001  r6 : bf0004fc  r5 : bf0004dc  r4 : bf000638
>> [  108.600774] r3 : fa022000  r2 : 20000093  r1 : 00000001  r0 : bf0003b6
>> [  108.607608] Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment 
>> user
>> [  108.615079] Control: 10c5387d  Table: 9f354019  DAC: 00000015
>> [  108.621093] Process insmod (pid: 107, stack limit = 0xdf010238)
>> 
>> Why a simple register access will oops the kernel? Is there any other thing 
>> I should do?
>> 
>> (I'm aware that maybe this is not the right list to ask. But if it is not, 
>> please let me know where this question should go, Thanks!)
>> 
>> -- 
>> Cheers,
>> Grissiom
>> 
>> -- 
>> For more options, visit http://beagleboard.org/discuss 
>> <http://beagleboard.org/discuss>
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "BeagleBoard" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] 
>> <mailto:[email protected]>.
>> For more options, visit https://groups.google.com/groups/opt_out 
>> <https://groups.google.com/groups/opt_out>.
>>  
>>  
> 

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to