xref: /haiku/docs/develop/kernel/arch/ppc/sam460ex.rst (revision 3d4afef9cba2f328e238089d4609d00d4b1524f3)
1The Sam460ex Haiku port
2=======================
3
4Complications for this port comes from the fact that the CPU used was designed for embedded devices,
5and has a much simpler MMU than the one on desktop machines. As a result, completely different
6memory management code needs to be written.
7
8U-Boot commands
9---------------
10
11no-fdt no-initrd
12****************
13
14seems the U-Boot input buffer is quite limited, can't paste much more on single line in minicom
15
16  setenv ipaddr 192.168.4.100; tftpboot 0x4000000 192.168.4.2:haiku_loader_linux.ub; bootm 0x4000000
17
18with FDT and tgz as initrd
19**************************
20
21  setenv ipaddr 192.168.4.100
22  tftpboot 0x4000000 192.168.4.2:haiku_loader_linux.ub
23  tftpboot 0x8000000 192.168.4.2:haiku_initrd.ub
24  tftpboot 0xc000000 192.168.4.2:sam460ex.dtb
25  fdt addr 0xc000000
26  fdt header
27  bootm 0x4000000 0x8000000 0xc000000 plop
28
29for environment
30***************
31
32  setenv booth1 'setenv ipaddr 192.168.4.100; tftpboot 0x4000000 192.168.4.2:haiku_loader_linux.ub'
33  setenv booth2 'tftpboot 0x8000000 192.168.4.2:haiku_initrd.ub'
34  setenv booth3 'tftpboot 0xc000000 192.168.4.2:sam460ex.dtb'
35  setenv booth4 'bootm 0x4000000 0x8000000 0xc000000 plop'
36  setenv booth 'run booth1; run booth2; run booth3; run booth4'
37  saveenv
38  run booth
39
40TODOs
41-----
42
43* U-Boot API?
44* move Partenope hack to proper official U-Boot API?
45* reserved regs?
46
47  BoardSetup +=:?
48  TARGET_BOOT_CCFLAGS += -ffixed-r2 -ffixed-r14 -ffixed-r29 ;
49  TARGET_BOOT_C++FLAGS += -ffixed-r2 -ffixed-r14 -ffixed-r29 ;
50
51* kdebug/disasm/ppc http://code.google.com/p/ppcd/
52
53Other ports
54-----------
55
56* `AROS port <https://www.gitorious.org/aros/aros/commits/sam460>`_
57* `Linux port <http://kernel.org/doc/ols/2003/ols2003-pages-340-350.pdf>`_
58* `NetBSD <https://wiki.netbsd.org/users/rkujawa/sam4x0/>`_
59
60PowerPC information
61-------------------
62
63Classic
64*******
65
66* http://class.ee.iastate.edu/cpre211/labs/quickrefPPC.html
67* http://www.ibm.com/developerworks/library/l-ppc/
68* http://www.csd.uwo.ca/~mburrel/stuff/ppc-asm.html
69
70Book-E
71******
72
73* http://www.linux-kvm.org/page/PowerPC_Book_E_MMU
74* http://wiki.freebsd.org/powerpc/BookE
75* http://en.wikipedia.org/wiki/Memory_management_unit#PowerPC
76
77ePAPR
78*****
79
80* https://www.power.org/wp-content/uploads/2012/06/Power_ePAPR_APPROVED_v1.1.pdf
81* PPC440: http://elinux.org/Book_E_and_PPC_440
82
83amcc 4x0
84********
85
86* http://c0ff33.net/drop/PPC440_UM2013.pdf
87* http://www.embeddeddeveloper.com/assets/processors/amcc/datasheets/PP460EX_DS2063.pdf
88
89Freescale 440
90*************
91
92This version has a different mmu!!
93
94* http://www.freescale.com/files/32bit/doc/white_paper/POWRPCARCPRMRM.pdf
95
96FDT
97---
98
99* http://www.denx.de/wiki/U-Boot/UBootFdtInfo
100* http://wiki.freebsd.org/FlattenedDeviceTree#Supporting_library_.28libfdt.29
101* (see also arm docs)
102
103Sam440 dts
104**********
105
106* http://lxr.linux.no/linux+v3.4/arch/powerpc/boot/dts/sam440ep.dts
107* Sam460ex dts: identical to amcc,Canyonlands !?
108* http://www.denx.de/wiki/view/DULG/Appendix#Section_13.1.
109
110OpenFirmware framebuffer
111************************
112
113(not really usable from U-Boot (yet?))
114
115* http://www.feedface.com/howto/forth.html
116* http://mail-index.netbsd.org/port-macppc/2004/12/13/0046.html
117* http://lists.freebsd.org/pipermail/svn-src-user/2012-January/004806.html
118* http://www.openfirmware.info/Bindings
119
120