mirror of
https://github.com/godotengine/buildroot.git
synced 2026-01-10 10:10:28 +03:00
Compare commits
181 Commits
2016.11-rc
...
2016.11-rc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
93106e9e1f | ||
|
|
ee99fe4088 | ||
|
|
e920e521ac | ||
|
|
008ab8d590 | ||
|
|
114f5a9310 | ||
|
|
e64ee501a0 | ||
|
|
344566a778 | ||
|
|
cbe1f288d4 | ||
|
|
1546afad3c | ||
|
|
9d67242653 | ||
|
|
d45465e488 | ||
|
|
79061fe52f | ||
|
|
6d3e05690f | ||
|
|
907ea41c52 | ||
|
|
4c6d5e33ae | ||
|
|
ca41a78c2d | ||
|
|
9b2f9b137c | ||
|
|
0f496d77db | ||
|
|
01354e1a0f | ||
|
|
c111562706 | ||
|
|
d764abd1b9 | ||
|
|
16a4241cb7 | ||
|
|
1938ad4efa | ||
|
|
40a60b7545 | ||
|
|
83e207d7bc | ||
|
|
fa62773826 | ||
|
|
72dcc7c252 | ||
|
|
d2ff457e88 | ||
|
|
5a8d3f83b5 | ||
|
|
0c029a7acc | ||
|
|
1683c91c12 | ||
|
|
9d5241615a | ||
|
|
ccd49eec60 | ||
|
|
b4c050e9af | ||
|
|
b14b02698e | ||
|
|
f4cd8ceb9c | ||
|
|
171d4103c5 | ||
|
|
82f7217b33 | ||
|
|
47329fb4cf | ||
|
|
a01c4cda3e | ||
|
|
f09b33a0ab | ||
|
|
8ad8e9917f | ||
|
|
18af7b5787 | ||
|
|
99b3e82133 | ||
|
|
cbc2fd07b0 | ||
|
|
48341ce1cb | ||
|
|
e5a51555f8 | ||
|
|
a227cf11f4 | ||
|
|
fb45f199e5 | ||
|
|
edc18ac932 | ||
|
|
fe0607e68b | ||
|
|
8528db817d | ||
|
|
ebd63d405f | ||
|
|
c88713070e | ||
|
|
99d06dbd3d | ||
|
|
568013ecae | ||
|
|
fe13efe19d | ||
|
|
4f5f481991 | ||
|
|
63a20d5dfe | ||
|
|
d082d20a8a | ||
|
|
592188e34b | ||
|
|
4d907c71d4 | ||
|
|
59d047fa58 | ||
|
|
320d73ab1b | ||
|
|
ef5596aa03 | ||
|
|
8715e8da11 | ||
|
|
d20845c447 | ||
|
|
d9eeadbcc3 | ||
|
|
d149dae430 | ||
|
|
6c248452d6 | ||
|
|
12c2c80aa3 | ||
|
|
75022c5270 | ||
|
|
e550e4783a | ||
|
|
614e821a7f | ||
|
|
0ee4deb961 | ||
|
|
ca99d0ea92 | ||
|
|
aae80e71b6 | ||
|
|
2114cf021f | ||
|
|
9c49afdad6 | ||
|
|
2775276135 | ||
|
|
d3f0d52144 | ||
|
|
7f4dfd1188 | ||
|
|
eac8c9ee24 | ||
|
|
6e0d4bac19 | ||
|
|
c418476aa8 | ||
|
|
dab808e6ae | ||
|
|
789c731343 | ||
|
|
d4b99ff86c | ||
|
|
90aed6685f | ||
|
|
9317b9542b | ||
|
|
6378194f3a | ||
|
|
70030101e1 | ||
|
|
de90e02c60 | ||
|
|
7892a778b8 | ||
|
|
064004ae9d | ||
|
|
9bf4bd7ab0 | ||
|
|
4605967780 | ||
|
|
683f33dae5 | ||
|
|
52f9243be5 | ||
|
|
e6795d7931 | ||
|
|
7afacefb9c | ||
|
|
2f257ec7d7 | ||
|
|
b1a2f09e69 | ||
|
|
1595020670 | ||
|
|
7a21e6e9e3 | ||
|
|
4f04be1659 | ||
|
|
cd8171f4c7 | ||
|
|
1a23203bf4 | ||
|
|
78ac39cb89 | ||
|
|
dca2c33af7 | ||
|
|
e09a4e3cfd | ||
|
|
30dc5f4d40 | ||
|
|
e214d710f1 | ||
|
|
39c15c0e6e | ||
|
|
a50b9f0ebf | ||
|
|
499f28fc7c | ||
|
|
74a3e75bb8 | ||
|
|
a1d602a74d | ||
|
|
527e63cb82 | ||
|
|
179c5f1b87 | ||
|
|
2501039e3f | ||
|
|
0e3b374208 | ||
|
|
401c47e44b | ||
|
|
e5b3fa3ae4 | ||
|
|
b2bae3b523 | ||
|
|
84bd58d5bb | ||
|
|
f9fb1d59f5 | ||
|
|
cdcb7c25cd | ||
|
|
56d4c0b8ae | ||
|
|
afc9274715 | ||
|
|
6668a0ed5c | ||
|
|
7be691623a | ||
|
|
2a6001f17a | ||
|
|
0aff35482c | ||
|
|
2ab26ce601 | ||
|
|
240564a693 | ||
|
|
d13b1ce707 | ||
|
|
3ded6e5e39 | ||
|
|
d9a6d70283 | ||
|
|
64904f0f6d | ||
|
|
2befc2c736 | ||
|
|
187e5bc92b | ||
|
|
c30dd540c4 | ||
|
|
4c8e573fcb | ||
|
|
22dc3b6b64 | ||
|
|
adf31efcd4 | ||
|
|
1832f13b63 | ||
|
|
561859a533 | ||
|
|
be8779da6b | ||
|
|
4d65a7f0ee | ||
|
|
ae32d09c91 | ||
|
|
dfc2c48c1e | ||
|
|
fc1d28891f | ||
|
|
cbf9208549 | ||
|
|
c80a95c505 | ||
|
|
a92fdd337a | ||
|
|
09ed94bd6d | ||
|
|
0fb2263d29 | ||
|
|
a1ca3dcb59 | ||
|
|
d02655cd21 | ||
|
|
271756da67 | ||
|
|
7c670327d3 | ||
|
|
7027bf022b | ||
|
|
0bb0443ee9 | ||
|
|
9f9903eaa6 | ||
|
|
27a20609c2 | ||
|
|
bafd08a162 | ||
|
|
8dc4d06512 | ||
|
|
c85cd189dc | ||
|
|
ab1b6f7df4 | ||
|
|
f55a63f953 | ||
|
|
69182cb65a | ||
|
|
a25210b8a0 | ||
|
|
998d44e088 | ||
|
|
d2362fc9c4 | ||
|
|
ac607c85a7 | ||
|
|
97e8db6868 | ||
|
|
48019c68fa | ||
|
|
c29f023fc6 | ||
|
|
07c1ae90c8 | ||
|
|
857ac5502d |
61
CHANGES
61
CHANGES
@@ -1,3 +1,64 @@
|
||||
2016.11-rc3, Released November 28th, 2016
|
||||
|
||||
Fixes all over the tree, including a number of security fixes.
|
||||
|
||||
The move from fakeroot to pseudo unfortunately brought a
|
||||
number of issues. The SELinux issue described in #9386 which
|
||||
triggered the move to pseudo has been investigated further and
|
||||
a workaround implemented and the pseudo changes reverted.
|
||||
|
||||
Linux kernel: update default to 4.8.11.
|
||||
|
||||
Defconfigs: Updates/fixes for imx28ek, mx6udoo, imx6ulpico,
|
||||
olimex a20 olinuxino lime malo, roseapplepi, synopsis aarch64
|
||||
vdk, axs101, axs103 and hs38 smd vdk.
|
||||
|
||||
Updated/fixed packages: autossh, chrony, dosfstools,
|
||||
dtv-scan-tables, e2fsprogs, gcc, gdb, gnuchess, gnuradio,
|
||||
gpsd, gst1-plugins-bad, gst1-plugins-good, imagemagick,
|
||||
kvm-unit-tests, libfribi, libuv, mesa3d, mpfr, mplayer, mpv,
|
||||
ntp, ola, olsr, openblas, openjpeg, openssh, postgresql,
|
||||
ptpd2python3, qemu, qextserialport, qt5base, quagga, xqwt,
|
||||
taskd, tiff, tremor, trousers, udisks, uclibc, wireshark,
|
||||
xapp_xload, xenomai, xmlstarlet
|
||||
|
||||
Issues resolved (http://bugs.buildroot.org):
|
||||
|
||||
#9386: ubinize fails with or without custom config
|
||||
#9431: A misspelling
|
||||
#9446: make raspberrypi3_defconfig compilation failure
|
||||
|
||||
2016.11-rc2, Released November 13th, 2016
|
||||
|
||||
Fixes all over the tree.
|
||||
|
||||
Architecture: add support for MIPS XBurst cores; remove MIPS
|
||||
support for M5100 cores.
|
||||
|
||||
Updated/fixed packages: mesa3d, lttng-babeltrace, tinyalsa, pseudo,
|
||||
czmq, libxml2, makedevs, binutils, kvm-unit-tests, libnss, privoxy,
|
||||
qemu, ser2net, net-tools, ffmpeg, assimp, libmpeg2, ccache, mpv,
|
||||
libxslt, python, python3, php, valgrind, guile, domoticz, efl,
|
||||
jasper, kvmtool, go, wget, sane-backends, weston, tinymembench,
|
||||
strace, openjpeg, lcms2, quota.
|
||||
|
||||
Linux kernel: update default to 4.8.7.
|
||||
|
||||
CMake support: fix cmake wrapper to properly pass NDEBUG flag.
|
||||
|
||||
Filesystems: use a wrapper to pseudo, to better mimick the behaviour
|
||||
of fakeroot; makedevs no longer breaks of the destination already
|
||||
exists and is of the correct type/major/minor.
|
||||
|
||||
Defconfigs: a few legacy and broken defconfigs have been removed
|
||||
because they now fail to build: kb9202_defconfig, mini2440_defconfig,
|
||||
freescale_p2020ds, qmx6, calao*, atmel_sama5d4ek. Other defconfigs
|
||||
have been updated: nanopi-neo, olimex_a20_olinuxino_lime_mali,
|
||||
armadeus_apf51, armadeus_apf28, freescale_imx31_3stack, ci20,
|
||||
olimex_a20_olinuxino_lime2, atmel_at91sam9260eknf,
|
||||
atmel_at91sam9rlek, atmel_at91sam9g20dfc, atmel_at91sam9g45m10ek,
|
||||
atmel_sama5d3xek.
|
||||
|
||||
2016.11-rc1, Released November 3rd, 2016
|
||||
|
||||
Fixes all over the tree and new features.
|
||||
|
||||
10
DEVELOPERS
10
DEVELOPERS
@@ -338,6 +338,7 @@ N: Cédric Chépied <cedric.chepied@gmail.com>
|
||||
F: package/znc/
|
||||
|
||||
N: Cyril Bur <cyrilbur@gmail.com>
|
||||
F: arch/Config.in.powerpc
|
||||
F: package/kvm-unit-tests
|
||||
|
||||
N: Dagg Stompler <daggs@gmx.com>
|
||||
@@ -568,14 +569,6 @@ F: package/libsrtp/
|
||||
F: package/libwebsock/
|
||||
F: package/sofia-sip/
|
||||
|
||||
N: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
F: package/bcusdk/
|
||||
F: package/dfu-util/
|
||||
F: package/libpthsem/
|
||||
F: package/linknx/
|
||||
F: package/snowball-hdmiservice/
|
||||
F: package/ux500-firmware/
|
||||
|
||||
N: Guillaume Gardet <guillaume.gardet@oliseo.fr>
|
||||
F: package/c-icap/
|
||||
F: package/c-icap-modules/
|
||||
@@ -1647,6 +1640,7 @@ F: package/modem-manager/
|
||||
F: package/nuttcp/
|
||||
F: package/parted/
|
||||
F: package/python*
|
||||
F: package/ser2net/
|
||||
F: package/socketcand/
|
||||
F: package/qt5/qt5serialbus/
|
||||
F: package/sdparm/
|
||||
|
||||
10
Makefile
10
Makefile
@@ -83,7 +83,7 @@ else # umask / $(CURDIR) / $(O)
|
||||
all:
|
||||
|
||||
# Set and export the version string
|
||||
export BR2_VERSION := 2016.11-rc1
|
||||
export BR2_VERSION := 2016.11-rc3
|
||||
|
||||
# Save running make version since it's clobbered by the make package
|
||||
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
|
||||
@@ -641,7 +641,7 @@ target-finalize: $(PACKAGES)
|
||||
$(TARGET_DIR)/usr/lib/pkgconfig $(TARGET_DIR)/usr/share/pkgconfig \
|
||||
$(TARGET_DIR)/usr/lib/cmake $(TARGET_DIR)/usr/share/cmake
|
||||
find $(TARGET_DIR)/usr/{lib,share}/ -name '*.cmake' -print0 | xargs -0 rm -f
|
||||
find $(TARGET_DIR)/lib $(TARGET_DIR)/usr/lib $(TARGET_DIR)/usr/libexec \
|
||||
find $(TARGET_DIR)/lib/ $(TARGET_DIR)/usr/lib/ $(TARGET_DIR)/usr/libexec/ \
|
||||
\( -name '*.a' -o -name '*.la' \) -print0 | xargs -0 rm -f
|
||||
ifneq ($(BR2_PACKAGE_GDB),y)
|
||||
rm -rf $(TARGET_DIR)/usr/share/gdb
|
||||
@@ -663,13 +663,13 @@ endif
|
||||
# besides the one in which crash occurred; or SIGTRAP kills my program when
|
||||
# I set a breakpoint"
|
||||
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
|
||||
find $(TARGET_DIR)/lib -type f -name 'libpthread*.so*' | \
|
||||
find $(TARGET_DIR)/lib/ -type f -name 'libpthread*.so*' | \
|
||||
xargs -r $(STRIPCMD) $(STRIP_STRIP_DEBUG)
|
||||
endif
|
||||
|
||||
# Valgrind needs ld.so with enough information, so only strip
|
||||
# debugging symbols.
|
||||
find $(TARGET_DIR)/lib -type f -name 'ld-*.so*' | \
|
||||
find $(TARGET_DIR)/lib/ -type f -name 'ld-*.so*' | \
|
||||
xargs -r $(STRIPCMD) $(STRIP_STRIP_DEBUG)
|
||||
test -f $(TARGET_DIR)/etc/ld.so.conf && \
|
||||
{ echo "ERROR: we shouldn't have a /etc/ld.so.conf file"; exit 1; } || true
|
||||
@@ -928,7 +928,7 @@ clean:
|
||||
$(LEGAL_INFO_DIR) $(GRAPHS_DIR)
|
||||
|
||||
distclean: clean
|
||||
ifeq ($(O),output)
|
||||
ifeq ($(O),$(CURDIR)/output)
|
||||
rm -rf $(O)
|
||||
endif
|
||||
rm -rf $(TOPDIR)/dl $(BR2_CONFIG) $(CONFIG_DIR)/.config.old $(CONFIG_DIR)/..config.tmp \
|
||||
|
||||
@@ -47,22 +47,31 @@ config BR2_mips_interaptiv
|
||||
bool "interAptiv"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS32R2
|
||||
config BR2_mips_m5100
|
||||
bool "M5100"
|
||||
config BR2_mips_m5150
|
||||
bool "M5150"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS32R5
|
||||
config BR2_mips_m5101
|
||||
bool "M5101"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS32R5
|
||||
config BR2_mips_m6201
|
||||
bool "M6201"
|
||||
config BR2_mips_m6250
|
||||
bool "M6250"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS32R6
|
||||
config BR2_mips_p5600
|
||||
bool "P5600"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS32R5
|
||||
config BR2_mips_xburst
|
||||
bool "XBurst"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS32R2
|
||||
help
|
||||
The Ingenic XBurst is a MIPS32R2 microprocessor. It has a
|
||||
bug in the FPU that can generate incorrect results in
|
||||
certain cases. The problem shows up when you have several
|
||||
fused madd instructions in sequence with dependant
|
||||
operands. This requires the -mno-fused-madd compiler option
|
||||
to be used in order to prevent emitting these instructions.
|
||||
|
||||
See http://www.ingenic.com/en/?xburst.html
|
||||
config BR2_mips_64
|
||||
bool "Generic MIPS64"
|
||||
depends on BR2_ARCH_IS_64
|
||||
@@ -133,10 +142,10 @@ config BR2_GCC_TARGET_ARCH
|
||||
default "mips32r5" if BR2_mips_32r5
|
||||
default "mips32r6" if BR2_mips_32r6
|
||||
default "interaptiv" if BR2_mips_interaptiv
|
||||
default "m5100" if BR2_mips_m5100
|
||||
default "m5101" if BR2_mips_m5101
|
||||
default "m6201" if BR2_mips_m6201
|
||||
default "m5101" if BR2_mips_m5150
|
||||
default "m6201" if BR2_mips_m6250
|
||||
default "p5600" if BR2_mips_p5600
|
||||
default "mips32r2" if BR2_mips_xburst
|
||||
default "mips64" if BR2_mips_64
|
||||
default "mips64r2" if BR2_mips_64r2
|
||||
default "mips64r5" if BR2_mips_64r5
|
||||
|
||||
@@ -20,7 +20,7 @@ CONFIG_BSD_DISKLABEL=y
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
CONFIG_ARCH_MXC=y
|
||||
CONFIG_MXC_IRQ_PRIOR=y
|
||||
CONFIG_MACH_IMX51_DT=y
|
||||
CONFIG_SOC_IMX51=y
|
||||
CONFIG_ARM_THUMBEE=y
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_AEABI=y
|
||||
@@ -111,7 +111,9 @@ CONFIG_KEYBOARD_GPIO=m
|
||||
CONFIG_KEYBOARD_IMX=m
|
||||
CONFIG_INPUT_TOUCHSCREEN=y
|
||||
CONFIG_TOUCHSCREEN_WM831X=y
|
||||
CONFIG_TOUCHSCREEN_MC13XXX=m
|
||||
CONFIG_INPUT_MISC=y
|
||||
CONFIG_INPUT_MC13783_PWRBUTTON=m
|
||||
CONFIG_INPUT_UINPUT=m
|
||||
CONFIG_INPUT_WM831X_ON=y
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
@@ -127,19 +129,24 @@ CONFIG_SPI_IMX=y
|
||||
CONFIG_SPI_SPIDEV=m
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_GPIO_WM831X=m
|
||||
CONFIG_POWER_SUPPLY=m
|
||||
CONFIG_POWER_SUPPLY=y
|
||||
CONFIG_WM831X_BACKUP=m
|
||||
CONFIG_WM831X_POWER=m
|
||||
CONFIG_HWMON=m
|
||||
CONFIG_SENSORS_AS1531=m
|
||||
CONFIG_SENSORS_MC13783_ADC=m
|
||||
CONFIG_SENSORS_WM831X=m
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_WATCHDOG_NOWAYOUT=y
|
||||
CONFIG_WM831X_WATCHDOG=m
|
||||
CONFIG_IMX2_WDT=y
|
||||
CONFIG_MFD_MC13XXX_I2C=y
|
||||
CONFIG_MFD_WM831X_I2C=y
|
||||
CONFIG_REGULATOR=y
|
||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
CONFIG_REGULATOR_MC13892=m
|
||||
CONFIG_IMX_IPUV3_CORE=y
|
||||
CONFIG_DRM=y
|
||||
CONFIG_MFD_IMX_IPU_V3=y
|
||||
CONFIG_MEDIA_SUPPORT=m
|
||||
CONFIG_VIDEO_DEV=m
|
||||
@@ -203,12 +210,13 @@ CONFIG_USB_PRINTER=y
|
||||
CONFIG_USB_WDM=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_CHIPIDEA=y
|
||||
CONFIG_USB_CHIPIDEA_UDC=y
|
||||
CONFIG_USB_CHIPIDEA_HOST=y
|
||||
CONFIG_USB_PHY=y
|
||||
CONFIG_NOP_USB_XCEIV=y
|
||||
CONFIG_USB_GPIO_VBUS=y
|
||||
CONFIG_USB_ULPI=y
|
||||
CONFIG_USB_GADGET=m
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_GADGET_DEBUG_FILES=y
|
||||
CONFIG_USB_GADGET_DEBUG_FS=y
|
||||
CONFIG_USB_ETH=m
|
||||
@@ -227,12 +235,19 @@ CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_WM831X_STATUS=m
|
||||
CONFIG_LEDS_MC13783=m
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_MXC=y
|
||||
CONFIG_RTC_DRV_WM831X=y
|
||||
CONFIG_RTC_DRV_MC13XXX=m
|
||||
CONFIG_STAGING=y
|
||||
CONFIG_DRM_IMX=y
|
||||
CONFIG_DRM_IMX_FB_HELPER=y
|
||||
CONFIG_DRM_IMX_PARALLEL_DISPLAY=y
|
||||
CONFIG_DRM_IMX_TVE=y
|
||||
CONFIG_DRM_IMX_IPUV3=y
|
||||
CONFIG_IIO=m
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT2_FS_XATTR=y
|
||||
@@ -242,6 +257,7 @@ CONFIG_EXT2_FS_XIP=y
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_EXT3_FS_POSIX_ACL=y
|
||||
CONFIG_EXT3_FS_SECURITY=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_AUTOFS4_FS=y
|
||||
CONFIG_ISO9660_FS=y
|
||||
CONFIG_JOLIET=y
|
||||
@@ -249,10 +265,6 @@ CONFIG_ZISOFS=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
|
||||
CONFIG_JFFS2_LZO=y
|
||||
CONFIG_JFFS2_CMODE_NONE=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
@@ -1,98 +0,0 @@
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
CONFIG_KERNEL_LZO=y
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
CONFIG_ARCH_AT91=y
|
||||
CONFIG_ARCH_AT91SAM9260=y
|
||||
CONFIG_ARCH_AT91SAM9260_SAM9XE=y
|
||||
CONFIG_MACH_AT91SAM9260EK=y
|
||||
CONFIG_MACH_CAM60=y
|
||||
CONFIG_MACH_SAM9_L9260=y
|
||||
CONFIG_MACH_AFEB9260=y
|
||||
CONFIG_MACH_USB_A9260=y
|
||||
CONFIG_MACH_QIL_A9260=y
|
||||
CONFIG_MACH_CPU9260=y
|
||||
CONFIG_MACH_FLEXIBITY=y
|
||||
CONFIG_MACH_SNAPPER_9260=y
|
||||
CONFIG_MACH_AT91SAM_DT=y
|
||||
CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
|
||||
# CONFIG_ARM_THUMB is not set
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_ARM_APPENDED_DTB=y
|
||||
CONFIG_ARM_ATAG_DTB_COMPAT=y
|
||||
CONFIG_CMDLINE="mem=64M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev/ram0 rw"
|
||||
CONFIG_FPE_NWFPE=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_LRO is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_ATMEL=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_SCSI_MULTI_LUN=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_MII=y
|
||||
CONFIG_MACB=y
|
||||
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_SERIO is not set
|
||||
CONFIG_SERIAL_ATMEL=y
|
||||
CONFIG_SERIAL_ATMEL_CONSOLE=y
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_GPIO=y
|
||||
# CONFIG_HWMON is not set
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_WATCHDOG_NOWAYOUT=y
|
||||
CONFIG_AT91SAM9X_WATCHDOG=y
|
||||
# CONFIG_USB_HID is not set
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_DEVICEFS=y
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_STORAGE_DEBUG=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_ZERO=m
|
||||
CONFIG_USB_GADGETFS=m
|
||||
CONFIG_USB_MASS_STORAGE=m
|
||||
CONFIG_USB_G_SERIAL=m
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_AT91SAM9=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_CRAMFS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_CODEPAGE_850=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_DEBUG_USER=y
|
||||
CONFIG_DEBUG_LL=y
|
||||
@@ -13,7 +13,6 @@ This guide covers the following configurations:
|
||||
- atmel_sama5d3_xplained_dev_defconfig
|
||||
- atmel_sama5d3_xplained_mmc_defconfig
|
||||
- atmel_sama5d3_xplained_mmc_dev_defconfig
|
||||
- atmel_sama5d4ek_defconfig
|
||||
- atmel_sama5d4_xplained_defconfig
|
||||
- atmel_sama5d4_xplained_dev_defconfig
|
||||
- atmel_sama5d4_xplained_mmc_defconfig
|
||||
|
||||
@@ -23,6 +23,7 @@ image sdcard.img {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 1M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
|
||||
@@ -23,6 +23,7 @@ image sdcard.img {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 1M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
|
||||
@@ -24,6 +24,7 @@ image sdcard.img {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 1M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
|
||||
@@ -92,14 +92,12 @@ fi
|
||||
|
||||
setenv bootargs "${bootargs} console=${console},115200 vmalloc=400M consoleblank=0 rootwait fixrtc"
|
||||
|
||||
bpart=1
|
||||
|
||||
if test "sata" = "${dtype}" ; then
|
||||
setenv bootargs "${bootargs} root=/dev/sda${bpart}" ;
|
||||
setenv bootargs "${bootargs} root=/dev/sda${bootpart}" ;
|
||||
elif test "usb" = "${dtype}" ; then
|
||||
setenv bootargs "${bootargs} root=/dev/sda${bpart}" ;
|
||||
setenv bootargs "${bootargs} root=/dev/sda${bootpart}" ;
|
||||
else
|
||||
setenv bootargs "${bootargs} root=/dev/mmcblk${disk}p${bpart}"
|
||||
setenv bootargs "${bootargs} root=/dev/mmcblk${disk}p${bootpart}"
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${disable_giga}" ; then
|
||||
|
||||
@@ -1,111 +0,0 @@
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
CONFIG_ARCH_AT91=y
|
||||
CONFIG_ARCH_AT91SAM9260=y
|
||||
CONFIG_MACH_QIL_A9260=y
|
||||
CONFIG_AT91_SLOW_CLOCK=y
|
||||
CONFIG_AT91_EARLY_USART0=y
|
||||
# CONFIG_ARM_THUMB is not set
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_CMDLINE="mem=64M console=ttyS1,115200"
|
||||
CONFIG_FPE_NWFPE=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_IP_ROUTE_VERBOSE=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_IP_PNP_RARP=y
|
||||
CONFIG_IP_MROUTE=y
|
||||
CONFIG_IP_PIMSM_V1=y
|
||||
CONFIG_IP_PIMSM_V2=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_LRO is not set
|
||||
# CONFIG_INET_DIAG is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_DATAFLASH=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_ATMEL=y
|
||||
CONFIG_MTD_NAND_ATMEL_ECC_SOFT=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_SCSI_MULTI_LUN=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_MII=y
|
||||
CONFIG_MACB=y
|
||||
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_INPUT_EVBUG=y
|
||||
# CONFIG_KEYBOARD_ATKBD is not set
|
||||
CONFIG_KEYBOARD_GPIO=y
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_SERIO is not set
|
||||
CONFIG_SERIAL_ATMEL=y
|
||||
CONFIG_SERIAL_ATMEL_CONSOLE=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_ATMEL=y
|
||||
# CONFIG_HWMON is not set
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_WATCHDOG_NOWAYOUT=y
|
||||
# CONFIG_USB_HID is not set
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_DEVICEFS=y
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_ETH=m
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_AT91=m
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_M41T94=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_FUSE_FS=m
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_UBIFS_FS_XATTR=y
|
||||
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
CONFIG_NFS_V3_ACL=y
|
||||
CONFIG_NFS_V4=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_CODEPAGE_850=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_DEBUG_USER=y
|
||||
CONFIG_DEBUG_LL=y
|
||||
@@ -1,603 +0,0 @@
|
||||
From a3e08beea8bf5e96e1237eef4a82f4a2fdd5286b Mon Sep 17 00:00:00 2001
|
||||
From: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
Date: Thu, 19 Jul 2012 14:19:59 +0200
|
||||
Subject: [PATCH] Add support for the Calao-systems QIL-A9260
|
||||
|
||||
|
||||
Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
---
|
||||
board/qil_a9260/nandflash/Makefile | 122 ++++++++++++++
|
||||
board/qil_a9260/nandflash/qil-a9260.h | 109 ++++++++++++
|
||||
board/qil_a9260/qil_a9260.c | 298 +++++++++++++++++++++++++++++++++
|
||||
crt0_gnu.S | 7 +
|
||||
include/part.h | 6 +-
|
||||
5 files changed, 541 insertions(+), 1 deletions(-)
|
||||
create mode 100644 board/qil_a9260/nandflash/Makefile
|
||||
create mode 100644 board/qil_a9260/nandflash/qil-a9260.h
|
||||
create mode 100644 board/qil_a9260/qil_a9260.c
|
||||
|
||||
diff --git a/board/qil_a9260/nandflash/Makefile b/board/qil_a9260/nandflash/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..209a25f
|
||||
--- /dev/null
|
||||
+++ b/board/qil_a9260/nandflash/Makefile
|
||||
@@ -0,0 +1,122 @@
|
||||
+# TODO: set this appropriately for your local toolchain
|
||||
+ifndef ERASE_FCT
|
||||
+ERASE_FCT=rm -f
|
||||
+endif
|
||||
+ifndef CROSS_COMPILE
|
||||
+CROSS_COMPILE=arm-elf-
|
||||
+endif
|
||||
+
|
||||
+TOOLCHAIN=gcc
|
||||
+
|
||||
+BOOTSTRAP_PATH=../../..
|
||||
+
|
||||
+# NandFlashBoot Configuration for QIL-A9260
|
||||
+
|
||||
+# Target name (case sensitive!!!)
|
||||
+TARGET=AT91SAM9260
|
||||
+# Board name (case sensitive!!!)
|
||||
+BOARD=qil_a9260
|
||||
+# Link Address and Top_of_Memory
|
||||
+LINK_ADDR=0x200000
|
||||
+TOP_OF_MEMORY=0x301000
|
||||
+# Name of current directory
|
||||
+PROJECT=nandflash
|
||||
+
|
||||
+ifndef BOOT_NAME
|
||||
+BOOT_NAME=$(PROJECT)_$(BOARD)
|
||||
+endif
|
||||
+
|
||||
+INCL=./$(BOOTSTRAP_PATH)/board/$(BOARD)/$(PROJECT)
|
||||
+
|
||||
+ifeq ($(TOOLCHAIN), gcc)
|
||||
+
|
||||
+AS=$(CROSS_COMPILE)gcc
|
||||
+CC=$(CROSS_COMPILE)gcc
|
||||
+LD=$(CROSS_COMPILE)gcc
|
||||
+NM= $(CROSS_COMPILE)nm
|
||||
+SIZE=$(CROSS_COMPILE)size
|
||||
+OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
+OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL)
|
||||
+ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
+
|
||||
+# Linker flags.
|
||||
+# -Wl,...: tell GCC to pass this to linker.
|
||||
+# -Map: create map file
|
||||
+# --cref: add cross reference to map file
|
||||
+LDFLAGS+=-nostartfiles -nostdlib -Wl,-Map=$(BOOT_NAME).map,--cref
|
||||
+LDFLAGS+=-T $(BOOTSTRAP_PATH)/elf32-littlearm.lds -Ttext $(LINK_ADDR)
|
||||
+OBJS=crt0_gnu.o
|
||||
+
|
||||
+endif
|
||||
+
|
||||
+OBJS+=\
|
||||
+ $(BOARD).o \
|
||||
+ main.o \
|
||||
+ gpio.o \
|
||||
+ pmc.o \
|
||||
+ debug.o \
|
||||
+ sdramc.o \
|
||||
+ nandflash.o \
|
||||
+ _udivsi3.o \
|
||||
+ _umodsi3.o \
|
||||
+ div0.o \
|
||||
+ udiv.o \
|
||||
+ string.o
|
||||
+
|
||||
+
|
||||
+rebuild: clean all
|
||||
+
|
||||
+all: $(BOOT_NAME)
|
||||
+
|
||||
+ifeq ($(TOOLCHAIN), gcc)
|
||||
+$(BOOT_NAME): $(OBJS)
|
||||
+ $(LD) $(LDFLAGS) -n -o $(BOOT_NAME).elf $(OBJS)
|
||||
+ $(OBJCOPY) --strip-debug --strip-unneeded $(BOOT_NAME).elf -O binary $(BOOT_NAME).bin
|
||||
+endif
|
||||
+
|
||||
+
|
||||
+$(BOARD).o: $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -o $(BOARD).o
|
||||
+
|
||||
+main.o: $(BOOTSTRAP_PATH)/main.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/main.c -o main.o
|
||||
+
|
||||
+gpio.o: $(BOOTSTRAP_PATH)/driver/gpio.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/gpio.c -o gpio.o
|
||||
+
|
||||
+pmc.o: $(BOOTSTRAP_PATH)/driver/pmc.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/pmc.c -o pmc.o
|
||||
+
|
||||
+debug.o: $(BOOTSTRAP_PATH)/driver/debug.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/debug.c -o debug.o
|
||||
+
|
||||
+sdramc.o: $(BOOTSTRAP_PATH)/driver/sdramc.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/sdramc.c -o sdramc.o
|
||||
+
|
||||
+dataflash.o: $(BOOTSTRAP_PATH)/driver/dataflash.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/dataflash.c -o dataflash.o
|
||||
+
|
||||
+nandflash.o: $(BOOTSTRAP_PATH)/driver/nandflash.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/nandflash.c -o nandflash.o
|
||||
+
|
||||
+crt0_gnu.o: $(BOOTSTRAP_PATH)/crt0_gnu.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/crt0_gnu.S -o crt0_gnu.o
|
||||
+
|
||||
+div0.o: $(BOOTSTRAP_PATH)/lib/div0.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/div0.c -o div0.o
|
||||
+
|
||||
+string.o: $(BOOTSTRAP_PATH)/lib/string.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/string.c -o string.o
|
||||
+
|
||||
+udiv.o: $(BOOTSTRAP_PATH)/lib/udiv.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/udiv.c -o udiv.o
|
||||
+
|
||||
+_udivsi3.o: $(BOOTSTRAP_PATH)/lib/_udivsi3.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_udivsi3.S -o _udivsi3.o
|
||||
+
|
||||
+_umodsi3.o: $(BOOTSTRAP_PATH)/lib/_umodsi3.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_umodsi3.S -o _umodsi3.o
|
||||
+
|
||||
+clean:
|
||||
+ $(ERASE_FCT) *.o *.bin *.elf *.map
|
||||
diff --git a/board/qil_a9260/nandflash/qil-a9260.h b/board/qil_a9260/nandflash/qil-a9260.h
|
||||
new file mode 100644
|
||||
index 0000000..c87002e
|
||||
--- /dev/null
|
||||
+++ b/board/qil_a9260/nandflash/qil-a9260.h
|
||||
@@ -0,0 +1,109 @@
|
||||
+/* ----------------------------------------------------------------------------
|
||||
+ * ATMEL Microcontroller Software Support - ROUSSET -
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * Copyright (c) 2006, Atmel Corporation
|
||||
+
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions are met:
|
||||
+ *
|
||||
+ * - Redistributions of source code must retain the above copyright notice,
|
||||
+ * this list of conditions and the disclaimer below.
|
||||
+ *
|
||||
+ * Atmel's name may not be used to endorse or promote products derived from
|
||||
+ * this software without specific prior written permission.
|
||||
+ *
|
||||
+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
||||
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * File Name : qil-a9260.h
|
||||
+ * Object :
|
||||
+ * Creation : GH July 19th 2012
|
||||
+ *-----------------------------------------------------------------------------
|
||||
+ */
|
||||
+#ifndef _QIL_A9260_H
|
||||
+#define _QIL_A9260_H
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* PMC Settings */
|
||||
+/* */
|
||||
+/* The main oscillator is enabled as soon as possible in the c_startup */
|
||||
+/* and MCK is switched on the main oscillator. */
|
||||
+/* PLL initialization is done later in the hw_init() function */
|
||||
+/* ******************************************************************* */
|
||||
+#define MASTER_CLOCK (180000000/2)
|
||||
+#define PLL_LOCK_TIMEOUT 1000000
|
||||
+
|
||||
+#define PLLA_SETTINGS 0x20593F06
|
||||
+#define PLLB_SETTINGS 0x10483F0E
|
||||
+
|
||||
+/* Switch MCK on PLLA output PCK = PLLA = 2 * MCK */
|
||||
+#define MCKR_SETTINGS (AT91C_PMC_PRES_CLK | AT91C_PMC_MDIV_2)
|
||||
+#define MCKR_CSS_SETTINGS (AT91C_PMC_CSS_PLLA_CLK | MCKR_SETTINGS)
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* NandFlash Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define AT91C_SMARTMEDIA_BASE 0x40000000
|
||||
+
|
||||
+#define AT91_SMART_MEDIA_ALE (1 << 21) /* our ALE is AD21 */
|
||||
+#define AT91_SMART_MEDIA_CLE (1 << 22) /* our CLE is AD22 */
|
||||
+
|
||||
+#define NAND_DISABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_SODR = AT91C_PIO_PC14;} while(0)
|
||||
+#define NAND_ENABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_CODR = AT91C_PIO_PC14;} while(0)
|
||||
+
|
||||
+#define NAND_WAIT_READY() while (!(*(volatile unsigned int *)AT91C_PIOC_PDSR & AT91C_PIO_PC13))
|
||||
+
|
||||
+
|
||||
+/* ******************************************************************** */
|
||||
+/* SMC Chip Select 3 Timings for NandFlash for MASTER_CLOCK = 90000000.*/
|
||||
+/* Please refer to SMC section in AT91SAM datasheet to learn how */
|
||||
+/* to generate these values. */
|
||||
+/* ******************************************************************** */
|
||||
+#define AT91C_SM_NWE_SETUP (1 << 0)
|
||||
+#define AT91C_SM_NCS_WR_SETUP (0 << 8)
|
||||
+#define AT91C_SM_NRD_SETUP (1 << 16)
|
||||
+#define AT91C_SM_NCS_RD_SETUP (0 << 24)
|
||||
+
|
||||
+#define AT91C_SM_NWE_PULSE (3 << 0)
|
||||
+#define AT91C_SM_NCS_WR_PULSE (3 << 8)
|
||||
+#define AT91C_SM_NRD_PULSE (3 << 16)
|
||||
+#define AT91C_SM_NCS_RD_PULSE (3 << 24)
|
||||
+
|
||||
+#define AT91C_SM_NWE_CYCLE (5 << 0)
|
||||
+#define AT91C_SM_NRD_CYCLE (5 << 16)
|
||||
+#define AT91C_SM_TDF (2 << 16)
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* BootStrap Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define IMG_ADDRESS 0x20000 /* Image Address in NandFlash */
|
||||
+#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
|
||||
+
|
||||
+#define MACH_TYPE 0x6AF /* QIL-A9260 */
|
||||
+#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* Application Settings */
|
||||
+/* ******************************************************************* */
|
||||
+#undef CFG_DEBUG
|
||||
+#undef CFG_DATAFLASH
|
||||
+
|
||||
+#define CFG_NANDFLASH
|
||||
+#undef NANDFLASH_SMALL_BLOCKS /* NANDFLASH_LARGE_BLOCKS used instead */
|
||||
+
|
||||
+#define CFG_HW_INIT
|
||||
+#define CFG_SDRAM
|
||||
+
|
||||
+#endif /* _QIL_A9260_H */
|
||||
diff --git a/board/qil_a9260/qil_a9260.c b/board/qil_a9260/qil_a9260.c
|
||||
new file mode 100644
|
||||
index 0000000..ae122e7
|
||||
--- /dev/null
|
||||
+++ b/board/qil_a9260/qil_a9260.c
|
||||
@@ -0,0 +1,298 @@
|
||||
+/* ----------------------------------------------------------------------------
|
||||
+ * ATMEL Microcontroller Software Support - ROUSSET -
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * Copyright (c) 2006, Atmel Corporation
|
||||
+
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions are met:
|
||||
+ *
|
||||
+ * - Redistributions of source code must retain the above copyright notice,
|
||||
+ * this list of conditions and the disclaiimer below.
|
||||
+ *
|
||||
+ * Atmel's name may not be used to endorse or promote products derived from
|
||||
+ * this software without specific prior written permission.
|
||||
+ *
|
||||
+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
||||
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * File Name : qil_a9260.c
|
||||
+ * Object :
|
||||
+ * Creation : GH July 19th 2012
|
||||
+ *-----------------------------------------------------------------------------
|
||||
+ */
|
||||
+#include "../../include/part.h"
|
||||
+#include "../../include/gpio.h"
|
||||
+#include "../../include/pmc.h"
|
||||
+#include "../../include/debug.h"
|
||||
+#include "../../include/sdramc.h"
|
||||
+#include "../../include/main.h"
|
||||
+#ifdef CFG_NANDFLASH
|
||||
+#include "../../include/nandflash.h"
|
||||
+#endif
|
||||
+#ifdef CFG_DATAFLASH
|
||||
+#include "../../include/dataflash.h"
|
||||
+#endif
|
||||
+
|
||||
+static inline unsigned int get_cp15(void)
|
||||
+{
|
||||
+ unsigned int value;
|
||||
+ __asm__("mrc p15, 0, %0, c1, c0, 0" : "=r" (value));
|
||||
+ return value;
|
||||
+}
|
||||
+
|
||||
+static inline void set_cp15(unsigned int value)
|
||||
+{
|
||||
+ __asm__("mcr p15, 0, %0, c1, c0, 0" : : "r" (value));
|
||||
+}
|
||||
+
|
||||
+#ifdef CFG_HW_INIT
|
||||
+/*----------------------------------------------------------------------------*/
|
||||
+/* \fn hw_init */
|
||||
+/* \brief This function performs very low level HW initialization */
|
||||
+/* This function is invoked as soon as possible during the c_startup */
|
||||
+/* The bss segment must be initialized */
|
||||
+/*----------------------------------------------------------------------------*/
|
||||
+void hw_init(void)
|
||||
+{
|
||||
+ unsigned int cp15;
|
||||
+
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc hw_pio[] = {
|
||||
+#ifdef CFG_DEBUG
|
||||
+ {"RXD", AT91C_PIN_PB(14), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"TXD", AT91C_PIN_PB(15), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+#endif
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Disable watchdog */
|
||||
+ writel(AT91C_WDTC_WDDIS, AT91C_BASE_WDTC + WDTC_WDMR);
|
||||
+
|
||||
+ /* At this stage the main oscillator is supposed to be enabled
|
||||
+ * PCK = MCK = MOSC */
|
||||
+
|
||||
+ /* Configure PLLA = MOSC * (PLL_MULA + 1) / PLL_DIVA */
|
||||
+ pmc_cfg_plla(PLLA_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* PCK = PLLA = 2 * MCK */
|
||||
+ pmc_cfg_mck(MCKR_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+ /* Switch MCK on PLLA output */
|
||||
+ pmc_cfg_mck(MCKR_CSS_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* Configure PLLB */
|
||||
+ pmc_cfg_pllb(PLLB_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* Configure CP15 */
|
||||
+ cp15 = get_cp15();
|
||||
+ cp15 |= I_CACHE;
|
||||
+ set_cp15(cp15);
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ pio_setup(hw_pio);
|
||||
+
|
||||
+ /* Configure the EBI Slave Slot Cycle to 64 */
|
||||
+ writel( (readl((AT91C_BASE_MATRIX + MATRIX_SCFG3)) & ~0xFF) | 0x40, (AT91C_BASE_MATRIX + MATRIX_SCFG3));
|
||||
+
|
||||
+#ifdef CFG_DEBUG
|
||||
+ /* Enable Debug messages on the DBGU */
|
||||
+ dbg_init(BAUDRATE(MASTER_CLOCK, 115200));
|
||||
+
|
||||
+ dbg_print("Start AT91Bootstrap...\n\r");
|
||||
+#endif /* CFG_DEBUG */
|
||||
+
|
||||
+#ifdef CFG_SDRAM
|
||||
+ /* Initialize the matrix */
|
||||
+ writel(readl(AT91C_BASE_CCFG + CCFG_EBICSA) | AT91C_EBI_CS1A_SDRAMC, AT91C_BASE_CCFG + CCFG_EBICSA);
|
||||
+
|
||||
+ /* Configure SDRAM Controller */
|
||||
+ sdram_init( AT91C_SDRAMC_NC_9 |
|
||||
+ AT91C_SDRAMC_NR_13 |
|
||||
+ AT91C_SDRAMC_CAS_2 |
|
||||
+ AT91C_SDRAMC_NB_4_BANKS |
|
||||
+ AT91C_SDRAMC_DBW_32_BITS |
|
||||
+ AT91C_SDRAMC_TWR_2 |
|
||||
+ AT91C_SDRAMC_TRC_7 |
|
||||
+ AT91C_SDRAMC_TRP_2 |
|
||||
+ AT91C_SDRAMC_TRCD_2 |
|
||||
+ AT91C_SDRAMC_TRAS_5 |
|
||||
+ AT91C_SDRAMC_TXSR_8, /* Control Register */
|
||||
+ (MASTER_CLOCK * 7)/1000000, /* Refresh Timer Register */
|
||||
+ AT91C_SDRAMC_MD_SDRAM); /* SDRAM (no low power) */
|
||||
+
|
||||
+
|
||||
+#endif /* CFG_SDRAM */
|
||||
+}
|
||||
+#endif /* CFG_HW_INIT */
|
||||
+
|
||||
+#ifdef CFG_SDRAM
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn sdramc_hw_init */
|
||||
+/* \brief This function performs SDRAMC HW initialization */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void sdramc_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+/* const struct pio_desc sdramc_pio[] = {
|
||||
+ {"D16", AT91C_PIN_PC(16), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D17", AT91C_PIN_PC(17), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D18", AT91C_PIN_PC(18), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D19", AT91C_PIN_PC(19), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D20", AT91C_PIN_PC(20), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D21", AT91C_PIN_PC(21), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D22", AT91C_PIN_PC(22), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D23", AT91C_PIN_PC(23), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D24", AT91C_PIN_PC(24), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D25", AT91C_PIN_PC(25), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D26", AT91C_PIN_PC(26), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D27", AT91C_PIN_PC(27), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D28", AT91C_PIN_PC(28), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D29", AT91C_PIN_PC(29), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D30", AT91C_PIN_PC(30), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D31", AT91C_PIN_PC(31), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+*/
|
||||
+ /* Configure the SDRAMC PIO controller to output PCK0 */
|
||||
+/* pio_setup(sdramc_pio); */
|
||||
+
|
||||
+ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_ASR(0));
|
||||
+ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_PDR(0));
|
||||
+
|
||||
+}
|
||||
+#endif /* CFG_SDRAM */
|
||||
+
|
||||
+#ifdef CFG_DATAFLASH
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn df_recovery */
|
||||
+/* \brief This function erases DataFlash Page 0 if USR PB is pressed */
|
||||
+/* during boot sequence */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void df_recovery(AT91PS_DF pDf)
|
||||
+{
|
||||
+#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS0_DATAFLASH)
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc usrpb_pio[] = {
|
||||
+ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(usrpb_pio);
|
||||
+
|
||||
+ /* If USR PB is pressed during Boot sequence */
|
||||
+ /* Erase DataFlash Page 0*/
|
||||
+ if ( !pio_get_value(AT91C_PIN_PB(10)) )
|
||||
+ df_page_erase(pDf, 0);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn df_hw_init */
|
||||
+/* \brief This function performs DataFlash HW initialization */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void df_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc df_pio[] = {
|
||||
+ {"MISO", AT91C_PIN_PA(0), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"MOSI", AT91C_PIN_PA(1), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"SPCK", AT91C_PIN_PA(2), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS0_DATAFLASH)
|
||||
+ {"NPCS0", AT91C_PIN_PA(3), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+#endif
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ pio_setup(df_pio);
|
||||
+}
|
||||
+#endif /* CFG_DATAFLASH */
|
||||
+
|
||||
+
|
||||
+
|
||||
+#ifdef CFG_NANDFLASH
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nand_recovery */
|
||||
+/* \brief This function erases NandFlash Block 0 if USR PB is pressed */
|
||||
+/* during boot sequence */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+static void nand_recovery(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc usrpb_pio[] = {
|
||||
+ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(usrpb_pio);
|
||||
+
|
||||
+ /* If USR PB is pressed during Boot sequence */
|
||||
+ /* Erase NandFlash block 0*/
|
||||
+ if (!pio_get_value(AT91C_PIN_PB(10)) )
|
||||
+ AT91F_NandEraseBlock0();
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_hw_init */
|
||||
+/* \brief NandFlash HW init */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc nand_pio[] = {
|
||||
+ {"RDY_BSY", AT91C_PIN_PC(13), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {"NANDCS", AT91C_PIN_PC(14), 0, PIO_PULLUP, PIO_OUTPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Setup Smart Media, first enable the address range of CS3 in HMATRIX user interface */
|
||||
+ writel(readl(AT91C_BASE_CCFG + CCFG_EBICSA) | AT91C_EBI_CS3A_SM, AT91C_BASE_CCFG + CCFG_EBICSA);
|
||||
+
|
||||
+ /* Configure SMC CS3 */
|
||||
+ writel((AT91C_SM_NWE_SETUP | AT91C_SM_NCS_WR_SETUP | AT91C_SM_NRD_SETUP | AT91C_SM_NCS_RD_SETUP), AT91C_BASE_SMC + SMC_SETUP3);
|
||||
+ writel((AT91C_SM_NWE_PULSE | AT91C_SM_NCS_WR_PULSE | AT91C_SM_NRD_PULSE | AT91C_SM_NCS_RD_PULSE), AT91C_BASE_SMC + SMC_PULSE3);
|
||||
+ writel((AT91C_SM_NWE_CYCLE | AT91C_SM_NRD_CYCLE) , AT91C_BASE_SMC + SMC_CYCLE3);
|
||||
+ writel((AT91C_SMC_READMODE | AT91C_SMC_WRITEMODE | AT91C_SMC_NWAITM_NWAIT_DISABLE |
|
||||
+ AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS | AT91C_SM_TDF) , AT91C_BASE_SMC + SMC_CTRL3);
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOC), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(nand_pio);
|
||||
+
|
||||
+ nand_recovery();
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_cfg_16bits_dbw_init */
|
||||
+/* \brief Configure SMC in 16 bits mode */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_cfg_16bits_dbw_init(void)
|
||||
+{
|
||||
+ writel(readl(AT91C_BASE_SMC + SMC_CTRL3) | AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS, AT91C_BASE_SMC + SMC_CTRL3);
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_cfg_8bits_dbw_init */
|
||||
+/* \brief Configure SMC in 8 bits mode */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_cfg_8bits_dbw_init(void)
|
||||
+{
|
||||
+ writel((readl(AT91C_BASE_SMC + SMC_CTRL3) & ~(AT91C_SMC_DBW)) | AT91C_SMC_DBW_WIDTH_EIGTH_BITS, AT91C_BASE_SMC + SMC_CTRL3);
|
||||
+}
|
||||
+
|
||||
+
|
||||
+#endif /* #ifdef CFG_NANDFLASH */
|
||||
diff --git a/crt0_gnu.S b/crt0_gnu.S
|
||||
index 042b617..002feef 100644
|
||||
--- a/crt0_gnu.S
|
||||
+++ b/crt0_gnu.S
|
||||
@@ -106,6 +106,13 @@ _relocate_to_sram:
|
||||
#endif /* CFG_NORFLASH */
|
||||
|
||||
_setup_clocks:
|
||||
+/* Test if main osc is bypassed */
|
||||
+ ldr r0,=AT91C_PMC_MOR
|
||||
+ ldr r1, [r0]
|
||||
+ ldr r2,=AT91C_CKGR_OSCBYPASS
|
||||
+ ands r1, r1, r2
|
||||
+ bne _init_data /* branch if OSCBYPASS=1 */
|
||||
+
|
||||
/* Test if main oscillator is enabled */
|
||||
ldr r0,=AT91C_PMC_SR
|
||||
ldr r1, [r0]
|
||||
diff --git a/include/part.h b/include/part.h
|
||||
index ba5985a..bbd33fe 100644
|
||||
--- a/include/part.h
|
||||
+++ b/include/part.h
|
||||
@@ -35,7 +35,11 @@
|
||||
|
||||
#ifdef AT91SAM9260
|
||||
#include "AT91SAM9260_inc.h"
|
||||
-#include "at91sam9260ek.h"
|
||||
+ #ifdef at91sam9260ek
|
||||
+ #include "at91sam9260ek.h"
|
||||
+ #elif qil_a9260
|
||||
+ #include "qil-a9260.h"
|
||||
+ #endif
|
||||
#endif
|
||||
|
||||
#ifdef AT91SAM9XE
|
||||
--
|
||||
1.5.6.3
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
From d076aa6182dc6df6bb311e60bbddb03573b9483b Mon Sep 17 00:00:00 2001
|
||||
From: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
Date: Fri, 3 Aug 2012 11:25:49 +0200
|
||||
Subject: [PATCH] Enable pull-up on Rx serial ports for the CALAO MB-QIL-A9260
|
||||
|
||||
|
||||
Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
---
|
||||
arch/arm/boards/qil-a9260/init.c | 6 ++++++
|
||||
1 files changed, 6 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boards/qil-a9260/init.c b/arch/arm/boards/qil-a9260/init.c
|
||||
index 305d733..b43cace 100644
|
||||
--- a/arch/arm/boards/qil-a9260/init.c
|
||||
+++ b/arch/arm/boards/qil-a9260/init.c
|
||||
@@ -196,11 +196,17 @@ device_initcall(qil_a9260_devices_init);
|
||||
static int qil_a9260_console_init(void)
|
||||
{
|
||||
at91_register_uart(0, 0);
|
||||
+ at91_set_A_periph(AT91_PIN_PB14, 1); /* Enable pull-up on DRXD */
|
||||
+
|
||||
at91_register_uart(1, ATMEL_UART_CTS | ATMEL_UART_RTS
|
||||
| ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD
|
||||
| ATMEL_UART_RI);
|
||||
+
|
||||
at91_register_uart(2, ATMEL_UART_CTS | ATMEL_UART_RTS);
|
||||
+ at91_set_A_periph(AT91_PIN_PB7, 1); /* Enable pull-up on RXD1 */
|
||||
+
|
||||
at91_register_uart(3, ATMEL_UART_CTS | ATMEL_UART_RTS);
|
||||
+ at91_set_A_periph(AT91_PIN_PB9, 1); /* Enable pull-up on RXD2 */
|
||||
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
1.5.6.3
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
From fe6432a9728b62bce3db73c5a4efe026018fd495 Mon Sep 17 00:00:00 2001
|
||||
From: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
Date: Fri, 3 Aug 2012 16:45:37 +0200
|
||||
Subject: [PATCH] QIL-A9260: rtc modalias m41t48 renamed to rtc-m41t48
|
||||
|
||||
|
||||
Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
---
|
||||
arch/arm/mach-at91/board-qil-a9260.c | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-at91/board-qil-a9260.c b/arch/arm/mach-at91/board-qil-a9260.c
|
||||
index bf351e2..c0df05c 100644
|
||||
--- a/arch/arm/mach-at91/board-qil-a9260.c
|
||||
+++ b/arch/arm/mach-at91/board-qil-a9260.c
|
||||
@@ -78,7 +78,7 @@ static struct at91_udc_data __initdata ek_udc_data = {
|
||||
static struct spi_board_info ek_spi_devices[] = {
|
||||
#if defined(CONFIG_RTC_DRV_M41T94)
|
||||
{ /* M41T94 RTC */
|
||||
- .modalias = "m41t94",
|
||||
+ .modalias = "rtc-m41t94",
|
||||
.chip_select = 0,
|
||||
.max_speed_hz = 1 * 1000 * 1000,
|
||||
.bus_num = 0,
|
||||
--
|
||||
1.5.6.3
|
||||
|
||||
@@ -1,551 +0,0 @@
|
||||
From 53bd82b122f4530a98cba45795832820bb1d0b45 Mon Sep 17 00:00:00 2001
|
||||
From: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
Date: Mon, 13 Aug 2012 11:26:10 +0200
|
||||
Subject: [PATCH] Add support for the Calao-systems TNY-A9G20-LPW
|
||||
|
||||
|
||||
Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
---
|
||||
board/tny_a9g20_lpw/nandflash/Makefile | 121 ++++++++++++
|
||||
board/tny_a9g20_lpw/nandflash/tny-a9g20-lpw.h | 114 ++++++++++++
|
||||
board/tny_a9g20_lpw/tny_a9g20_lpw.c | 243 +++++++++++++++++++++++++
|
||||
crt0_gnu.S | 6 +
|
||||
include/part.h | 6 +-
|
||||
5 files changed, 489 insertions(+), 1 deletion(-)
|
||||
create mode 100644 board/tny_a9g20_lpw/nandflash/Makefile
|
||||
create mode 100644 board/tny_a9g20_lpw/nandflash/tny-a9g20-lpw.h
|
||||
create mode 100644 board/tny_a9g20_lpw/tny_a9g20_lpw.c
|
||||
|
||||
diff --git a/board/tny_a9g20_lpw/nandflash/Makefile b/board/tny_a9g20_lpw/nandflash/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..7efbea7
|
||||
--- /dev/null
|
||||
+++ b/board/tny_a9g20_lpw/nandflash/Makefile
|
||||
@@ -0,0 +1,121 @@
|
||||
+# TODO: set this appropriately for your local toolchain
|
||||
+ifndef ERASE_FCT
|
||||
+ERASE_FCT=rm -f
|
||||
+endif
|
||||
+ifndef CROSS_COMPILE
|
||||
+CROSS_COMPILE=arm-elf-
|
||||
+endif
|
||||
+
|
||||
+TOOLCHAIN=gcc
|
||||
+
|
||||
+BOOTSTRAP_PATH=../../..
|
||||
+
|
||||
+# NandFlashBoot Configuration for AT91SAM9260EK
|
||||
+
|
||||
+# Target name (case sensitive!!!)
|
||||
+TARGET=AT91SAM9G20
|
||||
+# Board name (case sensitive!!!)
|
||||
+BOARD=tny_a9g20_lpw
|
||||
+# Link Address and Top_of_Memory
|
||||
+LINK_ADDR=0x200000
|
||||
+TOP_OF_MEMORY=0x301000
|
||||
+# Name of current directory
|
||||
+PROJECT=nandflash
|
||||
+
|
||||
+ifndef BOOT_NAME
|
||||
+BOOT_NAME=$(PROJECT)_$(BOARD)
|
||||
+endif
|
||||
+
|
||||
+INCL=./$(BOOTSTRAP_PATH)/board/$(BOARD)/$(PROJECT)
|
||||
+
|
||||
+ifeq ($(TOOLCHAIN), gcc)
|
||||
+
|
||||
+AS=$(CROSS_COMPILE)gcc
|
||||
+CC=$(CROSS_COMPILE)gcc
|
||||
+LD=$(CROSS_COMPILE)gcc
|
||||
+NM= $(CROSS_COMPILE)nm
|
||||
+SIZE=$(CROSS_COMPILE)size
|
||||
+OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
+OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL)
|
||||
+ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
+
|
||||
+# Linker flags.
|
||||
+# -Wl,...: tell GCC to pass this to linker.
|
||||
+# -Map: create map file
|
||||
+# --cref: add cross reference to map file
|
||||
+LDFLAGS+=-nostartfiles -nostdlib -Wl,-Map=$(BOOT_NAME).map,--cref
|
||||
+LDFLAGS+=-T $(BOOTSTRAP_PATH)/elf32-littlearm.lds -Ttext $(LINK_ADDR)
|
||||
+OBJS=crt0_gnu.o
|
||||
+
|
||||
+endif
|
||||
+
|
||||
+OBJS+=\
|
||||
+ $(BOARD).o \
|
||||
+ main.o \
|
||||
+ gpio.o \
|
||||
+ pmc.o \
|
||||
+ debug.o \
|
||||
+ sdramc.o \
|
||||
+ nandflash.o \
|
||||
+ _udivsi3.o \
|
||||
+ _umodsi3.o \
|
||||
+ div0.o \
|
||||
+ udiv.o \
|
||||
+ string.o
|
||||
+
|
||||
+rebuild: clean all
|
||||
+
|
||||
+all: $(BOOT_NAME)
|
||||
+
|
||||
+ifeq ($(TOOLCHAIN), gcc)
|
||||
+$(BOOT_NAME): $(OBJS)
|
||||
+ $(LD) $(LDFLAGS) -n -o $(BOOT_NAME).elf $(OBJS)
|
||||
+ $(OBJCOPY) --strip-debug --strip-unneeded $(BOOT_NAME).elf -O binary $(BOOT_NAME).bin
|
||||
+endif
|
||||
+
|
||||
+
|
||||
+$(BOARD).o: $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -o $(BOARD).o
|
||||
+
|
||||
+main.o: $(BOOTSTRAP_PATH)/main.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/main.c -o main.o
|
||||
+
|
||||
+gpio.o: $(BOOTSTRAP_PATH)/driver/gpio.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/gpio.c -o gpio.o
|
||||
+
|
||||
+pmc.o: $(BOOTSTRAP_PATH)/driver/pmc.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/pmc.c -o pmc.o
|
||||
+
|
||||
+debug.o: $(BOOTSTRAP_PATH)/driver/debug.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/debug.c -o debug.o
|
||||
+
|
||||
+sdramc.o: $(BOOTSTRAP_PATH)/driver/sdramc.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/sdramc.c -o sdramc.o
|
||||
+
|
||||
+dataflash.o: $(BOOTSTRAP_PATH)/driver/dataflash.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/dataflash.c -o dataflash.o
|
||||
+
|
||||
+nandflash.o: $(BOOTSTRAP_PATH)/driver/nandflash.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/nandflash.c -o nandflash.o
|
||||
+
|
||||
+crt0_gnu.o: $(BOOTSTRAP_PATH)/crt0_gnu.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/crt0_gnu.S -o crt0_gnu.o
|
||||
+
|
||||
+div0.o: $(BOOTSTRAP_PATH)/lib/div0.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/div0.c -o div0.o
|
||||
+
|
||||
+string.o: $(BOOTSTRAP_PATH)/lib/string.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/string.c -o string.o
|
||||
+
|
||||
+udiv.o: $(BOOTSTRAP_PATH)/lib/udiv.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/udiv.c -o udiv.o
|
||||
+
|
||||
+_udivsi3.o: $(BOOTSTRAP_PATH)/lib/_udivsi3.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_udivsi3.S -o _udivsi3.o
|
||||
+
|
||||
+_umodsi3.o: $(BOOTSTRAP_PATH)/lib/_umodsi3.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_umodsi3.S -o _umodsi3.o
|
||||
+
|
||||
+clean:
|
||||
+ $(ERASE_FCT) *.o *.bin *.elf *.map
|
||||
diff --git a/board/tny_a9g20_lpw/nandflash/tny-a9g20-lpw.h b/board/tny_a9g20_lpw/nandflash/tny-a9g20-lpw.h
|
||||
new file mode 100644
|
||||
index 0000000..b1f8a1d
|
||||
--- /dev/null
|
||||
+++ b/board/tny_a9g20_lpw/nandflash/tny-a9g20-lpw.h
|
||||
@@ -0,0 +1,114 @@
|
||||
+/* ----------------------------------------------------------------------------
|
||||
+ * ATMEL Microcontroller Software Support - ROUSSET -
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * Copyright (c) 2008, Atmel Corporation
|
||||
+
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions are met:
|
||||
+ *
|
||||
+ * - Redistributions of source code must retain the above copyright notice,
|
||||
+ * this list of conditions and the disclaimer below.
|
||||
+ *
|
||||
+ * Atmel's name may not be used to endorse or promote products derived from
|
||||
+ * this software without specific prior written permission.
|
||||
+ *
|
||||
+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
||||
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * File Name : tny-a9g20-lpw.h
|
||||
+ * Object :
|
||||
+ * Creation : GH August 13th 2012
|
||||
+ *-----------------------------------------------------------------------------
|
||||
+ */
|
||||
+#ifndef _TNY_A9G20_LPW_H
|
||||
+#define _TNY_A9G20_LPW_H
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* PMC Settings */
|
||||
+/* */
|
||||
+/* The main oscillator is enabled as soon as possible in the c_startup */
|
||||
+/* and MCK is switched on the main oscillator. */
|
||||
+/* PLL initialization is done later in the hw_init() function */
|
||||
+/* ******************************************************************* */
|
||||
+#define MASTER_CLOCK (100000000)
|
||||
+#define PLL_LOCK_TIMEOUT 1000000
|
||||
+
|
||||
+/* set PLLA to 800Mhz from MAINCK= 12Mhz MULA=199 (0xC7+1= 200), DIVA=0x03 (Fplla=12Mhz x [(199+1)/3]=800Mhz) */
|
||||
+#define PLLA_SETTINGS 0x20C73F03
|
||||
+#define PLLB_SETTINGS 0x100F3F02
|
||||
+
|
||||
+/* Switch MCK on PLLA output PCK = PLLA/2 = 3 * MCK */
|
||||
+/* LP-SDRAM (fmax=100Mhz) PDIV=0 => PRESCALER CLK=PCLK; */
|
||||
+/* MDIV = 2 => PRESCALER CLK / 4 = MCLK=100Mhz */
|
||||
+/* PRESCALER CLK = PLLA (800Mhz) / 2 (PRES=1) = 400Mhz */
|
||||
+#define MCKR_SETTINGS 0x0204
|
||||
+#define MCKR_CSS_SETTINGS (AT91C_PMC_CSS_PLLA_CLK | MCKR_SETTINGS)
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* NandFlash Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define AT91C_SMARTMEDIA_BASE 0x40000000
|
||||
+
|
||||
+#define AT91_SMART_MEDIA_ALE (1 << 21) /* our ALE is AD21 */
|
||||
+#define AT91_SMART_MEDIA_CLE (1 << 22) /* our CLE is AD22 */
|
||||
+
|
||||
+#define NAND_DISABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_SODR = AT91C_PIO_PC14;} while(0)
|
||||
+#define NAND_ENABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_CODR = AT91C_PIO_PC14;} while(0)
|
||||
+
|
||||
+#define NAND_WAIT_READY() while (!(*(volatile unsigned int *)AT91C_PIOC_PDSR & AT91C_PIO_PC13))
|
||||
+
|
||||
+
|
||||
+/* ******************************************************************** */
|
||||
+/* SMC Chip Select 3 Timings for NandFlash for MASTER_CLOCK = 100000000.*/
|
||||
+/* Please refer to SMC section in AT91SAM9 datasheet to learn how */
|
||||
+/* to generate these values. */
|
||||
+/* ******************************************************************** */
|
||||
+#define AT91C_SM_NWE_SETUP (1 << 0)
|
||||
+#define AT91C_SM_NCS_WR_SETUP (0 << 8)
|
||||
+#define AT91C_SM_NRD_SETUP (1 << 16)
|
||||
+#define AT91C_SM_NCS_RD_SETUP (0 << 24)
|
||||
+
|
||||
+#define AT91C_SM_NWE_PULSE (3 << 0)
|
||||
+#define AT91C_SM_NCS_WR_PULSE (3 << 8)
|
||||
+#define AT91C_SM_NRD_PULSE (3 << 16)
|
||||
+#define AT91C_SM_NCS_RD_PULSE (3 << 24)
|
||||
+
|
||||
+#define AT91C_SM_NWE_CYCLE (5 << 0)
|
||||
+#define AT91C_SM_NRD_CYCLE (5 << 16)
|
||||
+
|
||||
+#define AT91C_SM_TDF (2 << 16)
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* BootStrap Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define IMG_ADDRESS 0x20000 /* Image Address in NandFlash */
|
||||
+#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
|
||||
+
|
||||
+#define MACH_TYPE 0x80B /* TNY-A9G20 */
|
||||
+#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* Application Settings */
|
||||
+/* ******************************************************************* */
|
||||
+#undef CFG_DEBUG
|
||||
+#undef CFG_DATAFLASH
|
||||
+
|
||||
+#define CFG_NANDFLASH
|
||||
+#undef NANDFLASH_SMALL_BLOCKS /* NANDFLASH_LARGE_BLOCKS used instead */
|
||||
+
|
||||
+#define CFG_SDRAM
|
||||
+#define CFG_HW_INIT
|
||||
+
|
||||
+#endif /* _TNY_A9G20_LPW_H */
|
||||
diff --git a/board/tny_a9g20_lpw/tny_a9g20_lpw.c b/board/tny_a9g20_lpw/tny_a9g20_lpw.c
|
||||
new file mode 100644
|
||||
index 0000000..cef9055
|
||||
--- /dev/null
|
||||
+++ b/board/tny_a9g20_lpw/tny_a9g20_lpw.c
|
||||
@@ -0,0 +1,243 @@
|
||||
+/* ----------------------------------------------------------------------------
|
||||
+ * ATMEL Microcontroller Software Support - ROUSSET -
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * Copyright (c) 2008, Atmel Corporation
|
||||
+
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions are met:
|
||||
+ *
|
||||
+ * - Redistributions of source code must retain the above copyright notice,
|
||||
+ * this list of conditions and the disclaimer below.
|
||||
+ *
|
||||
+ * Atmel's name may not be used to endorse or promote products derived from
|
||||
+ * this software without specific prior written permission.
|
||||
+ *
|
||||
+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
||||
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * File Name : tny_a9g20_lpw.c
|
||||
+ * Object :
|
||||
+ * Creation : GH August 13th 2012
|
||||
+ *-----------------------------------------------------------------------------
|
||||
+ */
|
||||
+#include "../../include/part.h"
|
||||
+#include "../../include/gpio.h"
|
||||
+#include "../../include/pmc.h"
|
||||
+#include "../../include/debug.h"
|
||||
+#include "../../include/sdramc.h"
|
||||
+#include "../../include/main.h"
|
||||
+#ifdef CFG_NANDFLASH
|
||||
+#include "../../include/nandflash.h"
|
||||
+#endif
|
||||
+
|
||||
+static inline unsigned int get_cp15(void)
|
||||
+{
|
||||
+ unsigned int value;
|
||||
+ __asm__("mrc p15, 0, %0, c1, c0, 0" : "=r" (value));
|
||||
+ return value;
|
||||
+}
|
||||
+
|
||||
+static inline void set_cp15(unsigned int value)
|
||||
+{
|
||||
+ __asm__("mcr p15, 0, %0, c1, c0, 0" : : "r" (value));
|
||||
+}
|
||||
+
|
||||
+#ifdef CFG_HW_INIT
|
||||
+/*----------------------------------------------------------------------------*/
|
||||
+/* \fn hw_init */
|
||||
+/* \brief This function performs very low level HW initialization */
|
||||
+/* This function is invoked as soon as possible during the c_startup */
|
||||
+/* The bss segment must be initialized */
|
||||
+/*----------------------------------------------------------------------------*/
|
||||
+void hw_init(void)
|
||||
+{
|
||||
+ unsigned int cp15;
|
||||
+
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc hw_pio[] = {
|
||||
+#ifdef CFG_DEBUG
|
||||
+ {"RXD", AT91C_PIN_PB(14), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"TXD", AT91C_PIN_PB(15), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+#endif
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Disable watchdog */
|
||||
+ writel(AT91C_WDTC_WDDIS, AT91C_BASE_WDTC + WDTC_WDMR);
|
||||
+
|
||||
+ /* At this stage the main oscillator is supposed to be enabled
|
||||
+ * PCK = MCK = MOSC */
|
||||
+ writel(0x00, AT91C_BASE_PMC + PMC_PLLICPR);
|
||||
+
|
||||
+ /* Configure PLLA = MOSC * (PLL_MULA + 1) / PLL_DIVA */
|
||||
+ pmc_cfg_plla(PLLA_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* PCK = PLLA/2 = 3 * MCK */
|
||||
+ pmc_cfg_mck(MCKR_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+ /* Switch MCK on PLLA output */
|
||||
+ pmc_cfg_mck(MCKR_CSS_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* Configure PLLB */
|
||||
+ pmc_cfg_pllb(PLLB_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* Configure CP15 */
|
||||
+ cp15 = get_cp15();
|
||||
+ cp15 |= I_CACHE;
|
||||
+ set_cp15(cp15);
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ pio_setup(hw_pio);
|
||||
+
|
||||
+ /* Configure the EBI Slave Slot Cycle to 64 */
|
||||
+ writel((readl((AT91C_BASE_MATRIX + MATRIX_SCFG3)) & ~0xFF) | 0x40, (AT91C_BASE_MATRIX + MATRIX_SCFG3));
|
||||
+
|
||||
+#ifdef CFG_DEBUG
|
||||
+ /* Enable Debug messages on the DBGU */
|
||||
+ dbg_init(BAUDRATE(MASTER_CLOCK, 115200));
|
||||
+
|
||||
+ dbg_print("Start AT91Bootstrap...\n\r");
|
||||
+#endif /* CFG_DEBUG */
|
||||
+
|
||||
+#ifdef CFG_SDRAM
|
||||
+ /* Initialize the matrix (slow slew rate enabled and LPSDRAM memory voltage = 1.8V) */
|
||||
+ writel(((readl(AT91C_BASE_CCFG + CCFG_EBICSA)) | AT91C_EBI_CS1A_SDRAMC | (1<<17)) & ~0x00010000, AT91C_BASE_CCFG + CCFG_EBICSA);
|
||||
+
|
||||
+ /* Configure SDRAM Controller */
|
||||
+ sdram_init( AT91C_SDRAMC_NC_9 |
|
||||
+ AT91C_SDRAMC_NR_13 |
|
||||
+ AT91C_SDRAMC_CAS_3 |
|
||||
+ AT91C_SDRAMC_NB_4_BANKS |
|
||||
+ AT91C_SDRAMC_DBW_32_BITS |
|
||||
+ AT91C_SDRAMC_TWR_2 |
|
||||
+ AT91C_SDRAMC_TRC_7 |
|
||||
+ AT91C_SDRAMC_TRP_2 |
|
||||
+ AT91C_SDRAMC_TRCD_2 |
|
||||
+ AT91C_SDRAMC_TRAS_5 |
|
||||
+ AT91C_SDRAMC_TXSR_8, /* Control Register */
|
||||
+ (MASTER_CLOCK * 7)/1000000, /* Refresh Timer Register */
|
||||
+ AT91C_SDRAMC_MD_LOW_POWER_SDRAM); /* SDRAM (low power) */
|
||||
+
|
||||
+#endif /* CFG_SDRAM */
|
||||
+}
|
||||
+#endif /* CFG_HW_INIT */
|
||||
+
|
||||
+#ifdef CFG_SDRAM
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn sdramc_hw_init */
|
||||
+/* \brief This function performs SDRAMC HW initialization */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void sdramc_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+/* const struct pio_desc sdramc_pio[] = {
|
||||
+ {"D16", AT91C_PIN_PC(16), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D17", AT91C_PIN_PC(17), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D18", AT91C_PIN_PC(18), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D19", AT91C_PIN_PC(19), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D20", AT91C_PIN_PC(20), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D21", AT91C_PIN_PC(21), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D22", AT91C_PIN_PC(22), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D23", AT91C_PIN_PC(23), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D24", AT91C_PIN_PC(24), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D25", AT91C_PIN_PC(25), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D26", AT91C_PIN_PC(26), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D27", AT91C_PIN_PC(27), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D28", AT91C_PIN_PC(28), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D29", AT91C_PIN_PC(29), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D30", AT91C_PIN_PC(30), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D31", AT91C_PIN_PC(31), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+*/
|
||||
+ /* Configure the SDRAMC PIO controller to output PCK0 */
|
||||
+/* pio_setup(sdramc_pio); */
|
||||
+
|
||||
+ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_ASR(0));
|
||||
+ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_PDR(0));
|
||||
+
|
||||
+}
|
||||
+#endif /* CFG_SDRAM */
|
||||
+
|
||||
+#ifdef CFG_NANDFLASH
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nand_recovery */
|
||||
+/* \brief This function erases NandFlash Block 0 if BP4 is pressed */
|
||||
+/* during boot sequence */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+static void nand_recovery(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc bp4_pio[] = {
|
||||
+ {"BP4", AT91C_PIN_PA(31), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOA), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(bp4_pio);
|
||||
+
|
||||
+ /* If BP4 is pressed during Boot sequence */
|
||||
+ /* Erase NandFlash block 0*/
|
||||
+ if (!pio_get_value(AT91C_PIN_PA(31)) )
|
||||
+ AT91F_NandEraseBlock0();
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_hw_init */
|
||||
+/* \brief NandFlash HW init */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc nand_pio[] = {
|
||||
+ {"RDY_BSY", AT91C_PIN_PC(13), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {"NANDCS", AT91C_PIN_PC(14), 0, PIO_PULLUP, PIO_OUTPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Setup Smart Media, first enable the address range of CS3 in HMATRIX user interface */
|
||||
+ writel(readl(AT91C_BASE_CCFG + CCFG_EBICSA) | AT91C_EBI_CS3A_SM, AT91C_BASE_CCFG + CCFG_EBICSA);
|
||||
+
|
||||
+ /* Configure SMC CS3 */
|
||||
+ writel((AT91C_SM_NWE_SETUP | AT91C_SM_NCS_WR_SETUP | AT91C_SM_NRD_SETUP | AT91C_SM_NCS_RD_SETUP), AT91C_BASE_SMC + SMC_SETUP3);
|
||||
+ writel((AT91C_SM_NWE_PULSE | AT91C_SM_NCS_WR_PULSE | AT91C_SM_NRD_PULSE | AT91C_SM_NCS_RD_PULSE), AT91C_BASE_SMC + SMC_PULSE3);
|
||||
+ writel((AT91C_SM_NWE_CYCLE | AT91C_SM_NRD_CYCLE) , AT91C_BASE_SMC + SMC_CYCLE3);
|
||||
+ writel((AT91C_SMC_READMODE | AT91C_SMC_WRITEMODE | AT91C_SMC_NWAITM_NWAIT_DISABLE |
|
||||
+ AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS | AT91C_SM_TDF) , AT91C_BASE_SMC + SMC_CTRL3);
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOC), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(nand_pio);
|
||||
+
|
||||
+ nand_recovery();
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_cfg_16bits_dbw_init */
|
||||
+/* \brief Configure SMC in 16 bits mode */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_cfg_16bits_dbw_init(void)
|
||||
+{
|
||||
+ writel(readl(AT91C_BASE_SMC + SMC_CTRL3) | AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS, AT91C_BASE_SMC + SMC_CTRL3);
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_cfg_8bits_dbw_init */
|
||||
+/* \brief Configure SMC in 8 bits mode */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_cfg_8bits_dbw_init(void)
|
||||
+{
|
||||
+ writel((readl(AT91C_BASE_SMC + SMC_CTRL3) & ~(AT91C_SMC_DBW)) | AT91C_SMC_DBW_WIDTH_EIGTH_BITS, AT91C_BASE_SMC + SMC_CTRL3);
|
||||
+}
|
||||
+
|
||||
+#endif /* #ifdef CFG_NANDFLASH */
|
||||
diff --git a/crt0_gnu.S b/crt0_gnu.S
|
||||
index 042b617..c6cd49d 100644
|
||||
--- a/crt0_gnu.S
|
||||
+++ b/crt0_gnu.S
|
||||
@@ -106,6 +106,12 @@ _relocate_to_sram:
|
||||
#endif /* CFG_NORFLASH */
|
||||
|
||||
_setup_clocks:
|
||||
+/* Test if main osc is bypassed */
|
||||
+ ldr r0,=AT91C_PMC_MOR
|
||||
+ ldr r1, [r0]
|
||||
+ ldr r2,=AT91C_CKGR_OSCBYPASS
|
||||
+ ands r1, r1, r2
|
||||
+ bne _init_data /* branch if OSCBYPASS=1 */
|
||||
/* Test if main oscillator is enabled */
|
||||
ldr r0,=AT91C_PMC_SR
|
||||
ldr r1, [r0]
|
||||
diff --git a/include/part.h b/include/part.h
|
||||
index ba5985a..ab79af1 100644
|
||||
--- a/include/part.h
|
||||
+++ b/include/part.h
|
||||
@@ -46,7 +46,11 @@
|
||||
|
||||
#ifdef AT91SAM9G20
|
||||
#include "AT91SAM9260_inc.h"
|
||||
-#include "at91sam9g20ek.h"
|
||||
+ #ifdef at91sam9g20ek
|
||||
+ #include "at91sam9g20ek.h"
|
||||
+ #elif tny_a9g20_lpw
|
||||
+ #include "tny-a9g20-lpw.h"
|
||||
+ #endif
|
||||
#endif
|
||||
|
||||
#ifdef AT91SAM9261
|
||||
--
|
||||
1.7.9.5
|
||||
|
||||
@@ -1,187 +0,0 @@
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_KALLSYMS_ALL=y
|
||||
CONFIG_EMBEDDED=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
CONFIG_ARCH_AT91=y
|
||||
CONFIG_SOC_AT91SAM9260=y
|
||||
CONFIG_SOC_AT91SAM9263=y
|
||||
CONFIG_SOC_AT91SAM9G45=y
|
||||
CONFIG_SOC_AT91SAM9X5=y
|
||||
CONFIG_SOC_AT91SAM9N12=y
|
||||
CONFIG_MACH_AT91SAM_DT=y
|
||||
CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
|
||||
CONFIG_AT91_TIMER_HZ=128
|
||||
CONFIG_AEABI=y
|
||||
# CONFIG_OABI_COMPAT is not set
|
||||
CONFIG_UACCESS_WITH_MEMCPY=y
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_ARM_APPENDED_DTB=y
|
||||
CONFIG_ARM_ATAG_DTB_COMPAT=y
|
||||
CONFIG_CMDLINE="console=ttyS0,115200 initrd=0x21100000,25165824 root=/dev/ram0 rw"
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_AUTO_ZRELADDR=y
|
||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_PNP=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_DIAG is not set
|
||||
CONFIG_IPV6=y
|
||||
# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET6_XFRM_MODE_BEET is not set
|
||||
CONFIG_IPV6_SIT_6RD=y
|
||||
# CONFIG_WIRELESS is not set
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
# CONFIG_STANDALONE is not set
|
||||
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_ATMEL=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_MTD_UBI_GLUEBI=y
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=4
|
||||
CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
CONFIG_ATMEL_PWM=y
|
||||
CONFIG_ATMEL_TCLIB=y
|
||||
CONFIG_EEPROM_93CX6=m
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_SCSI_MULTI_LUN=y
|
||||
# CONFIG_SCSI_LOWLEVEL is not set
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_MII=y
|
||||
CONFIG_MACB=y
|
||||
# CONFIG_NET_VENDOR_BROADCOM is not set
|
||||
# CONFIG_NET_VENDOR_FARADAY is not set
|
||||
# CONFIG_NET_VENDOR_INTEL is not set
|
||||
# CONFIG_NET_VENDOR_MARVELL is not set
|
||||
# CONFIG_NET_VENDOR_MICREL is not set
|
||||
# CONFIG_NET_VENDOR_NATSEMI is not set
|
||||
# CONFIG_NET_VENDOR_SEEQ is not set
|
||||
# CONFIG_NET_VENDOR_SMSC is not set
|
||||
# CONFIG_NET_VENDOR_STMICRO is not set
|
||||
CONFIG_DAVICOM_PHY=y
|
||||
CONFIG_MICREL_PHY=y
|
||||
# CONFIG_WLAN is not set
|
||||
CONFIG_INPUT_POLLDEV=y
|
||||
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
|
||||
CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
|
||||
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=272
|
||||
CONFIG_INPUT_JOYDEV=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
# CONFIG_KEYBOARD_ATKBD is not set
|
||||
CONFIG_KEYBOARD_GPIO=y
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
CONFIG_INPUT_TOUCHSCREEN=y
|
||||
# CONFIG_SERIO is not set
|
||||
CONFIG_LEGACY_PTY_COUNT=4
|
||||
CONFIG_SERIAL_ATMEL=y
|
||||
CONFIG_SERIAL_ATMEL_CONSOLE=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_GPIO=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_ATMEL=y
|
||||
# CONFIG_HWMON is not set
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_AT91SAM9X_WATCHDOG=y
|
||||
CONFIG_SSB=m
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_MODE_HELPERS=y
|
||||
CONFIG_FB_ATMEL=y
|
||||
CONFIG_BACKLIGHT_LCD_SUPPORT=y
|
||||
# CONFIG_LCD_CLASS_DEVICE is not set
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
CONFIG_BACKLIGHT_ATMEL_LCDC=y
|
||||
# CONFIG_BACKLIGHT_GENERIC is not set
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
|
||||
CONFIG_FONTS=y
|
||||
CONFIG_FONT_8x8=y
|
||||
CONFIG_FONT_ACORN_8x8=y
|
||||
CONFIG_FONT_MINI_4x6=y
|
||||
CONFIG_LOGO=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_ACM=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_SERIAL=y
|
||||
CONFIG_USB_SERIAL_GENERIC=y
|
||||
CONFIG_USB_SERIAL_FTDI_SIO=y
|
||||
CONFIG_USB_SERIAL_PL2303=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_AT91=m
|
||||
CONFIG_USB_ETH=m
|
||||
CONFIG_USB_GADGETFS=m
|
||||
CONFIG_USB_CDC_COMPOSITE=m
|
||||
CONFIG_USB_G_ACM_MS=m
|
||||
CONFIG_USB_G_MULTI=m
|
||||
CONFIG_USB_G_MULTI_CDC=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_ATMELMCI=y
|
||||
CONFIG_MMC_SPI=y
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_TIMER=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_LEDS_TRIGGER_GPIO=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_AT91RM9200=y
|
||||
CONFIG_RTC_DRV_AT91SAM9=y
|
||||
CONFIG_DMADEVICES=y
|
||||
# CONFIG_IOMMU_SUPPORT is not set
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_FANOTIFY=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_CODEPAGE_850=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_STRIP_ASM_SYMS=y
|
||||
CONFIG_DEBUG_FS=y
|
||||
# CONFIG_SCHED_DEBUG is not set
|
||||
# CONFIG_DEBUG_BUGVERBOSE is not set
|
||||
# CONFIG_FTRACE is not set
|
||||
CONFIG_DEBUG_USER=y
|
||||
CONFIG_CRYPTO_ECB=y
|
||||
CONFIG_CRYPTO_ARC4=y
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
CONFIG_CRYPTO_USER_API_HASH=m
|
||||
CONFIG_CRYPTO_USER_API_SKCIPHER=m
|
||||
# CONFIG_CRYPTO_HW is not set
|
||||
CONFIG_CRC_CCITT=m
|
||||
CONFIG_AVERAGE=y
|
||||
@@ -1,603 +0,0 @@
|
||||
From 43e8c90f13806405bde8eaaf3a956d0ddc806f64 Mon Sep 17 00:00:00 2001
|
||||
From: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
Date: Tue, 2 Oct 2012 09:19:15 +0200
|
||||
Subject: [PATCH] Add support for the USB-A9260
|
||||
|
||||
|
||||
Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
---
|
||||
board/usb_a9260/nandflash/Makefile | 122 ++++++++++++++
|
||||
board/usb_a9260/nandflash/usb-a9260.h | 109 ++++++++++++
|
||||
board/usb_a9260/usb_a9260.c | 298 +++++++++++++++++++++++++++++++++
|
||||
crt0_gnu.S | 7 +
|
||||
include/part.h | 6 +-
|
||||
5 files changed, 541 insertions(+), 1 deletion(-)
|
||||
create mode 100644 board/usb_a9260/nandflash/Makefile
|
||||
create mode 100644 board/usb_a9260/nandflash/usb-a9260.h
|
||||
create mode 100644 board/usb_a9260/usb_a9260.c
|
||||
|
||||
diff --git a/board/usb_a9260/nandflash/Makefile b/board/usb_a9260/nandflash/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..02f4b50
|
||||
--- /dev/null
|
||||
+++ b/board/usb_a9260/nandflash/Makefile
|
||||
@@ -0,0 +1,122 @@
|
||||
+# TODO: set this appropriately for your local toolchain
|
||||
+ifndef ERASE_FCT
|
||||
+ERASE_FCT=rm -f
|
||||
+endif
|
||||
+ifndef CROSS_COMPILE
|
||||
+CROSS_COMPILE=arm-elf-
|
||||
+endif
|
||||
+
|
||||
+TOOLCHAIN=gcc
|
||||
+
|
||||
+BOOTSTRAP_PATH=../../..
|
||||
+
|
||||
+# NandFlashBoot Configuration for USB-A9260
|
||||
+
|
||||
+# Target name (case sensitive!!!)
|
||||
+TARGET=AT91SAM9260
|
||||
+# Board name (case sensitive!!!)
|
||||
+BOARD=usb_a9260
|
||||
+# Link Address and Top_of_Memory
|
||||
+LINK_ADDR=0x200000
|
||||
+TOP_OF_MEMORY=0x301000
|
||||
+# Name of current directory
|
||||
+PROJECT=nandflash
|
||||
+
|
||||
+ifndef BOOT_NAME
|
||||
+BOOT_NAME=$(PROJECT)_$(BOARD)
|
||||
+endif
|
||||
+
|
||||
+INCL=./$(BOOTSTRAP_PATH)/board/$(BOARD)/$(PROJECT)
|
||||
+
|
||||
+ifeq ($(TOOLCHAIN), gcc)
|
||||
+
|
||||
+AS=$(CROSS_COMPILE)gcc
|
||||
+CC=$(CROSS_COMPILE)gcc
|
||||
+LD=$(CROSS_COMPILE)gcc
|
||||
+NM= $(CROSS_COMPILE)nm
|
||||
+SIZE=$(CROSS_COMPILE)size
|
||||
+OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
+OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL)
|
||||
+ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
+
|
||||
+# Linker flags.
|
||||
+# -Wl,...: tell GCC to pass this to linker.
|
||||
+# -Map: create map file
|
||||
+# --cref: add cross reference to map file
|
||||
+LDFLAGS+=-nostartfiles -nostdlib -Wl,-Map=$(BOOT_NAME).map,--cref
|
||||
+LDFLAGS+=-T $(BOOTSTRAP_PATH)/elf32-littlearm.lds -Ttext $(LINK_ADDR)
|
||||
+OBJS=crt0_gnu.o
|
||||
+
|
||||
+endif
|
||||
+
|
||||
+OBJS+=\
|
||||
+ $(BOARD).o \
|
||||
+ main.o \
|
||||
+ gpio.o \
|
||||
+ pmc.o \
|
||||
+ debug.o \
|
||||
+ sdramc.o \
|
||||
+ nandflash.o \
|
||||
+ _udivsi3.o \
|
||||
+ _umodsi3.o \
|
||||
+ div0.o \
|
||||
+ udiv.o \
|
||||
+ string.o
|
||||
+
|
||||
+
|
||||
+rebuild: clean all
|
||||
+
|
||||
+all: $(BOOT_NAME)
|
||||
+
|
||||
+ifeq ($(TOOLCHAIN), gcc)
|
||||
+$(BOOT_NAME): $(OBJS)
|
||||
+ $(LD) $(LDFLAGS) -n -o $(BOOT_NAME).elf $(OBJS)
|
||||
+ $(OBJCOPY) --strip-debug --strip-unneeded $(BOOT_NAME).elf -O binary $(BOOT_NAME).bin
|
||||
+endif
|
||||
+
|
||||
+
|
||||
+$(BOARD).o: $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -o $(BOARD).o
|
||||
+
|
||||
+main.o: $(BOOTSTRAP_PATH)/main.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/main.c -o main.o
|
||||
+
|
||||
+gpio.o: $(BOOTSTRAP_PATH)/driver/gpio.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/gpio.c -o gpio.o
|
||||
+
|
||||
+pmc.o: $(BOOTSTRAP_PATH)/driver/pmc.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/pmc.c -o pmc.o
|
||||
+
|
||||
+debug.o: $(BOOTSTRAP_PATH)/driver/debug.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/debug.c -o debug.o
|
||||
+
|
||||
+sdramc.o: $(BOOTSTRAP_PATH)/driver/sdramc.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/sdramc.c -o sdramc.o
|
||||
+
|
||||
+dataflash.o: $(BOOTSTRAP_PATH)/driver/dataflash.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/dataflash.c -o dataflash.o
|
||||
+
|
||||
+nandflash.o: $(BOOTSTRAP_PATH)/driver/nandflash.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/nandflash.c -o nandflash.o
|
||||
+
|
||||
+crt0_gnu.o: $(BOOTSTRAP_PATH)/crt0_gnu.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/crt0_gnu.S -o crt0_gnu.o
|
||||
+
|
||||
+div0.o: $(BOOTSTRAP_PATH)/lib/div0.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/div0.c -o div0.o
|
||||
+
|
||||
+string.o: $(BOOTSTRAP_PATH)/lib/string.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/string.c -o string.o
|
||||
+
|
||||
+udiv.o: $(BOOTSTRAP_PATH)/lib/udiv.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/udiv.c -o udiv.o
|
||||
+
|
||||
+_udivsi3.o: $(BOOTSTRAP_PATH)/lib/_udivsi3.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_udivsi3.S -o _udivsi3.o
|
||||
+
|
||||
+_umodsi3.o: $(BOOTSTRAP_PATH)/lib/_umodsi3.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_umodsi3.S -o _umodsi3.o
|
||||
+
|
||||
+clean:
|
||||
+ $(ERASE_FCT) *.o *.bin *.elf *.map
|
||||
diff --git a/board/usb_a9260/nandflash/usb-a9260.h b/board/usb_a9260/nandflash/usb-a9260.h
|
||||
new file mode 100644
|
||||
index 0000000..2aaf759
|
||||
--- /dev/null
|
||||
+++ b/board/usb_a9260/nandflash/usb-a9260.h
|
||||
@@ -0,0 +1,109 @@
|
||||
+/* ----------------------------------------------------------------------------
|
||||
+ * ATMEL Microcontroller Software Support - ROUSSET -
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * Copyright (c) 2006, Atmel Corporation
|
||||
+
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions are met:
|
||||
+ *
|
||||
+ * - Redistributions of source code must retain the above copyright notice,
|
||||
+ * this list of conditions and the disclaimer below.
|
||||
+ *
|
||||
+ * Atmel's name may not be used to endorse or promote products derived from
|
||||
+ * this software without specific prior written permission.
|
||||
+ *
|
||||
+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
||||
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * File Name : usb-a9260.h
|
||||
+ * Object :
|
||||
+ * Creation : GH Oct 1th 2012
|
||||
+ *-----------------------------------------------------------------------------
|
||||
+ */
|
||||
+#ifndef _USB_A9260_H
|
||||
+#define _USB_A9260_H
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* PMC Settings */
|
||||
+/* */
|
||||
+/* The main oscillator is enabled as soon as possible in the c_startup */
|
||||
+/* and MCK is switched on the main oscillator. */
|
||||
+/* PLL initialization is done later in the hw_init() function */
|
||||
+/* ******************************************************************* */
|
||||
+#define MASTER_CLOCK (180000000/2)
|
||||
+#define PLL_LOCK_TIMEOUT 1000000
|
||||
+
|
||||
+#define PLLA_SETTINGS 0x20593F06
|
||||
+#define PLLB_SETTINGS 0x10483F0E
|
||||
+
|
||||
+/* Switch MCK on PLLA output PCK = PLLA = 2 * MCK */
|
||||
+#define MCKR_SETTINGS (AT91C_PMC_PRES_CLK | AT91C_PMC_MDIV_2)
|
||||
+#define MCKR_CSS_SETTINGS (AT91C_PMC_CSS_PLLA_CLK | MCKR_SETTINGS)
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* NandFlash Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define AT91C_SMARTMEDIA_BASE 0x40000000
|
||||
+
|
||||
+#define AT91_SMART_MEDIA_ALE (1 << 21) /* our ALE is AD21 */
|
||||
+#define AT91_SMART_MEDIA_CLE (1 << 22) /* our CLE is AD22 */
|
||||
+
|
||||
+#define NAND_DISABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_SODR = AT91C_PIO_PC14;} while(0)
|
||||
+#define NAND_ENABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_CODR = AT91C_PIO_PC14;} while(0)
|
||||
+
|
||||
+#define NAND_WAIT_READY() while (!(*(volatile unsigned int *)AT91C_PIOC_PDSR & AT91C_PIO_PC13))
|
||||
+
|
||||
+
|
||||
+/* ******************************************************************** */
|
||||
+/* SMC Chip Select 3 Timings for NandFlash for MASTER_CLOCK = 90000000.*/
|
||||
+/* Please refer to SMC section in AT91SAM datasheet to learn how */
|
||||
+/* to generate these values. */
|
||||
+/* ******************************************************************** */
|
||||
+#define AT91C_SM_NWE_SETUP (1 << 0)
|
||||
+#define AT91C_SM_NCS_WR_SETUP (0 << 8)
|
||||
+#define AT91C_SM_NRD_SETUP (1 << 16)
|
||||
+#define AT91C_SM_NCS_RD_SETUP (0 << 24)
|
||||
+
|
||||
+#define AT91C_SM_NWE_PULSE (3 << 0)
|
||||
+#define AT91C_SM_NCS_WR_PULSE (3 << 8)
|
||||
+#define AT91C_SM_NRD_PULSE (3 << 16)
|
||||
+#define AT91C_SM_NCS_RD_PULSE (3 << 24)
|
||||
+
|
||||
+#define AT91C_SM_NWE_CYCLE (5 << 0)
|
||||
+#define AT91C_SM_NRD_CYCLE (5 << 16)
|
||||
+#define AT91C_SM_TDF (2 << 16)
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* BootStrap Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define IMG_ADDRESS 0x20000 /* Image Address in NandFlash */
|
||||
+#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
|
||||
+
|
||||
+#define MACH_TYPE 0x6AD /* USB-A9260 */
|
||||
+#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* Application Settings */
|
||||
+/* ******************************************************************* */
|
||||
+#undef CFG_DEBUG
|
||||
+#undef CFG_DATAFLASH
|
||||
+
|
||||
+#define CFG_NANDFLASH
|
||||
+#undef NANDFLASH_SMALL_BLOCKS /* NANDFLASH_LARGE_BLOCKS used instead */
|
||||
+
|
||||
+#define CFG_HW_INIT
|
||||
+#define CFG_SDRAM
|
||||
+
|
||||
+#endif /* _USB_A9260_H */
|
||||
diff --git a/board/usb_a9260/usb_a9260.c b/board/usb_a9260/usb_a9260.c
|
||||
new file mode 100644
|
||||
index 0000000..de30f0b
|
||||
--- /dev/null
|
||||
+++ b/board/usb_a9260/usb_a9260.c
|
||||
@@ -0,0 +1,298 @@
|
||||
+/* ----------------------------------------------------------------------------
|
||||
+ * ATMEL Microcontroller Software Support - ROUSSET -
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * Copyright (c) 2006, Atmel Corporation
|
||||
+
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions are met:
|
||||
+ *
|
||||
+ * - Redistributions of source code must retain the above copyright notice,
|
||||
+ * this list of conditions and the disclaiimer below.
|
||||
+ *
|
||||
+ * Atmel's name may not be used to endorse or promote products derived from
|
||||
+ * this software without specific prior written permission.
|
||||
+ *
|
||||
+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
||||
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * File Name : usb_a9260.c
|
||||
+ * Object :
|
||||
+ * Creation : GH Oct 1th 2012
|
||||
+ *-----------------------------------------------------------------------------
|
||||
+ */
|
||||
+#include "../../include/part.h"
|
||||
+#include "../../include/gpio.h"
|
||||
+#include "../../include/pmc.h"
|
||||
+#include "../../include/debug.h"
|
||||
+#include "../../include/sdramc.h"
|
||||
+#include "../../include/main.h"
|
||||
+#ifdef CFG_NANDFLASH
|
||||
+#include "../../include/nandflash.h"
|
||||
+#endif
|
||||
+#ifdef CFG_DATAFLASH
|
||||
+#include "../../include/dataflash.h"
|
||||
+#endif
|
||||
+
|
||||
+static inline unsigned int get_cp15(void)
|
||||
+{
|
||||
+ unsigned int value;
|
||||
+ __asm__("mrc p15, 0, %0, c1, c0, 0" : "=r" (value));
|
||||
+ return value;
|
||||
+}
|
||||
+
|
||||
+static inline void set_cp15(unsigned int value)
|
||||
+{
|
||||
+ __asm__("mcr p15, 0, %0, c1, c0, 0" : : "r" (value));
|
||||
+}
|
||||
+
|
||||
+#ifdef CFG_HW_INIT
|
||||
+/*----------------------------------------------------------------------------*/
|
||||
+/* \fn hw_init */
|
||||
+/* \brief This function performs very low level HW initialization */
|
||||
+/* This function is invoked as soon as possible during the c_startup */
|
||||
+/* The bss segment must be initialized */
|
||||
+/*----------------------------------------------------------------------------*/
|
||||
+void hw_init(void)
|
||||
+{
|
||||
+ unsigned int cp15;
|
||||
+
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc hw_pio[] = {
|
||||
+#ifdef CFG_DEBUG
|
||||
+ {"RXD", AT91C_PIN_PB(14), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"TXD", AT91C_PIN_PB(15), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+#endif
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Disable watchdog */
|
||||
+ writel(AT91C_WDTC_WDDIS, AT91C_BASE_WDTC + WDTC_WDMR);
|
||||
+
|
||||
+ /* At this stage the main oscillator is supposed to be enabled
|
||||
+ * PCK = MCK = MOSC */
|
||||
+
|
||||
+ /* Configure PLLA = MOSC * (PLL_MULA + 1) / PLL_DIVA */
|
||||
+ pmc_cfg_plla(PLLA_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* PCK = PLLA = 2 * MCK */
|
||||
+ pmc_cfg_mck(MCKR_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+ /* Switch MCK on PLLA output */
|
||||
+ pmc_cfg_mck(MCKR_CSS_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* Configure PLLB */
|
||||
+ pmc_cfg_pllb(PLLB_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* Configure CP15 */
|
||||
+ cp15 = get_cp15();
|
||||
+ cp15 |= I_CACHE;
|
||||
+ set_cp15(cp15);
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ pio_setup(hw_pio);
|
||||
+
|
||||
+ /* Configure the EBI Slave Slot Cycle to 64 */
|
||||
+ writel( (readl((AT91C_BASE_MATRIX + MATRIX_SCFG3)) & ~0xFF) | 0x40, (AT91C_BASE_MATRIX + MATRIX_SCFG3));
|
||||
+
|
||||
+#ifdef CFG_DEBUG
|
||||
+ /* Enable Debug messages on the DBGU */
|
||||
+ dbg_init(BAUDRATE(MASTER_CLOCK, 115200));
|
||||
+
|
||||
+ dbg_print("Start AT91Bootstrap...\n\r");
|
||||
+#endif /* CFG_DEBUG */
|
||||
+
|
||||
+#ifdef CFG_SDRAM
|
||||
+ /* Initialize the matrix */
|
||||
+ writel(readl(AT91C_BASE_CCFG + CCFG_EBICSA) | AT91C_EBI_CS1A_SDRAMC, AT91C_BASE_CCFG + CCFG_EBICSA);
|
||||
+
|
||||
+ /* Configure SDRAM Controller */
|
||||
+ sdram_init( AT91C_SDRAMC_NC_9 |
|
||||
+ AT91C_SDRAMC_NR_13 |
|
||||
+ AT91C_SDRAMC_CAS_2 |
|
||||
+ AT91C_SDRAMC_NB_4_BANKS |
|
||||
+ AT91C_SDRAMC_DBW_32_BITS |
|
||||
+ AT91C_SDRAMC_TWR_2 |
|
||||
+ AT91C_SDRAMC_TRC_7 |
|
||||
+ AT91C_SDRAMC_TRP_2 |
|
||||
+ AT91C_SDRAMC_TRCD_2 |
|
||||
+ AT91C_SDRAMC_TRAS_5 |
|
||||
+ AT91C_SDRAMC_TXSR_8, /* Control Register */
|
||||
+ (MASTER_CLOCK * 7)/1000000, /* Refresh Timer Register */
|
||||
+ AT91C_SDRAMC_MD_SDRAM); /* SDRAM (no low power) */
|
||||
+
|
||||
+
|
||||
+#endif /* CFG_SDRAM */
|
||||
+}
|
||||
+#endif /* CFG_HW_INIT */
|
||||
+
|
||||
+#ifdef CFG_SDRAM
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn sdramc_hw_init */
|
||||
+/* \brief This function performs SDRAMC HW initialization */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void sdramc_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+/* const struct pio_desc sdramc_pio[] = {
|
||||
+ {"D16", AT91C_PIN_PC(16), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D17", AT91C_PIN_PC(17), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D18", AT91C_PIN_PC(18), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D19", AT91C_PIN_PC(19), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D20", AT91C_PIN_PC(20), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D21", AT91C_PIN_PC(21), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D22", AT91C_PIN_PC(22), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D23", AT91C_PIN_PC(23), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D24", AT91C_PIN_PC(24), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D25", AT91C_PIN_PC(25), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D26", AT91C_PIN_PC(26), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D27", AT91C_PIN_PC(27), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D28", AT91C_PIN_PC(28), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D29", AT91C_PIN_PC(29), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D30", AT91C_PIN_PC(30), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D31", AT91C_PIN_PC(31), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+*/
|
||||
+ /* Configure the SDRAMC PIO controller to output PCK0 */
|
||||
+/* pio_setup(sdramc_pio); */
|
||||
+
|
||||
+ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_ASR(0));
|
||||
+ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_PDR(0));
|
||||
+
|
||||
+}
|
||||
+#endif /* CFG_SDRAM */
|
||||
+
|
||||
+#ifdef CFG_DATAFLASH
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn df_recovery */
|
||||
+/* \brief This function erases DataFlash Page 0 if USR PB is pressed */
|
||||
+/* during boot sequence */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void df_recovery(AT91PS_DF pDf)
|
||||
+{
|
||||
+#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS0_DATAFLASH)
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc usrpb_pio[] = {
|
||||
+ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(usrpb_pio);
|
||||
+
|
||||
+ /* If USR PB is pressed during Boot sequence */
|
||||
+ /* Erase DataFlash Page 0*/
|
||||
+ if ( !pio_get_value(AT91C_PIN_PB(10)) )
|
||||
+ df_page_erase(pDf, 0);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn df_hw_init */
|
||||
+/* \brief This function performs DataFlash HW initialization */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void df_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc df_pio[] = {
|
||||
+ {"MISO", AT91C_PIN_PA(0), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"MOSI", AT91C_PIN_PA(1), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"SPCK", AT91C_PIN_PA(2), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS0_DATAFLASH)
|
||||
+ {"NPCS0", AT91C_PIN_PA(3), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+#endif
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ pio_setup(df_pio);
|
||||
+}
|
||||
+#endif /* CFG_DATAFLASH */
|
||||
+
|
||||
+
|
||||
+
|
||||
+#ifdef CFG_NANDFLASH
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nand_recovery */
|
||||
+/* \brief This function erases NandFlash Block 0 if USR PB is pressed */
|
||||
+/* during boot sequence */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+static void nand_recovery(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc usrpb_pio[] = {
|
||||
+ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(usrpb_pio);
|
||||
+
|
||||
+ /* If USR PB is pressed during Boot sequence */
|
||||
+ /* Erase NandFlash block 0*/
|
||||
+ if (!pio_get_value(AT91C_PIN_PB(10)) )
|
||||
+ AT91F_NandEraseBlock0();
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_hw_init */
|
||||
+/* \brief NandFlash HW init */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc nand_pio[] = {
|
||||
+ {"RDY_BSY", AT91C_PIN_PC(13), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {"NANDCS", AT91C_PIN_PC(14), 0, PIO_PULLUP, PIO_OUTPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Setup Smart Media, first enable the address range of CS3 in HMATRIX user interface */
|
||||
+ writel(readl(AT91C_BASE_CCFG + CCFG_EBICSA) | AT91C_EBI_CS3A_SM, AT91C_BASE_CCFG + CCFG_EBICSA);
|
||||
+
|
||||
+ /* Configure SMC CS3 */
|
||||
+ writel((AT91C_SM_NWE_SETUP | AT91C_SM_NCS_WR_SETUP | AT91C_SM_NRD_SETUP | AT91C_SM_NCS_RD_SETUP), AT91C_BASE_SMC + SMC_SETUP3);
|
||||
+ writel((AT91C_SM_NWE_PULSE | AT91C_SM_NCS_WR_PULSE | AT91C_SM_NRD_PULSE | AT91C_SM_NCS_RD_PULSE), AT91C_BASE_SMC + SMC_PULSE3);
|
||||
+ writel((AT91C_SM_NWE_CYCLE | AT91C_SM_NRD_CYCLE) , AT91C_BASE_SMC + SMC_CYCLE3);
|
||||
+ writel((AT91C_SMC_READMODE | AT91C_SMC_WRITEMODE | AT91C_SMC_NWAITM_NWAIT_DISABLE |
|
||||
+ AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS | AT91C_SM_TDF) , AT91C_BASE_SMC + SMC_CTRL3);
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOC), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(nand_pio);
|
||||
+
|
||||
+ nand_recovery();
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_cfg_16bits_dbw_init */
|
||||
+/* \brief Configure SMC in 16 bits mode */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_cfg_16bits_dbw_init(void)
|
||||
+{
|
||||
+ writel(readl(AT91C_BASE_SMC + SMC_CTRL3) | AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS, AT91C_BASE_SMC + SMC_CTRL3);
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_cfg_8bits_dbw_init */
|
||||
+/* \brief Configure SMC in 8 bits mode */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_cfg_8bits_dbw_init(void)
|
||||
+{
|
||||
+ writel((readl(AT91C_BASE_SMC + SMC_CTRL3) & ~(AT91C_SMC_DBW)) | AT91C_SMC_DBW_WIDTH_EIGTH_BITS, AT91C_BASE_SMC + SMC_CTRL3);
|
||||
+}
|
||||
+
|
||||
+
|
||||
+#endif /* #ifdef CFG_NANDFLASH */
|
||||
diff --git a/crt0_gnu.S b/crt0_gnu.S
|
||||
index 042b617..002feef 100644
|
||||
--- a/crt0_gnu.S
|
||||
+++ b/crt0_gnu.S
|
||||
@@ -106,6 +106,13 @@ _relocate_to_sram:
|
||||
#endif /* CFG_NORFLASH */
|
||||
|
||||
_setup_clocks:
|
||||
+/* Test if main osc is bypassed */
|
||||
+ ldr r0,=AT91C_PMC_MOR
|
||||
+ ldr r1, [r0]
|
||||
+ ldr r2,=AT91C_CKGR_OSCBYPASS
|
||||
+ ands r1, r1, r2
|
||||
+ bne _init_data /* branch if OSCBYPASS=1 */
|
||||
+
|
||||
/* Test if main oscillator is enabled */
|
||||
ldr r0,=AT91C_PMC_SR
|
||||
ldr r1, [r0]
|
||||
diff --git a/include/part.h b/include/part.h
|
||||
index ba5985a..212789f 100644
|
||||
--- a/include/part.h
|
||||
+++ b/include/part.h
|
||||
@@ -35,7 +35,11 @@
|
||||
|
||||
#ifdef AT91SAM9260
|
||||
#include "AT91SAM9260_inc.h"
|
||||
-#include "at91sam9260ek.h"
|
||||
+ #ifdef at91sam9260ek
|
||||
+ #include "at91sam9260ek.h"
|
||||
+ #elif usb_a9260
|
||||
+ #include "usb-a9260.h"
|
||||
+ #endif
|
||||
#endif
|
||||
|
||||
#ifdef AT91SAM9XE
|
||||
--
|
||||
1.7.9.5
|
||||
|
||||
@@ -1,97 +0,0 @@
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
CONFIG_ARCH_AT91=y
|
||||
CONFIG_ARCH_AT91SAM9260=y
|
||||
CONFIG_MACH_USB_A9260=y
|
||||
CONFIG_AT91_SLOW_CLOCK=y
|
||||
# CONFIG_ARM_THUMB is not set
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_CMDLINE="mem=64M console=ttyS0,115200"
|
||||
CONFIG_FPE_NWFPE=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_IP_ROUTE_VERBOSE=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_IP_PNP_RARP=y
|
||||
CONFIG_IP_MROUTE=y
|
||||
CONFIG_IP_PIMSM_V1=y
|
||||
CONFIG_IP_PIMSM_V2=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_LRO is not set
|
||||
# CONFIG_INET_DIAG is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_DATAFLASH=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_ATMEL=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_SCSI_MULTI_LUN=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_MII=y
|
||||
CONFIG_MACB=y
|
||||
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_INPUT_EVBUG=y
|
||||
# CONFIG_KEYBOARD_ATKBD is not set
|
||||
CONFIG_KEYBOARD_GPIO=y
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_SERIO is not set
|
||||
CONFIG_SERIAL_ATMEL=y
|
||||
CONFIG_SERIAL_ATMEL_CONSOLE=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_ATMEL=y
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_USB_HID is not set
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_ETH=m
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_FUSE_FS=m
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3_ACL=y
|
||||
CONFIG_NFS_V4=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_CODEPAGE_850=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_DEBUG_USER=y
|
||||
CONFIG_DEBUG_LL=y
|
||||
@@ -1,851 +0,0 @@
|
||||
From 74796655212d321f50ab89e8c5570245901f4cba Mon Sep 17 00:00:00 2001
|
||||
From: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
Date: Thu, 5 Jul 2012 18:44:07 +0200
|
||||
Subject: [PATCH] Add support for the Calao-systems USB-A9263
|
||||
|
||||
|
||||
Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
---
|
||||
board/usb_a9263/dataflash/Makefile | 115 +++++++++++++
|
||||
board/usb_a9263/dataflash/usb-a9263.h | 97 +++++++++++
|
||||
board/usb_a9263/nandflash/Makefile | 117 ++++++++++++++
|
||||
board/usb_a9263/nandflash/usb-a9263.h | 116 +++++++++++++
|
||||
board/usb_a9263/usb_a9263.c | 285 +++++++++++++++++++++++++++++++++
|
||||
crt0_gnu.S | 7 +
|
||||
driver/dataflash.c | 6 +-
|
||||
include/part.h | 6 +-
|
||||
8 files changed, 745 insertions(+), 4 deletions(-)
|
||||
create mode 100644 board/usb_a9263/dataflash/Makefile
|
||||
create mode 100644 board/usb_a9263/dataflash/usb-a9263.h
|
||||
create mode 100644 board/usb_a9263/nandflash/Makefile
|
||||
create mode 100644 board/usb_a9263/nandflash/usb-a9263.h
|
||||
create mode 100644 board/usb_a9263/usb_a9263.c
|
||||
|
||||
diff --git a/board/usb_a9263/dataflash/Makefile b/board/usb_a9263/dataflash/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..332685e
|
||||
--- /dev/null
|
||||
+++ b/board/usb_a9263/dataflash/Makefile
|
||||
@@ -0,0 +1,115 @@
|
||||
+# TODO: set this appropriately for your local toolchain
|
||||
+#SHELL=C:\CYGWIN_REP\dwn_071004\bin\BASH.exe
|
||||
+CROSS_COMPILE=arm-elf-
|
||||
+#CROSS_COMPILE = arm-softfloat-linux-gnu-
|
||||
+
|
||||
+TOOLCHAIN=gcc
|
||||
+
|
||||
+BOOTSTRAP_PATH=../../..
|
||||
+
|
||||
+# DataFlashBoot Configuration for USB-A9263
|
||||
+
|
||||
+# Target name (case sensitive!!!)
|
||||
+TARGET=AT91SAM9263
|
||||
+# Board name (case sensitive!!!)
|
||||
+BOARD=usb_a9263
|
||||
+# Link Address and Top_of_Memory
|
||||
+LINK_ADDR=0x300000
|
||||
+TOP_OF_MEMORY=0x314000
|
||||
+# Name of current directory
|
||||
+PROJECT=dataflash
|
||||
+
|
||||
+ifndef BOOT_NAME
|
||||
+BOOT_NAME=$(PROJECT)_$(BOARD)
|
||||
+endif
|
||||
+
|
||||
+INCL=./$(BOOTSTRAP_PATH)/board/$(BOARD)/$(PROJECT)
|
||||
+
|
||||
+ifeq ($(TOOLCHAIN), gcc)
|
||||
+
|
||||
+AS=$(CROSS_COMPILE)gcc
|
||||
+CC=$(CROSS_COMPILE)gcc
|
||||
+LD=$(CROSS_COMPILE)gcc
|
||||
+NM= $(CROSS_COMPILE)nm
|
||||
+SIZE=$(CROSS_COMPILE)size
|
||||
+OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
+OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL)
|
||||
+ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
+
|
||||
+# Linker flags.
|
||||
+# -Wl,...: tell GCC to pass this to linker.
|
||||
+# -Map: create map file
|
||||
+# --cref: add cross reference to map file
|
||||
+LDFLAGS+=-nostartfiles -nostdlib -Wl,-Map=$(BOOT_NAME).map,--cref
|
||||
+LDFLAGS+=-T $(BOOTSTRAP_PATH)/elf32-littlearm.lds -Ttext $(LINK_ADDR)
|
||||
+OBJS=crt0_gnu.o
|
||||
+
|
||||
+endif
|
||||
+
|
||||
+OBJS+=\
|
||||
+ $(BOARD).o \
|
||||
+ main.o \
|
||||
+ gpio.o \
|
||||
+ pmc.o \
|
||||
+ debug.o \
|
||||
+ sdramc.o \
|
||||
+ dataflash.o \
|
||||
+ _udivsi3.o \
|
||||
+ _umodsi3.o \
|
||||
+ div0.o \
|
||||
+ udiv.o \
|
||||
+ string.o
|
||||
+
|
||||
+rebuild: clean all
|
||||
+
|
||||
+all: $(BOOT_NAME)
|
||||
+
|
||||
+ifeq ($(TOOLCHAIN), gcc)
|
||||
+$(BOOT_NAME): $(OBJS)
|
||||
+ $(LD) $(LDFLAGS) -n -o $(BOOT_NAME).elf $(OBJS)
|
||||
+ $(OBJCOPY) --strip-debug --strip-unneeded $(BOOT_NAME).elf -O binary $(BOOT_NAME).bin
|
||||
+endif
|
||||
+
|
||||
+
|
||||
+$(BOARD).o: $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -o $(BOARD).o
|
||||
+
|
||||
+main.o: $(BOOTSTRAP_PATH)/main.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/main.c -o main.o
|
||||
+
|
||||
+gpio.o: $(BOOTSTRAP_PATH)/driver/gpio.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/gpio.c -o gpio.o
|
||||
+
|
||||
+pmc.o: $(BOOTSTRAP_PATH)/driver/pmc.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/pmc.c -o pmc.o
|
||||
+
|
||||
+debug.o: $(BOOTSTRAP_PATH)/driver/debug.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/debug.c -o debug.o
|
||||
+
|
||||
+sdramc.o: $(BOOTSTRAP_PATH)/driver/sdramc.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/sdramc.c -o sdramc.o
|
||||
+
|
||||
+dataflash.o: $(BOOTSTRAP_PATH)/driver/dataflash.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/dataflash.c -o dataflash.o
|
||||
+
|
||||
+crt0_gnu.o: $(BOOTSTRAP_PATH)/crt0_gnu.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/crt0_gnu.S -o crt0_gnu.o
|
||||
+
|
||||
+div0.o: $(BOOTSTRAP_PATH)/lib/div0.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/div0.c -o div0.o
|
||||
+
|
||||
+string.o: $(BOOTSTRAP_PATH)/lib/string.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/string.c -o string.o
|
||||
+
|
||||
+udiv.o: $(BOOTSTRAP_PATH)/lib/udiv.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/udiv.c -o udiv.o
|
||||
+
|
||||
+_udivsi3.o: $(BOOTSTRAP_PATH)/lib/_udivsi3.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_udivsi3.S -o _udivsi3.o
|
||||
+
|
||||
+_umodsi3.o: $(BOOTSTRAP_PATH)/lib/_umodsi3.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_umodsi3.S -o _umodsi3.o
|
||||
+
|
||||
+clean:
|
||||
+ rm -f *.o *.bin *.elf *.map
|
||||
diff --git a/board/usb_a9263/dataflash/usb-a9263.h b/board/usb_a9263/dataflash/usb-a9263.h
|
||||
new file mode 100644
|
||||
index 0000000..40a3af8
|
||||
--- /dev/null
|
||||
+++ b/board/usb_a9263/dataflash/usb-a9263.h
|
||||
@@ -0,0 +1,97 @@
|
||||
+/* ----------------------------------------------------------------------------
|
||||
+ * ATMEL Microcontroller Software Support - ROUSSET -
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * Copyright (c) 2006, Atmel Corporation
|
||||
+
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions are met:
|
||||
+ *
|
||||
+ * - Redistributions of source code must retain the above copyright notice,
|
||||
+ * this list of conditions and the disclaimer below.
|
||||
+ *
|
||||
+ * Atmel's name may not be used to endorse or promote products derived from
|
||||
+ * this software without specific prior written permission.
|
||||
+ *
|
||||
+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
||||
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * File Name : usb-a9263.h
|
||||
+ * Object :
|
||||
+ * Creation : GH Jun 28th 2012
|
||||
+ *-----------------------------------------------------------------------------
|
||||
+ */
|
||||
+#ifndef _USB_A9263_H
|
||||
+#define _USB_A9263_H
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* PMC Settings */
|
||||
+/* */
|
||||
+/* The main oscillator is enabled as soon as possible in the c_startup */
|
||||
+/* and MCK is switched on the main oscillator. */
|
||||
+/* PLL initialization is done later in the hw_init() function */
|
||||
+/* ******************************************************************* */
|
||||
+#define MASTER_CLOCK (180000000/2)
|
||||
+#define PLL_LOCK_TIMEOUT 1000000
|
||||
+
|
||||
+#define PLLA_SETTINGS 0x20593F06
|
||||
+#define PLLB_SETTINGS 0x10483F0E
|
||||
+
|
||||
+/* Switch MCK on PLLA output PCK = PLLA = 2 * MCK */
|
||||
+#define MCKR_SETTINGS (AT91C_PMC_PRES_CLK | AT91C_PMC_MDIV_2)
|
||||
+#define MCKR_CSS_SETTINGS (AT91C_PMC_CSS_PLLA_CLK | MCKR_SETTINGS)
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* DataFlash Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define AT91C_BASE_SPI AT91C_BASE_SPI0
|
||||
+#define AT91C_ID_SPI AT91C_ID_SPI0
|
||||
+
|
||||
+/* SPI CLOCK */
|
||||
+#define AT91C_SPI_CLK 8000000
|
||||
+/* AC characteristics */
|
||||
+/* DLYBS = tCSS= 250ns min and DLYBCT = tCSH = 250ns */
|
||||
+#define DATAFLASH_TCSS (0x1a << 16) /* 250ns min (tCSS) <=> 12/48000000 = 250ns */
|
||||
+#define DATAFLASH_TCHS (0x1 << 24) /* 250ns min (tCSH) <=> (64*1+SCBR)/(2*48000000) */
|
||||
+
|
||||
+#define DF_CS_SETTINGS (AT91C_SPI_NCPHA | (AT91C_SPI_DLYBS & DATAFLASH_TCSS) | (AT91C_SPI_DLYBCT & DATAFLASH_TCHS) | ((MASTER_CLOCK / AT91C_SPI_CLK) << 8))
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* SDRAMC Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define AT91C_BASE_SDRAMC AT91C_BASE_SDRAMC0
|
||||
+#define AT91C_EBI_SDRAM AT91C_EBI0_SDRAM
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* BootStrap Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */
|
||||
+
|
||||
+#define IMG_ADDRESS 0x4000 /* Image Address in DataFlash */
|
||||
+#define IMG_SIZE 0x40000 /* Image Size in DataFlash */
|
||||
+
|
||||
+#define MACH_TYPE 0x6AE /* USB-A9263 */
|
||||
+#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* Application Settings */
|
||||
+/* ******************************************************************* */
|
||||
+#define CFG_HW_INIT
|
||||
+#define CFG_SDRAM
|
||||
+#undef CFG_DEBUG
|
||||
+
|
||||
+#define CFG_DATAFLASH
|
||||
+
|
||||
+#endif /* _USB_A9263_H */
|
||||
diff --git a/board/usb_a9263/nandflash/Makefile b/board/usb_a9263/nandflash/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..c453098
|
||||
--- /dev/null
|
||||
+++ b/board/usb_a9263/nandflash/Makefile
|
||||
@@ -0,0 +1,117 @@
|
||||
+# TODO: set this appropriately for your local toolchain
|
||||
+#SHELL=C:\CYGWIN_REP\dwn_071004\bin\BASH.exe
|
||||
+CROSS_COMPILE=arm-elf-
|
||||
+
|
||||
+TOOLCHAIN=gcc
|
||||
+
|
||||
+BOOTSTRAP_PATH=../../..
|
||||
+
|
||||
+# NandFlashBoot Configuration for USB-A9263
|
||||
+
|
||||
+# Target name (case sensitive!!!)
|
||||
+TARGET=AT91SAM9263
|
||||
+# Board name (case sensitive!!!)
|
||||
+BOARD=usb_a9263
|
||||
+# Link Address and Top_of_Memory
|
||||
+LINK_ADDR=0x300000
|
||||
+TOP_OF_MEMORY=0x314000
|
||||
+# Name of current directory
|
||||
+PROJECT=nandflash
|
||||
+
|
||||
+ifndef BOOT_NAME
|
||||
+BOOT_NAME=$(PROJECT)_$(BOARD)
|
||||
+endif
|
||||
+
|
||||
+INCL=./$(BOOTSTRAP_PATH)/board/$(BOARD)/$(PROJECT)
|
||||
+
|
||||
+ifeq ($(TOOLCHAIN), gcc)
|
||||
+
|
||||
+AS=$(CROSS_COMPILE)gcc
|
||||
+CC=$(CROSS_COMPILE)gcc
|
||||
+LD=$(CROSS_COMPILE)gcc
|
||||
+NM= $(CROSS_COMPILE)nm
|
||||
+SIZE=$(CROSS_COMPILE)size
|
||||
+OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
+OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
+CCFLAGS=-g -mcpu=arm9 -O0 -Wall -D$(TARGET) -D$(BOARD) -I$(INCL)
|
||||
+ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
+
|
||||
+# Linker flags.
|
||||
+# -Wl,...: tell GCC to pass this to linker.
|
||||
+# -Map: create map file
|
||||
+# --cref: add cross reference to map file
|
||||
+LDFLAGS+=-nostartfiles -nostdlib -Wl,-Map=$(BOOT_NAME).map,--cref
|
||||
+LDFLAGS+=-T $(BOOTSTRAP_PATH)/elf32-littlearm.lds -Ttext $(LINK_ADDR)
|
||||
+OBJS=crt0_gnu.o
|
||||
+
|
||||
+endif
|
||||
+
|
||||
+OBJS+=\
|
||||
+ $(BOARD).o \
|
||||
+ main.o \
|
||||
+ gpio.o \
|
||||
+ pmc.o \
|
||||
+ debug.o \
|
||||
+ sdramc.o \
|
||||
+ nandflash.o \
|
||||
+ _udivsi3.o \
|
||||
+ _umodsi3.o \
|
||||
+ div0.o \
|
||||
+ udiv.o \
|
||||
+ string.o
|
||||
+
|
||||
+rebuild: clean all
|
||||
+
|
||||
+all: $(BOOT_NAME)
|
||||
+
|
||||
+ifeq ($(TOOLCHAIN), gcc)
|
||||
+$(BOOT_NAME): $(OBJS)
|
||||
+ $(LD) $(LDFLAGS) -n -o $(BOOT_NAME).elf $(OBJS)
|
||||
+ $(OBJCOPY) --strip-debug --strip-unneeded $(BOOT_NAME).elf -O binary $(BOOT_NAME).bin
|
||||
+endif
|
||||
+
|
||||
+
|
||||
+$(BOARD).o: $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -o $(BOARD).o
|
||||
+
|
||||
+main.o: $(BOOTSTRAP_PATH)/main.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/main.c -o main.o
|
||||
+
|
||||
+gpio.o: $(BOOTSTRAP_PATH)/driver/gpio.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/gpio.c -o gpio.o
|
||||
+
|
||||
+pmc.o: $(BOOTSTRAP_PATH)/driver/pmc.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/pmc.c -o pmc.o
|
||||
+
|
||||
+debug.o: $(BOOTSTRAP_PATH)/driver/debug.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/debug.c -o debug.o
|
||||
+
|
||||
+sdramc.o: $(BOOTSTRAP_PATH)/driver/sdramc.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/sdramc.c -o sdramc.o
|
||||
+
|
||||
+dataflash.o: $(BOOTSTRAP_PATH)/driver/dataflash.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/dataflash.c -o dataflash.o
|
||||
+
|
||||
+nandflash.o: $(BOOTSTRAP_PATH)/driver/nandflash.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/nandflash.c -o nandflash.o
|
||||
+
|
||||
+crt0_gnu.o: $(BOOTSTRAP_PATH)/crt0_gnu.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/crt0_gnu.S -o crt0_gnu.o
|
||||
+
|
||||
+div0.o: $(BOOTSTRAP_PATH)/lib/div0.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/div0.c -o div0.o
|
||||
+
|
||||
+string.o: $(BOOTSTRAP_PATH)/lib/string.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/string.c -o string.o
|
||||
+
|
||||
+udiv.o: $(BOOTSTRAP_PATH)/lib/udiv.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/udiv.c -o udiv.o
|
||||
+
|
||||
+_udivsi3.o: $(BOOTSTRAP_PATH)/lib/_udivsi3.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_udivsi3.S -o _udivsi3.o
|
||||
+
|
||||
+_umodsi3.o: $(BOOTSTRAP_PATH)/lib/_umodsi3.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_umodsi3.S -o _umodsi3.o
|
||||
+
|
||||
+clean:
|
||||
+ rm -f *.o *.bin *.elf *.map
|
||||
diff --git a/board/usb_a9263/nandflash/usb-a9263.h b/board/usb_a9263/nandflash/usb-a9263.h
|
||||
new file mode 100644
|
||||
index 0000000..24e2cf1
|
||||
--- /dev/null
|
||||
+++ b/board/usb_a9263/nandflash/usb-a9263.h
|
||||
@@ -0,0 +1,116 @@
|
||||
+/* ----------------------------------------------------------------------------
|
||||
+ * ATMEL Microcontroller Software Support - ROUSSET -
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * Copyright (c) 2006, Atmel Corporation
|
||||
+
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions are met:
|
||||
+ *
|
||||
+ * - Redistributions of source code must retain the above copyright notice,
|
||||
+ * this list of conditions and the disclaimer below.
|
||||
+ *
|
||||
+ * Atmel's name may not be used to endorse or promote products derived from
|
||||
+ * this software without specific prior written permission.
|
||||
+ *
|
||||
+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
||||
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * File Name : usb-a9263.h
|
||||
+ * Object :
|
||||
+ * Creation : GH Jun 28th 2012
|
||||
+ *-----------------------------------------------------------------------------
|
||||
+ */
|
||||
+#ifndef _USB_A9263_H
|
||||
+#define _USB_A9263_H
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* PMC Settings */
|
||||
+/* */
|
||||
+/* The main oscillator is enabled as soon as possible in the c_startup */
|
||||
+/* and MCK is switched on the main oscillator. */
|
||||
+/* PLL initialization is done later in the hw_init() function */
|
||||
+/* ******************************************************************* */
|
||||
+#define MASTER_CLOCK (180000000/2)
|
||||
+#define PLL_LOCK_TIMEOUT 1000000
|
||||
+
|
||||
+#define PLLA_SETTINGS 0x20593F06
|
||||
+#define PLLB_SETTINGS 0x10483F0E
|
||||
+
|
||||
+/* Switch MCK on PLLA output PCK = PLLA = 2 * MCK */
|
||||
+#define MCKR_SETTINGS (AT91C_PMC_PRES_CLK | AT91C_PMC_MDIV_2)
|
||||
+#define MCKR_CSS_SETTINGS (AT91C_PMC_CSS_PLLA_CLK | MCKR_SETTINGS)
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* NandFlash Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define AT91C_SMARTMEDIA_BASE 0x40000000
|
||||
+
|
||||
+#define AT91_SMART_MEDIA_ALE (1 << 21) /* our ALE is AD21 */
|
||||
+#define AT91_SMART_MEDIA_CLE (1 << 22) /* our CLE is AD22 */
|
||||
+
|
||||
+#define NAND_DISABLE_CE() do { *(volatile unsigned int *)AT91C_PIOD_SODR = AT91C_PIO_PD15;} while(0)
|
||||
+#define NAND_ENABLE_CE() do { *(volatile unsigned int *)AT91C_PIOD_CODR = AT91C_PIO_PD15;} while(0)
|
||||
+#define NAND_WAIT_READY() while (!(*(volatile unsigned int *)AT91C_PIOA_PDSR & AT91C_PIO_PA22))
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* SDRAMC Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define AT91C_BASE_SDRAMC AT91C_BASE_SDRAMC0
|
||||
+#define AT91C_EBI_SDRAM AT91C_EBI0_SDRAM
|
||||
+
|
||||
+/* ******************************************************************** */
|
||||
+/* SMC Chip Select 3 Timings for NandFlash for MASTER_CLOCK = 90000000. */
|
||||
+/* Please refer to SMC section in AT91SAM9x datasheet to learn how */
|
||||
+/* to generate these values. */
|
||||
+/* ******************************************************************** */
|
||||
+#define AT91C_SM_NWE_SETUP (1 << 0)
|
||||
+#define AT91C_SM_NCS_WR_SETUP (0 << 8)
|
||||
+#define AT91C_SM_NRD_SETUP (1 << 16)
|
||||
+#define AT91C_SM_NCS_RD_SETUP (0 << 24)
|
||||
+
|
||||
+#define AT91C_SM_NWE_PULSE (3 << 0)
|
||||
+#define AT91C_SM_NCS_WR_PULSE (3 << 8)
|
||||
+#define AT91C_SM_NRD_PULSE (3 << 16)
|
||||
+#define AT91C_SM_NCS_RD_PULSE (3 << 24)
|
||||
+
|
||||
+#define AT91C_SM_NWE_CYCLE (5 << 0)
|
||||
+#define AT91C_SM_NRD_CYCLE (5 << 16)
|
||||
+
|
||||
+#define AT91C_SM_TDF (2 << 16)
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* BootStrap Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define IMG_ADDRESS 0x20000 /* Image Address in NandFlash */
|
||||
+#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
|
||||
+
|
||||
+#define MACH_TYPE 0x6AE /* USB-A9263 */
|
||||
+#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* Application Settings */
|
||||
+/* ******************************************************************* */
|
||||
+#undef CFG_DEBUG
|
||||
+#undef CFG_DATAFLASH
|
||||
+
|
||||
+#define CFG_NANDFLASH
|
||||
+#undef NANDFLASH_SMALL_BLOCKS /* NANDFLASH_LARGE_BLOCKS used instead */
|
||||
+
|
||||
+#define CFG_HW_INIT
|
||||
+#define CFG_SDRAM
|
||||
+
|
||||
+
|
||||
+#endif /* _USB_A9263_H */
|
||||
diff --git a/board/usb_a9263/usb_a9263.c b/board/usb_a9263/usb_a9263.c
|
||||
new file mode 100644
|
||||
index 0000000..5630f99
|
||||
--- /dev/null
|
||||
+++ b/board/usb_a9263/usb_a9263.c
|
||||
@@ -0,0 +1,285 @@
|
||||
+/* ----------------------------------------------------------------------------
|
||||
+ * ATMEL Microcontroller Software Support - ROUSSET -
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * Copyright (c) 2006, Atmel Corporation
|
||||
+
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions are met:
|
||||
+ *
|
||||
+ * - Redistributions of source code must retain the above copyright notice,
|
||||
+ * this list of conditions and the disclaiimer below.
|
||||
+ *
|
||||
+ * Atmel's name may not be used to endorse or promote products derived from
|
||||
+ * this software without specific prior written permission.
|
||||
+ *
|
||||
+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
||||
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * File Name : usb_a9263.c
|
||||
+ * Object :
|
||||
+ * Creation : GH Jun 28th 2012
|
||||
+ *-----------------------------------------------------------------------------
|
||||
+ */
|
||||
+#include "../../include/part.h"
|
||||
+#include "../../include/gpio.h"
|
||||
+#include "../../include/pmc.h"
|
||||
+#include "../../include/debug.h"
|
||||
+#include "../../include/sdramc.h"
|
||||
+#include "../../include/main.h"
|
||||
+#ifdef CFG_NANDFLASH
|
||||
+#include "../../include/nandflash.h"
|
||||
+#endif
|
||||
+#ifdef CFG_DATAFLASH
|
||||
+#include "../../include/dataflash.h"
|
||||
+#endif
|
||||
+
|
||||
+static inline unsigned int get_cp15(void)
|
||||
+{
|
||||
+ unsigned int value;
|
||||
+ __asm__("mrc p15, 0, %0, c1, c0, 0" : "=r" (value));
|
||||
+ return value;
|
||||
+}
|
||||
+
|
||||
+static inline void set_cp15(unsigned int value)
|
||||
+{
|
||||
+ __asm__("mcr p15, 0, %0, c1, c0, 0" : : "r" (value));
|
||||
+}
|
||||
+
|
||||
+
|
||||
+#ifdef CFG_HW_INIT
|
||||
+/*---------------------------------------------------------------------------- */
|
||||
+/* \fn hw_init */
|
||||
+/* \brief This function performs very low level HW initialization */
|
||||
+/* This function is invoked as soon as possible during the c_startup */
|
||||
+/* The bss segment must be initialized */
|
||||
+/*---------------------------------------------------------------------------- */
|
||||
+void hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc hw_pio[] = {
|
||||
+#ifdef CFG_DEBUG
|
||||
+ {"RXD", AT91C_PIN_PC(30), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"TXD", AT91C_PIN_PC(31), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+#endif
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Disable watchdog */
|
||||
+ writel(AT91C_WDTC_WDDIS, AT91C_BASE_WDTC + WDTC_WDMR);
|
||||
+
|
||||
+ /* At this stage the main oscillator is supposed to be enabled
|
||||
+ * PCK = MCK = MOSC */
|
||||
+
|
||||
+ /* Configure PLLA = MOSC * (PLL_MULA + 1) / PLL_DIVA */
|
||||
+ pmc_cfg_plla(PLLA_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* PCK = PLLA = 2 * MCK */
|
||||
+ pmc_cfg_mck(MCKR_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+ /* Switch MCK on PLLA output */
|
||||
+ pmc_cfg_mck(MCKR_CSS_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+
|
||||
+ /* Configure PLLB */
|
||||
+ pmc_cfg_pllb(PLLB_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* Configure the PIO controller to output PCK0 */
|
||||
+ pio_setup(hw_pio);
|
||||
+
|
||||
+ /* Configure the EBI0 Slave Slot Cycle to 64 */
|
||||
+ writel( (readl((AT91C_BASE_MATRIX + MATRIX_SCFG4)) & ~0xFF) | 0x40, (AT91C_BASE_MATRIX + MATRIX_SCFG4));
|
||||
+
|
||||
+#ifdef CFG_DEBUG
|
||||
+ /* Enable Debug messages on the DBGU */
|
||||
+ dbg_init(BAUDRATE(MASTER_CLOCK, 115200));
|
||||
+ dbg_print("Start AT91Bootstrap...\n\r");
|
||||
+#endif /* CFG_DEBUG */
|
||||
+
|
||||
+#ifdef CFG_SDRAM
|
||||
+ /* Initialize the matrix */
|
||||
+ /* VDDIOMSEL = 1 -> Memories are 3.3V powered */
|
||||
+ writel(readl(AT91C_BASE_CCFG + CCFG_EBI0CSA) | (1 << 16) | AT91C_EBI_CS1A_SDRAMC, AT91C_BASE_CCFG + CCFG_EBI0CSA);
|
||||
+
|
||||
+ /* Configure SDRAM Controller */
|
||||
+ sdram_init( AT91C_SDRAMC_NC_9 |
|
||||
+ AT91C_SDRAMC_NR_13 |
|
||||
+ AT91C_SDRAMC_CAS_2 |
|
||||
+ AT91C_SDRAMC_NB_4_BANKS |
|
||||
+ AT91C_SDRAMC_DBW_32_BITS |
|
||||
+ AT91C_SDRAMC_TWR_2 |
|
||||
+ AT91C_SDRAMC_TRC_7 |
|
||||
+ AT91C_SDRAMC_TRP_2 |
|
||||
+ AT91C_SDRAMC_TRCD_2 |
|
||||
+ AT91C_SDRAMC_TRAS_5 |
|
||||
+ AT91C_SDRAMC_TXSR_8, /* Control Register */
|
||||
+ (MASTER_CLOCK * 7)/1000000, /* Refresh Timer Register */
|
||||
+ AT91C_SDRAMC_MD_SDRAM); /* SDRAM (no low power) */
|
||||
+#endif /* CFG_SDRAM */
|
||||
+}
|
||||
+#endif /* CFG_HW_INIT */
|
||||
+
|
||||
+
|
||||
+#ifdef CFG_SDRAM
|
||||
+//*----------------------------------------------------------------------------
|
||||
+//* \fn sdramc_hw_init
|
||||
+//* \brief This function performs SDRAMC HW initialization
|
||||
+//*----------------------------------------------------------------------------*/
|
||||
+void sdramc_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc sdramc_pio[] = {
|
||||
+ {"D16", AT91C_PIN_PD(16), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D17", AT91C_PIN_PD(17), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D18", AT91C_PIN_PD(18), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D19", AT91C_PIN_PD(19), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D20", AT91C_PIN_PD(20), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D21", AT91C_PIN_PD(21), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D22", AT91C_PIN_PD(22), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D23", AT91C_PIN_PD(23), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D24", AT91C_PIN_PD(24), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D25", AT91C_PIN_PD(25), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D26", AT91C_PIN_PD(26), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D27", AT91C_PIN_PD(27), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D28", AT91C_PIN_PD(28), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D29", AT91C_PIN_PD(29), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D30", AT91C_PIN_PD(30), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D31", AT91C_PIN_PD(31), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the SDRAMC PIO controller */
|
||||
+ pio_setup(sdramc_pio);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+#ifdef CFG_DATAFLASH
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn df_recovery */
|
||||
+/* \brief This function erases DataFlash Page 0 if USER PB is pressed */
|
||||
+/* during boot sequence */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void df_recovery(AT91PS_DF pDf)
|
||||
+{
|
||||
+#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS0_DATAFLASH)
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc usrpb_pio[] = {
|
||||
+ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(usrpb_pio);
|
||||
+
|
||||
+ /* If USER PB is pressed during Boot sequence */
|
||||
+ /* Erase NandFlash block 0*/
|
||||
+ if ( !pio_get_value(AT91C_PIN_PB(10)) )
|
||||
+ df_page_erase(pDf, 0);
|
||||
+#endif
|
||||
+}
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn df_hw_init */
|
||||
+/* \brief This function performs DataFlash HW initialization */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void df_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc df_pio[] = {
|
||||
+ {"MISO", AT91C_PIN_PA(0), 0, PIO_DEFAULT, PIO_PERIPH_B},
|
||||
+ {"MOSI", AT91C_PIN_PA(1), 0, PIO_DEFAULT, PIO_PERIPH_B},
|
||||
+ {"SPCK", AT91C_PIN_PA(2), 0, PIO_DEFAULT, PIO_PERIPH_B},
|
||||
+ {"NPCS0", AT91C_PIN_PA(5), 0, PIO_DEFAULT, PIO_PERIPH_B},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ pio_setup(df_pio);
|
||||
+}
|
||||
+#endif /* CFG_DATAFLASH */
|
||||
+
|
||||
+
|
||||
+#ifdef CFG_NANDFLASH
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nand_recovery */
|
||||
+/* \brief This function erases NandFlash Block 0 if USER PB is pressed */
|
||||
+/* during boot sequence */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+static void nand_recovery(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc usrpb_pio[] = {
|
||||
+ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(usrpb_pio);
|
||||
+
|
||||
+ /* If USER PB is pressed during Boot sequence */
|
||||
+ /* Erase NandFlash block 0*/
|
||||
+ if (!pio_get_value(AT91C_PIN_PB(10)) )
|
||||
+ AT91F_NandEraseBlock0();
|
||||
+}
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_hw_init */
|
||||
+/* \brief NandFlash HW init */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc nand_pio[] = {
|
||||
+ {"RDY_BSY", AT91C_PIN_PA(22), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {"NANDCS", AT91C_PIN_PD(15), 0, PIO_PULLUP, PIO_OUTPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Setup Smart Media, first enable the address range of CS3 in HMATRIX user interface */
|
||||
+ writel(readl(AT91C_BASE_CCFG + CCFG_EBI0CSA) | AT91C_EBI_CS3A_SM, AT91C_BASE_CCFG + CCFG_EBI0CSA);
|
||||
+
|
||||
+ /* Configure SMC CS3 */
|
||||
+ writel((AT91C_SM_NWE_SETUP | AT91C_SM_NCS_WR_SETUP | AT91C_SM_NRD_SETUP | AT91C_SM_NCS_RD_SETUP), AT91C_BASE_SMC0 + SMC_SETUP3);
|
||||
+ writel((AT91C_SM_NWE_PULSE | AT91C_SM_NCS_WR_PULSE | AT91C_SM_NRD_PULSE | AT91C_SM_NCS_RD_PULSE), AT91C_BASE_SMC0 + SMC_PULSE3);
|
||||
+ writel((AT91C_SM_NWE_CYCLE | AT91C_SM_NRD_CYCLE) , AT91C_BASE_SMC0 + SMC_CYCLE3);
|
||||
+ writel((AT91C_SMC_READMODE | AT91C_SMC_WRITEMODE | AT91C_SMC_NWAITM_NWAIT_DISABLE |
|
||||
+ AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS | AT91C_SM_TDF) , AT91C_BASE_SMC0 + SMC_CTRL3);
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOA), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ writel((1 << AT91C_ID_PIOCDE), PMC_PCER + AT91C_BASE_PMC);
|
||||
+
|
||||
+ pio_setup(nand_pio);
|
||||
+
|
||||
+ nand_recovery();
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_cfg_16bits_dbw_init */
|
||||
+/* \brief Configure SMC in 16 bits mode */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_cfg_16bits_dbw_init(void)
|
||||
+{
|
||||
+ writel(readl(AT91C_BASE_SMC0 + SMC_CTRL3) | AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS, AT91C_BASE_SMC0 + SMC_CTRL3);
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_cfg_8bits_dbw_init */
|
||||
+/* \brief Configure SMC in 8 bits mode */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_cfg_8bits_dbw_init(void)
|
||||
+{
|
||||
+ writel((readl(AT91C_BASE_SMC0 + SMC_CTRL3) & ~(AT91C_SMC_DBW)) | AT91C_SMC_DBW_WIDTH_EIGTH_BITS, AT91C_BASE_SMC0 + SMC_CTRL3);
|
||||
+}
|
||||
+
|
||||
+#endif /* #ifdef CFG_NANDFLASH */
|
||||
+
|
||||
+
|
||||
diff --git a/crt0_gnu.S b/crt0_gnu.S
|
||||
index 042b617..002feef 100644
|
||||
--- a/crt0_gnu.S
|
||||
+++ b/crt0_gnu.S
|
||||
@@ -106,6 +106,13 @@ _relocate_to_sram:
|
||||
#endif /* CFG_NORFLASH */
|
||||
|
||||
_setup_clocks:
|
||||
+/* Test if main osc is bypassed */
|
||||
+ ldr r0,=AT91C_PMC_MOR
|
||||
+ ldr r1, [r0]
|
||||
+ ldr r2,=AT91C_CKGR_OSCBYPASS
|
||||
+ ands r1, r1, r2
|
||||
+ bne _init_data /* branch if OSCBYPASS=1 */
|
||||
+
|
||||
/* Test if main oscillator is enabled */
|
||||
ldr r0,=AT91C_PMC_SR
|
||||
ldr r1, [r0]
|
||||
diff --git a/driver/dataflash.c b/driver/dataflash.c
|
||||
index e28e49e..4de295a 100644
|
||||
--- a/driver/dataflash.c
|
||||
+++ b/driver/dataflash.c
|
||||
@@ -293,14 +293,14 @@ static int df_init (AT91PS_DF pDf)
|
||||
pDf->dfDescription.pages_size = 264;
|
||||
pDf->dfDescription.page_offset = 9;
|
||||
break;
|
||||
-
|
||||
+*/
|
||||
case AT45DB021B:
|
||||
pDf->dfDescription.pages_number = 1024;
|
||||
pDf->dfDescription.pages_size = 264;
|
||||
pDf->dfDescription.page_offset = 9;
|
||||
break;
|
||||
|
||||
- case AT45DB041B:
|
||||
+/* case AT45DB041B:
|
||||
pDf->dfDescription.pages_number = 2048;
|
||||
pDf->dfDescription.pages_size = 264;
|
||||
pDf->dfDescription.page_offset = 9;
|
||||
@@ -373,7 +373,7 @@ int load_df(unsigned int pcs, unsigned int img_addr, unsigned int img_size, unsi
|
||||
if (!df_init(pDf))
|
||||
return -1;
|
||||
|
||||
-#if defined(AT91SAM9260) || defined(AT91SAM9XE) || defined(AT91SAM9G20)
|
||||
+#if defined(AT91SAM9260) || defined(AT91SAM9263) || defined(AT91SAM9XE) || defined(AT91SAM9G20)
|
||||
/* Test if a button has been pressed or not */
|
||||
/* Erase Page 0 to avoid infinite loop */
|
||||
df_recovery(pDf);
|
||||
diff --git a/include/part.h b/include/part.h
|
||||
index ba5985a..a1863d0 100644
|
||||
--- a/include/part.h
|
||||
+++ b/include/part.h
|
||||
@@ -61,7 +61,11 @@
|
||||
|
||||
#ifdef AT91SAM9263
|
||||
#include "AT91SAM9263_inc.h"
|
||||
-#include "at91sam9263ek.h"
|
||||
+ #ifdef at91sam9263ek
|
||||
+ #include "at91sam9263ek.h"
|
||||
+ #elif usb_a9263
|
||||
+ #include "usb-a9263.h"
|
||||
+ #endif
|
||||
#endif
|
||||
|
||||
#ifdef AT91CAP9
|
||||
--
|
||||
1.5.6.3
|
||||
|
||||
@@ -1,102 +0,0 @@
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
CONFIG_ARCH_AT91=y
|
||||
CONFIG_ARCH_AT91SAM9263=y
|
||||
CONFIG_MACH_USB_A9263=y
|
||||
CONFIG_AT91_SLOW_CLOCK=y
|
||||
# CONFIG_ARM_THUMB is not set
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_CMDLINE="mem=64M console=ttyS0,115200"
|
||||
CONFIG_FPE_NWFPE=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_IP_ROUTE_VERBOSE=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_IP_PNP_RARP=y
|
||||
CONFIG_IP_MROUTE=y
|
||||
CONFIG_IP_PIMSM_V1=y
|
||||
CONFIG_IP_PIMSM_V2=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_LRO is not set
|
||||
# CONFIG_INET_DIAG is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_DATAFLASH=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_ATMEL=y
|
||||
CONFIG_MTD_NAND_ATMEL_ECC_SOFT=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_SCSI_MULTI_LUN=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_MII=y
|
||||
CONFIG_MACB=y
|
||||
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_INPUT_EVBUG=y
|
||||
# CONFIG_KEYBOARD_ATKBD is not set
|
||||
CONFIG_KEYBOARD_GPIO=y
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_SERIO is not set
|
||||
CONFIG_SERIAL_ATMEL=y
|
||||
CONFIG_SERIAL_ATMEL_CONSOLE=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_ATMEL=y
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_USB_HID is not set
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_DEVICEFS=y
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_ETH=m
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_FUSE_FS=m
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_UBIFS_FS_XATTR=y
|
||||
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
CONFIG_NFS_V3_ACL=y
|
||||
CONFIG_NFS_V4=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_CODEPAGE_850=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_DEBUG_USER=y
|
||||
CONFIG_DEBUG_LL=y
|
||||
@@ -1,105 +0,0 @@
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
CONFIG_ARCH_AT91=y
|
||||
CONFIG_ARCH_AT91SAM9G20=y
|
||||
CONFIG_MACH_USB_A9G20=y
|
||||
CONFIG_AT91_SLOW_CLOCK=y
|
||||
# CONFIG_ARM_THUMB is not set
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_CMDLINE="mem=64M console=ttyS0,115200"
|
||||
CONFIG_FPE_NWFPE=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_IP_ROUTE_VERBOSE=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_IP_PNP_RARP=y
|
||||
CONFIG_IP_MROUTE=y
|
||||
CONFIG_IP_PIMSM_V1=y
|
||||
CONFIG_IP_PIMSM_V2=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_LRO is not set
|
||||
# CONFIG_INET_DIAG is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_DATAFLASH=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_ATMEL=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_SCSI_MULTI_LUN=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_MII=y
|
||||
CONFIG_MACB=y
|
||||
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_INPUT_EVBUG=y
|
||||
# CONFIG_KEYBOARD_ATKBD is not set
|
||||
CONFIG_KEYBOARD_GPIO=y
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_SERIO is not set
|
||||
CONFIG_SERIAL_ATMEL=y
|
||||
CONFIG_SERIAL_ATMEL_CONSOLE=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_GPIO=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_ATMEL=y
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_USB_HID is not set
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_DEVICEFS=y
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_ETH=m
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_RV3029C2=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_FUSE_FS=m
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_UBIFS_FS_XATTR=y
|
||||
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
CONFIG_NFS_V3_ACL=y
|
||||
CONFIG_NFS_V4=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_CODEPAGE_850=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_DEBUG_USER=y
|
||||
CONFIG_DEBUG_LL=y
|
||||
@@ -1,610 +0,0 @@
|
||||
From 8d84757d5170969e8bdfebc7951f43c5aa2b05fd Mon Sep 17 00:00:00 2001
|
||||
From: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
Date: Fri, 6 Jul 2012 16:32:47 +0200
|
||||
Subject: [PATCH] Add support for the Calao-systems USB-A9G20-LPW
|
||||
|
||||
|
||||
Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
---
|
||||
board/usb_a9g20_lpw/nandflash/Makefile | 121 ++++++++++
|
||||
board/usb_a9g20_lpw/nandflash/usb-a9g20-lpw.h | 112 +++++++++
|
||||
board/usb_a9g20_lpw/usb_a9g20_lpw.c | 303 +++++++++++++++++++++++++
|
||||
crt0_gnu.S | 7 +
|
||||
include/part.h | 6 +-
|
||||
5 files changed, 548 insertions(+), 1 deletions(-)
|
||||
create mode 100644 board/usb_a9g20_lpw/nandflash/Makefile
|
||||
create mode 100644 board/usb_a9g20_lpw/nandflash/usb-a9g20-lpw.h
|
||||
create mode 100644 board/usb_a9g20_lpw/usb_a9g20_lpw.c
|
||||
|
||||
diff --git a/board/usb_a9g20_lpw/nandflash/Makefile b/board/usb_a9g20_lpw/nandflash/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..8c9d99a
|
||||
--- /dev/null
|
||||
+++ b/board/usb_a9g20_lpw/nandflash/Makefile
|
||||
@@ -0,0 +1,121 @@
|
||||
+# TODO: set this appropriately for your local toolchain
|
||||
+ifndef ERASE_FCT
|
||||
+ERASE_FCT=rm -f
|
||||
+endif
|
||||
+ifndef CROSS_COMPILE
|
||||
+CROSS_COMPILE=arm-elf-
|
||||
+endif
|
||||
+
|
||||
+TOOLCHAIN=gcc
|
||||
+
|
||||
+BOOTSTRAP_PATH=../../..
|
||||
+
|
||||
+# NandFlashBoot Configuration for USB-A9G20-LPW
|
||||
+
|
||||
+# Target name (case sensitive!!!)
|
||||
+TARGET=AT91SAM9G20
|
||||
+# Board name (case sensitive!!!)
|
||||
+BOARD=usb_a9g20_lpw
|
||||
+# Link Address and Top_of_Memory
|
||||
+LINK_ADDR=0x200000
|
||||
+TOP_OF_MEMORY=0x301000
|
||||
+# Name of current directory
|
||||
+PROJECT=nandflash
|
||||
+
|
||||
+ifndef BOOT_NAME
|
||||
+BOOT_NAME=$(PROJECT)_$(BOARD)
|
||||
+endif
|
||||
+
|
||||
+INCL=./$(BOOTSTRAP_PATH)/board/$(BOARD)/$(PROJECT)
|
||||
+
|
||||
+ifeq ($(TOOLCHAIN), gcc)
|
||||
+
|
||||
+AS=$(CROSS_COMPILE)gcc
|
||||
+CC=$(CROSS_COMPILE)gcc
|
||||
+LD=$(CROSS_COMPILE)gcc
|
||||
+NM= $(CROSS_COMPILE)nm
|
||||
+SIZE=$(CROSS_COMPILE)size
|
||||
+OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
+OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL)
|
||||
+ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
+
|
||||
+# Linker flags.
|
||||
+# -Wl,...: tell GCC to pass this to linker.
|
||||
+# -Map: create map file
|
||||
+# --cref: add cross reference to map file
|
||||
+LDFLAGS+=-nostartfiles -nostdlib -Wl,-Map=$(BOOT_NAME).map,--cref
|
||||
+LDFLAGS+=-T $(BOOTSTRAP_PATH)/elf32-littlearm.lds -Ttext $(LINK_ADDR)
|
||||
+OBJS=crt0_gnu.o
|
||||
+
|
||||
+endif
|
||||
+
|
||||
+OBJS+=\
|
||||
+ $(BOARD).o \
|
||||
+ main.o \
|
||||
+ gpio.o \
|
||||
+ pmc.o \
|
||||
+ debug.o \
|
||||
+ sdramc.o \
|
||||
+ nandflash.o \
|
||||
+ _udivsi3.o \
|
||||
+ _umodsi3.o \
|
||||
+ div0.o \
|
||||
+ udiv.o \
|
||||
+ string.o
|
||||
+
|
||||
+rebuild: clean all
|
||||
+
|
||||
+all: $(BOOT_NAME)
|
||||
+
|
||||
+ifeq ($(TOOLCHAIN), gcc)
|
||||
+$(BOOT_NAME): $(OBJS)
|
||||
+ $(LD) $(LDFLAGS) -n -o $(BOOT_NAME).elf $(OBJS)
|
||||
+ $(OBJCOPY) --strip-debug --strip-unneeded $(BOOT_NAME).elf -O binary $(BOOT_NAME).bin
|
||||
+endif
|
||||
+
|
||||
+
|
||||
+$(BOARD).o: $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -o $(BOARD).o
|
||||
+
|
||||
+main.o: $(BOOTSTRAP_PATH)/main.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/main.c -o main.o
|
||||
+
|
||||
+gpio.o: $(BOOTSTRAP_PATH)/driver/gpio.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/gpio.c -o gpio.o
|
||||
+
|
||||
+pmc.o: $(BOOTSTRAP_PATH)/driver/pmc.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/pmc.c -o pmc.o
|
||||
+
|
||||
+debug.o: $(BOOTSTRAP_PATH)/driver/debug.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/debug.c -o debug.o
|
||||
+
|
||||
+sdramc.o: $(BOOTSTRAP_PATH)/driver/sdramc.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/sdramc.c -o sdramc.o
|
||||
+
|
||||
+dataflash.o: $(BOOTSTRAP_PATH)/driver/dataflash.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/dataflash.c -o dataflash.o
|
||||
+
|
||||
+nandflash.o: $(BOOTSTRAP_PATH)/driver/nandflash.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/nandflash.c -o nandflash.o
|
||||
+
|
||||
+crt0_gnu.o: $(BOOTSTRAP_PATH)/crt0_gnu.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/crt0_gnu.S -o crt0_gnu.o
|
||||
+
|
||||
+div0.o: $(BOOTSTRAP_PATH)/lib/div0.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/div0.c -o div0.o
|
||||
+
|
||||
+string.o: $(BOOTSTRAP_PATH)/lib/string.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/string.c -o string.o
|
||||
+
|
||||
+udiv.o: $(BOOTSTRAP_PATH)/lib/udiv.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/udiv.c -o udiv.o
|
||||
+
|
||||
+_udivsi3.o: $(BOOTSTRAP_PATH)/lib/_udivsi3.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_udivsi3.S -o _udivsi3.o
|
||||
+
|
||||
+_umodsi3.o: $(BOOTSTRAP_PATH)/lib/_umodsi3.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_umodsi3.S -o _umodsi3.o
|
||||
+
|
||||
+clean:
|
||||
+ $(ERASE_FCT) *.o *.bin *.elf *.map
|
||||
diff --git a/board/usb_a9g20_lpw/nandflash/usb-a9g20-lpw.h b/board/usb_a9g20_lpw/nandflash/usb-a9g20-lpw.h
|
||||
new file mode 100644
|
||||
index 0000000..c0bdc6e
|
||||
--- /dev/null
|
||||
+++ b/board/usb_a9g20_lpw/nandflash/usb-a9g20-lpw.h
|
||||
@@ -0,0 +1,112 @@
|
||||
+/* ----------------------------------------------------------------------------
|
||||
+ * ATMEL Microcontroller Software Support - ROUSSET -
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * Copyright (c) 2008, Atmel Corporation
|
||||
+
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions are met:
|
||||
+ *
|
||||
+ * - Redistributions of source code must retain the above copyright notice,
|
||||
+ * this list of conditions and the disclaimer below.
|
||||
+ *
|
||||
+ * Atmel's name may not be used to endorse or promote products derived from
|
||||
+ * this software without specific prior written permission.
|
||||
+ *
|
||||
+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
||||
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * File Name : usb-a9g20-lpw.h
|
||||
+ * Object :
|
||||
+ * Creation : GH July 6th 2012
|
||||
+ *-----------------------------------------------------------------------------
|
||||
+ */
|
||||
+#ifndef _USB_A9G20_LPW_H
|
||||
+#define _USB_A9G20_LPW_H
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* PMC Settings */
|
||||
+/* */
|
||||
+/* The main oscillator is enabled as soon as possible in the c_startup */
|
||||
+/* and MCK is switched on the main oscillator. */
|
||||
+/* PLL initialization is done later in the hw_init() function */
|
||||
+/* ******************************************************************* */
|
||||
+#define MASTER_CLOCK (133000000)
|
||||
+#define PLL_LOCK_TIMEOUT 1000000
|
||||
+
|
||||
+/* Set PLLA to 798Mhz */
|
||||
+#define PLLA_SETTINGS 0x20843F02
|
||||
+#define PLLB_SETTINGS 0x100F3F02
|
||||
+
|
||||
+/* Switch MCK on PLLA output PCK = PLLA/2 = 3 * MCK */
|
||||
+#define MCKR_SETTINGS 0x1300
|
||||
+#define MCKR_CSS_SETTINGS (AT91C_PMC_CSS_PLLA_CLK | MCKR_SETTINGS)
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* NandFlash Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define AT91C_SMARTMEDIA_BASE 0x40000000
|
||||
+
|
||||
+#define AT91_SMART_MEDIA_ALE (1 << 21) /* our ALE is AD21 */
|
||||
+#define AT91_SMART_MEDIA_CLE (1 << 22) /* our CLE is AD22 */
|
||||
+
|
||||
+#define NAND_DISABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_SODR = AT91C_PIO_PC14;} while(0)
|
||||
+#define NAND_ENABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_CODR = AT91C_PIO_PC14;} while(0)
|
||||
+
|
||||
+#define NAND_WAIT_READY() while (!(*(volatile unsigned int *)AT91C_PIOC_PDSR & AT91C_PIO_PC13))
|
||||
+
|
||||
+
|
||||
+/* ******************************************************************** */
|
||||
+/* SMC Chip Select 3 Timings for NandFlash for MASTER_CLOCK = 133000000.*/
|
||||
+/* Please refer to SMC section in AT91SAM9 datasheet to learn how */
|
||||
+/* to generate these values. */
|
||||
+/* ******************************************************************** */
|
||||
+#define AT91C_SM_NWE_SETUP (2 << 0)
|
||||
+#define AT91C_SM_NCS_WR_SETUP (0 << 8)
|
||||
+#define AT91C_SM_NRD_SETUP (2 << 16)
|
||||
+#define AT91C_SM_NCS_RD_SETUP (0 << 24)
|
||||
+
|
||||
+#define AT91C_SM_NWE_PULSE (4 << 0)
|
||||
+#define AT91C_SM_NCS_WR_PULSE (4 << 8)
|
||||
+#define AT91C_SM_NRD_PULSE (4 << 16)
|
||||
+#define AT91C_SM_NCS_RD_PULSE (4 << 24)
|
||||
+
|
||||
+#define AT91C_SM_NWE_CYCLE (7 << 0)
|
||||
+#define AT91C_SM_NRD_CYCLE (7 << 16)
|
||||
+
|
||||
+#define AT91C_SM_TDF (3 << 16)
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* BootStrap Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define IMG_ADDRESS 0x20000 /* Image Address in NandFlash */
|
||||
+#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
|
||||
+
|
||||
+#define MACH_TYPE 0x731 /* USB-A9G20 */
|
||||
+#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* Application Settings */
|
||||
+/* ******************************************************************* */
|
||||
+#undef CFG_DEBUG
|
||||
+#undef CFG_DATAFLASH
|
||||
+
|
||||
+#define CFG_NANDFLASH
|
||||
+#undef NANDFLASH_SMALL_BLOCKS /* NANDFLASH_LARGE_BLOCKS used instead */
|
||||
+#undef CFG_NANDFLASH_RECOVERY
|
||||
+
|
||||
+#define CFG_SDRAM
|
||||
+#define CFG_HW_INIT
|
||||
+
|
||||
+#endif /* _USB_A9G20_LPW_H */
|
||||
diff --git a/board/usb_a9g20_lpw/usb_a9g20_lpw.c b/board/usb_a9g20_lpw/usb_a9g20_lpw.c
|
||||
new file mode 100644
|
||||
index 0000000..c372307
|
||||
--- /dev/null
|
||||
+++ b/board/usb_a9g20_lpw/usb_a9g20_lpw.c
|
||||
@@ -0,0 +1,303 @@
|
||||
+/* ----------------------------------------------------------------------------
|
||||
+ * ATMEL Microcontroller Software Support - ROUSSET -
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * Copyright (c) 2008, Atmel Corporation
|
||||
+
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions are met:
|
||||
+ *
|
||||
+ * - Redistributions of source code must retain the above copyright notice,
|
||||
+ * this list of conditions and the disclaimer below.
|
||||
+ *
|
||||
+ * Atmel's name may not be used to endorse or promote products derived from
|
||||
+ * this software without specific prior written permission.
|
||||
+ *
|
||||
+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
||||
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * File Name : usb_a9g20_lpw.c
|
||||
+ * Object :
|
||||
+ * Creation : GH July 6th 2012
|
||||
+ *-----------------------------------------------------------------------------
|
||||
+ */
|
||||
+#include "../../include/part.h"
|
||||
+#include "../../include/gpio.h"
|
||||
+#include "../../include/pmc.h"
|
||||
+#include "../../include/debug.h"
|
||||
+#include "../../include/sdramc.h"
|
||||
+#include "../../include/main.h"
|
||||
+#ifdef CFG_NANDFLASH
|
||||
+#include "../../include/nandflash.h"
|
||||
+#endif
|
||||
+#ifdef CFG_DATAFLASH
|
||||
+#include "../../include/dataflash.h"
|
||||
+#endif
|
||||
+
|
||||
+static inline unsigned int get_cp15(void)
|
||||
+{
|
||||
+ unsigned int value;
|
||||
+ __asm__("mrc p15, 0, %0, c1, c0, 0" : "=r" (value));
|
||||
+ return value;
|
||||
+}
|
||||
+
|
||||
+static inline void set_cp15(unsigned int value)
|
||||
+{
|
||||
+ __asm__("mcr p15, 0, %0, c1, c0, 0" : : "r" (value));
|
||||
+}
|
||||
+
|
||||
+#ifdef CFG_HW_INIT
|
||||
+/*----------------------------------------------------------------------------*/
|
||||
+/* \fn hw_init */
|
||||
+/* \brief This function performs very low level HW initialization */
|
||||
+/* This function is invoked as soon as possible during the c_startup */
|
||||
+/* The bss segment must be initialized */
|
||||
+/*----------------------------------------------------------------------------*/
|
||||
+void hw_init(void)
|
||||
+{
|
||||
+ unsigned int cp15;
|
||||
+
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc hw_pio[] = {
|
||||
+#ifdef CFG_DEBUG
|
||||
+ {"RXD", AT91C_PIN_PB(14), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"TXD", AT91C_PIN_PB(15), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+#endif
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Disable watchdog */
|
||||
+ writel(AT91C_WDTC_WDDIS, AT91C_BASE_WDTC + WDTC_WDMR);
|
||||
+
|
||||
+ /* At this stage the main oscillator is supposed to be enabled
|
||||
+ * PCK = MCK = MOSC */
|
||||
+ writel(0x00, AT91C_BASE_PMC + PMC_PLLICPR);
|
||||
+
|
||||
+ /* Configure PLLA = MOSC * (PLL_MULA + 1) / PLL_DIVA */
|
||||
+ pmc_cfg_plla(PLLA_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* PCK = PLLA/2 = 3 * MCK */
|
||||
+ pmc_cfg_mck(MCKR_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+ /* Switch MCK on PLLA output */
|
||||
+ pmc_cfg_mck(MCKR_CSS_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* Configure PLLB */
|
||||
+ pmc_cfg_pllb(PLLB_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* Configure CP15 */
|
||||
+ cp15 = get_cp15();
|
||||
+ cp15 |= I_CACHE;
|
||||
+ set_cp15(cp15);
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ pio_setup(hw_pio);
|
||||
+
|
||||
+ /* Configure the EBI Slave Slot Cycle to 64 */
|
||||
+ writel((readl((AT91C_BASE_MATRIX + MATRIX_SCFG3)) & ~0xFF) | 0x40, (AT91C_BASE_MATRIX + MATRIX_SCFG3));
|
||||
+
|
||||
+#ifdef CFG_DEBUG
|
||||
+ /* Enable Debug messages on the DBGU */
|
||||
+ dbg_init(BAUDRATE(MASTER_CLOCK, 115200));
|
||||
+
|
||||
+ dbg_print("Start AT91Bootstrap...\n\r");
|
||||
+#endif /* CFG_DEBUG */
|
||||
+
|
||||
+#ifdef CFG_SDRAM
|
||||
+ /* Initialize the matrix (VDDIOSEL=0: memory voltage = 1.8V ) */
|
||||
+ writel((readl(AT91C_BASE_CCFG + CCFG_EBICSA) & ~0x00010000) | AT91C_EBI_CS1A_SDRAMC , AT91C_BASE_CCFG + CCFG_EBICSA);
|
||||
+
|
||||
+ /* Configure SDRAM Controller */
|
||||
+ sdram_init( AT91C_SDRAMC_NC_9 |
|
||||
+ AT91C_SDRAMC_NR_13 |
|
||||
+ AT91C_SDRAMC_CAS_3 |
|
||||
+ AT91C_SDRAMC_NB_4_BANKS |
|
||||
+ AT91C_SDRAMC_DBW_32_BITS |
|
||||
+ AT91C_SDRAMC_TWR_3 |
|
||||
+ AT91C_SDRAMC_TRC_9 |
|
||||
+ AT91C_SDRAMC_TRP_3 |
|
||||
+ AT91C_SDRAMC_TRCD_3 |
|
||||
+ AT91C_SDRAMC_TRAS_6 |
|
||||
+ AT91C_SDRAMC_TXSR_10, /* Control Register */
|
||||
+ (MASTER_CLOCK * 7)/1000000, /* Refresh Timer Register */
|
||||
+ AT91C_SDRAMC_MD_SDRAM); /* SDRAM (no low power) */
|
||||
+
|
||||
+#endif /* CFG_SDRAM */
|
||||
+}
|
||||
+#endif /* CFG_HW_INIT */
|
||||
+
|
||||
+#ifdef CFG_SDRAM
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn sdramc_hw_init */
|
||||
+/* \brief This function performs SDRAMC HW initialization */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void sdramc_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+/* const struct pio_desc sdramc_pio[] = {
|
||||
+ {"D16", AT91C_PIN_PC(16), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D17", AT91C_PIN_PC(17), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D18", AT91C_PIN_PC(18), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D19", AT91C_PIN_PC(19), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D20", AT91C_PIN_PC(20), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D21", AT91C_PIN_PC(21), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D22", AT91C_PIN_PC(22), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D23", AT91C_PIN_PC(23), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D24", AT91C_PIN_PC(24), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D25", AT91C_PIN_PC(25), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D26", AT91C_PIN_PC(26), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D27", AT91C_PIN_PC(27), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D28", AT91C_PIN_PC(28), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D29", AT91C_PIN_PC(29), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D30", AT91C_PIN_PC(30), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D31", AT91C_PIN_PC(31), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+*/
|
||||
+ /* Configure the SDRAMC PIO controller to output PCK0 */
|
||||
+/* pio_setup(sdramc_pio); */
|
||||
+
|
||||
+ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_ASR(0));
|
||||
+ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_PDR(0));
|
||||
+
|
||||
+}
|
||||
+#endif /* CFG_SDRAM */
|
||||
+
|
||||
+#ifdef CFG_DATAFLASH
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn df_recovery */
|
||||
+/* \brief This function erases DataFlash Page 0 if USR PB is pressed */
|
||||
+/* during boot sequence */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void df_recovery(AT91PS_DF pDf)
|
||||
+{
|
||||
+#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS1_DATAFLASH)
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc usrpb[] = {
|
||||
+ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(usrpb);
|
||||
+
|
||||
+ /* If USR PB is pressed during Boot sequence */
|
||||
+ /* Erase NandFlash block 0*/
|
||||
+ if ( !pio_get_value(AT91C_PIN_PB(10)) )
|
||||
+ df_page_erase(pDf, 0);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn df_hw_init */
|
||||
+/* \brief This function performs DataFlash HW initialization */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void df_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc df_pio[] = {
|
||||
+ {"MISO", AT91C_PIN_PA(0), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"MOSI", AT91C_PIN_PA(1), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"SPCK", AT91C_PIN_PA(2), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS0_DATAFLASH)
|
||||
+ {"NPCS0", AT91C_PIN_PA(3), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+#endif
|
||||
+#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS1_DATAFLASH)
|
||||
+ {"NPCS1", AT91C_PIN_PC(11), 0, PIO_DEFAULT, PIO_PERIPH_B},
|
||||
+#endif
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ pio_setup(df_pio);
|
||||
+}
|
||||
+#endif /* CFG_DATAFLASH */
|
||||
+
|
||||
+
|
||||
+
|
||||
+#ifdef CFG_NANDFLASH
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nand_recovery */
|
||||
+/* \brief This function erases NandFlash Block 0 if USER PB is pressed */
|
||||
+/* during boot sequence */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+#ifdef CFG_NANDFLASH_RECOVERY
|
||||
+static void nand_recovery(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc usrpb[] = {
|
||||
+ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(usrpb);
|
||||
+
|
||||
+ /* If USER PB is pressed during Boot sequence */
|
||||
+ /* Erase NandFlash block 0*/
|
||||
+ if (!pio_get_value(AT91C_PIN_PB(10)) )
|
||||
+ AT91F_NandEraseBlock0();
|
||||
+}
|
||||
+#else
|
||||
+static void nand_recovery(void) {}
|
||||
+#endif
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_hw_init */
|
||||
+/* \brief NandFlash HW init */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc nand_pio[] = {
|
||||
+ {"RDY_BSY", AT91C_PIN_PC(13), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {"NANDCS", AT91C_PIN_PC(14), 0, PIO_PULLUP, PIO_OUTPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Setup Smart Media, first enable the address range of CS3 in HMATRIX user interface */
|
||||
+ writel(readl(AT91C_BASE_CCFG + CCFG_EBICSA) | AT91C_EBI_CS3A_SM, AT91C_BASE_CCFG + CCFG_EBICSA);
|
||||
+
|
||||
+ /* Configure SMC CS3 */
|
||||
+ writel((AT91C_SM_NWE_SETUP | AT91C_SM_NCS_WR_SETUP | AT91C_SM_NRD_SETUP | AT91C_SM_NCS_RD_SETUP), AT91C_BASE_SMC + SMC_SETUP3);
|
||||
+ writel((AT91C_SM_NWE_PULSE | AT91C_SM_NCS_WR_PULSE | AT91C_SM_NRD_PULSE | AT91C_SM_NCS_RD_PULSE), AT91C_BASE_SMC + SMC_PULSE3);
|
||||
+ writel((AT91C_SM_NWE_CYCLE | AT91C_SM_NRD_CYCLE) , AT91C_BASE_SMC + SMC_CYCLE3);
|
||||
+ writel((AT91C_SMC_READMODE | AT91C_SMC_WRITEMODE | AT91C_SMC_NWAITM_NWAIT_DISABLE |
|
||||
+ AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS | AT91C_SM_TDF) , AT91C_BASE_SMC + SMC_CTRL3);
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOC), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(nand_pio);
|
||||
+
|
||||
+ nand_recovery();
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_cfg_16bits_dbw_init */
|
||||
+/* \brief Configure SMC in 16 bits mode */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_cfg_16bits_dbw_init(void)
|
||||
+{
|
||||
+ writel(readl(AT91C_BASE_SMC + SMC_CTRL3) | AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS, AT91C_BASE_SMC + SMC_CTRL3);
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_cfg_8bits_dbw_init */
|
||||
+/* \brief Configure SMC in 8 bits mode */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_cfg_8bits_dbw_init(void)
|
||||
+{
|
||||
+ writel((readl(AT91C_BASE_SMC + SMC_CTRL3) & ~(AT91C_SMC_DBW)) | AT91C_SMC_DBW_WIDTH_EIGTH_BITS, AT91C_BASE_SMC + SMC_CTRL3);
|
||||
+}
|
||||
+
|
||||
+#endif /* #ifdef CFG_NANDFLASH */
|
||||
diff --git a/crt0_gnu.S b/crt0_gnu.S
|
||||
index 042b617..002feef 100644
|
||||
--- a/crt0_gnu.S
|
||||
+++ b/crt0_gnu.S
|
||||
@@ -106,6 +106,13 @@ _relocate_to_sram:
|
||||
#endif /* CFG_NORFLASH */
|
||||
|
||||
_setup_clocks:
|
||||
+/* Test if main osc is bypassed */
|
||||
+ ldr r0,=AT91C_PMC_MOR
|
||||
+ ldr r1, [r0]
|
||||
+ ldr r2,=AT91C_CKGR_OSCBYPASS
|
||||
+ ands r1, r1, r2
|
||||
+ bne _init_data /* branch if OSCBYPASS=1 */
|
||||
+
|
||||
/* Test if main oscillator is enabled */
|
||||
ldr r0,=AT91C_PMC_SR
|
||||
ldr r1, [r0]
|
||||
diff --git a/include/part.h b/include/part.h
|
||||
index ba5985a..1d7392a 100644
|
||||
--- a/include/part.h
|
||||
+++ b/include/part.h
|
||||
@@ -46,7 +46,11 @@
|
||||
|
||||
#ifdef AT91SAM9G20
|
||||
#include "AT91SAM9260_inc.h"
|
||||
-#include "at91sam9g20ek.h"
|
||||
+ #ifdef at91sam9g20ek
|
||||
+ #include "at91sam9g20ek.h"
|
||||
+ #elif usb_a9g20_lpw
|
||||
+ #include "usb-a9g20-lpw.h"
|
||||
+ #endif
|
||||
#endif
|
||||
|
||||
#ifdef AT91SAM9261
|
||||
--
|
||||
1.5.6.3
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
diff --git a/arch/arm/configs/usb_a9g20_defconfig b/arch/arm/configs/usb_a9g20_defconfig
|
||||
index 30bf380..7716e0e 100644
|
||||
--- a/arch/arm/configs/usb_a9g20_defconfig
|
||||
+++ b/arch/arm/configs/usb_a9g20_defconfig
|
||||
@@ -15,6 +15,7 @@ CONFIG_HUSH_FANCY_PROMPT=y
|
||||
CONFIG_CMDLINE_EDITING=y
|
||||
CONFIG_AUTO_COMPLETE=y
|
||||
CONFIG_MENU=y
|
||||
+# CONFIG_ERRNO_MESSAGES is not set
|
||||
# CONFIG_CONSOLE_ACTIVATE_FIRST is not set
|
||||
CONFIG_CONSOLE_ACTIVATE_ALL=y
|
||||
CONFIG_PARTITION=y
|
||||
@@ -1,36 +0,0 @@
|
||||
This is the minimal buildroot support for the Congatec QMX6 Qseven CoM
|
||||
|
||||
conga-QMX6 is based on the freescale iMX6 SoC. For more information please
|
||||
have a look at http://www.congatec.com/products/qseven/conga-qmx6.html
|
||||
|
||||
The configuration is based on the currently latest kernel release from
|
||||
Congatec's git repository which is based on 3.0.35. The bootloader u-boot
|
||||
is preconfigured on the CPU module and does not need to be replaced.
|
||||
|
||||
To build the default configuration you only have to:
|
||||
|
||||
make qmx6_defconfig && make
|
||||
|
||||
You will need a microSD card of sufficient size and the first or only
|
||||
partition configured as Linux type.
|
||||
|
||||
To transfer the system to the card do:
|
||||
|
||||
$ sudo dd if=output/images/rootfs.ext2 of=/dev/sdX1
|
||||
|
||||
You can optionally extend the filesystem size to the whole partition:
|
||||
|
||||
$ sudo resize2fs /dev/sdX1
|
||||
|
||||
You can also update the card image without completely rewriting it:
|
||||
|
||||
$ sudo mount /dev/sdX1 /mnt
|
||||
$ sudo tar xf output/images/rootfs.tar -C /mnt
|
||||
$ sudo umount /mnt
|
||||
|
||||
Connect a terminal program to the rs232 connector marked "CONSOLE"
|
||||
with baudrate set to 115200, insert the microSD card into the socket
|
||||
on the CPU module and power the board to watch the system boot.
|
||||
|
||||
Booting from the SD card slot on the base board is currently not
|
||||
supported.
|
||||
1
board/freescale/imx31_3stack/linux.fragment
Normal file
1
board/freescale/imx31_3stack/linux.fragment
Normal file
@@ -0,0 +1 @@
|
||||
# CONFIG_FB_MXS is not set
|
||||
@@ -1,374 +0,0 @@
|
||||
CONFIG_PPC_85xx=y
|
||||
CONFIG_PHYS_64BIT=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_NR_CPUS=8
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_FHANDLE=y
|
||||
CONFIG_AUDIT=y
|
||||
CONFIG_IRQ_DOMAIN_DEBUG=y
|
||||
CONFIG_NO_HZ_IDLE=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_BSD_PROCESS_ACCT=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_LOG_BUF_SHIFT=16
|
||||
CONFIG_CGROUPS=y
|
||||
CONFIG_NAMESPACES=y
|
||||
CONFIG_EXPERT=y
|
||||
CONFIG_KALLSYMS_ALL=y
|
||||
# CONFIG_SLUB_DEBUG is not set
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_MAC_PARTITION=y
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_POWERNV_MSI is not set
|
||||
CONFIG_MPC85xx_DS=y
|
||||
CONFIG_HIGHMEM=y
|
||||
CONFIG_HOTPLUG_CPU=y
|
||||
CONFIG_IRQ_ALL_CPUS=y
|
||||
CONFIG_FORCE_MAX_ZONEORDER=12
|
||||
# CONFIG_SUSPEND is not set
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCIEPORTBUS=y
|
||||
CONFIG_PCI_MSI=y
|
||||
CONFIG_RAPIDIO=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM_USER=y
|
||||
CONFIG_NET_KEY=m
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_IP_MULTIPLE_TABLES=y
|
||||
CONFIG_IP_ROUTE_MULTIPATH=y
|
||||
CONFIG_IP_ROUTE_VERBOSE=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_IP_PNP_RARP=y
|
||||
CONFIG_NET_IPIP=y
|
||||
CONFIG_IP_MROUTE=y
|
||||
CONFIG_IP_PIMSM_V1=y
|
||||
CONFIG_IP_PIMSM_V2=y
|
||||
CONFIG_INET_ESP=m
|
||||
CONFIG_INET_XFRM_MODE_TRANSPORT=m
|
||||
CONFIG_INET_XFRM_MODE_TUNNEL=m
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_LRO is not set
|
||||
CONFIG_NETWORK_SECMARK=y
|
||||
CONFIG_NETFILTER=y
|
||||
CONFIG_NF_CONNTRACK=m
|
||||
CONFIG_NF_CONNTRACK_SECMARK=y
|
||||
CONFIG_NF_CONNTRACK_ZONES=y
|
||||
CONFIG_NF_CONNTRACK_EVENTS=y
|
||||
CONFIG_NF_CONNTRACK_TIMEOUT=y
|
||||
CONFIG_NF_CONNTRACK_TIMESTAMP=y
|
||||
CONFIG_NF_CT_PROTO_DCCP=m
|
||||
CONFIG_NF_CT_PROTO_UDPLITE=m
|
||||
CONFIG_NF_CONNTRACK_AMANDA=m
|
||||
CONFIG_NF_CONNTRACK_FTP=m
|
||||
CONFIG_NF_CONNTRACK_H323=m
|
||||
CONFIG_NF_CONNTRACK_IRC=m
|
||||
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
|
||||
CONFIG_NF_CONNTRACK_SNMP=m
|
||||
CONFIG_NF_CONNTRACK_PPTP=m
|
||||
CONFIG_NF_CONNTRACK_SANE=m
|
||||
CONFIG_NF_CONNTRACK_SIP=m
|
||||
CONFIG_NF_CONNTRACK_TFTP=m
|
||||
CONFIG_NF_CT_NETLINK=m
|
||||
CONFIG_NF_CT_NETLINK_TIMEOUT=m
|
||||
CONFIG_NF_CT_NETLINK_HELPER=m
|
||||
CONFIG_NETFILTER_NETLINK_QUEUE_CT=y
|
||||
CONFIG_NETFILTER_XT_TARGET_AUDIT=m
|
||||
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
|
||||
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
|
||||
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
|
||||
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
|
||||
CONFIG_NETFILTER_XT_TARGET_DSCP=m
|
||||
CONFIG_NETFILTER_XT_TARGET_HMARK=m
|
||||
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
|
||||
CONFIG_NETFILTER_XT_TARGET_LED=m
|
||||
CONFIG_NETFILTER_XT_TARGET_LOG=m
|
||||
CONFIG_NETFILTER_XT_TARGET_MARK=m
|
||||
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
|
||||
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
|
||||
CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
|
||||
CONFIG_NETFILTER_XT_TARGET_TEE=m
|
||||
CONFIG_NETFILTER_XT_TARGET_TPROXY=m
|
||||
CONFIG_NETFILTER_XT_TARGET_TRACE=m
|
||||
CONFIG_NETFILTER_XT_TARGET_SECMARK=m
|
||||
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
|
||||
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
|
||||
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
|
||||
CONFIG_NETFILTER_XT_MATCH_BPF=m
|
||||
CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
|
||||
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
|
||||
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
|
||||
CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
|
||||
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
|
||||
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
|
||||
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
|
||||
CONFIG_NETFILTER_XT_MATCH_CPU=m
|
||||
CONFIG_NETFILTER_XT_MATCH_DCCP=m
|
||||
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
|
||||
CONFIG_NETFILTER_XT_MATCH_DSCP=m
|
||||
CONFIG_NETFILTER_XT_MATCH_ESP=m
|
||||
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
|
||||
CONFIG_NETFILTER_XT_MATCH_HELPER=m
|
||||
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
|
||||
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
|
||||
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
|
||||
CONFIG_NETFILTER_XT_MATCH_MAC=m
|
||||
CONFIG_NETFILTER_XT_MATCH_MARK=m
|
||||
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
|
||||
CONFIG_NETFILTER_XT_MATCH_NFACCT=m
|
||||
CONFIG_NETFILTER_XT_MATCH_OSF=m
|
||||
CONFIG_NETFILTER_XT_MATCH_OWNER=m
|
||||
CONFIG_NETFILTER_XT_MATCH_POLICY=m
|
||||
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
|
||||
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
|
||||
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
|
||||
CONFIG_NETFILTER_XT_MATCH_RATEEST=m
|
||||
CONFIG_NETFILTER_XT_MATCH_REALM=m
|
||||
CONFIG_NETFILTER_XT_MATCH_RECENT=m
|
||||
CONFIG_NETFILTER_XT_MATCH_SOCKET=m
|
||||
CONFIG_NETFILTER_XT_MATCH_STATE=m
|
||||
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
|
||||
CONFIG_NETFILTER_XT_MATCH_STRING=m
|
||||
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
|
||||
CONFIG_NETFILTER_XT_MATCH_TIME=m
|
||||
CONFIG_NETFILTER_XT_MATCH_U32=m
|
||||
CONFIG_NF_CONNTRACK_IPV4=m
|
||||
CONFIG_IP_NF_IPTABLES=m
|
||||
CONFIG_IP_NF_MATCH_AH=m
|
||||
CONFIG_IP_NF_MATCH_ECN=m
|
||||
CONFIG_IP_NF_MATCH_RPFILTER=m
|
||||
CONFIG_IP_NF_MATCH_TTL=m
|
||||
CONFIG_IP_NF_FILTER=m
|
||||
CONFIG_IP_NF_TARGET_REJECT=m
|
||||
CONFIG_IP_NF_TARGET_SYNPROXY=m
|
||||
CONFIG_IP_NF_TARGET_ULOG=m
|
||||
CONFIG_NF_NAT_IPV4=m
|
||||
CONFIG_IP_NF_TARGET_MASQUERADE=m
|
||||
CONFIG_IP_NF_TARGET_NETMAP=m
|
||||
CONFIG_IP_NF_TARGET_REDIRECT=m
|
||||
CONFIG_IP_NF_MANGLE=m
|
||||
CONFIG_IP_NF_TARGET_CLUSTERIP=m
|
||||
CONFIG_IP_NF_TARGET_ECN=m
|
||||
CONFIG_IP_NF_TARGET_TTL=m
|
||||
CONFIG_IP_NF_RAW=m
|
||||
CONFIG_IP_NF_ARPTABLES=m
|
||||
CONFIG_IP_NF_ARPFILTER=m
|
||||
CONFIG_IP_NF_ARP_MANGLE=m
|
||||
CONFIG_NF_CONNTRACK_IPV6=m
|
||||
CONFIG_IP6_NF_IPTABLES=m
|
||||
CONFIG_IP6_NF_MATCH_AH=m
|
||||
CONFIG_IP6_NF_MATCH_EUI64=m
|
||||
CONFIG_IP6_NF_MATCH_FRAG=m
|
||||
CONFIG_IP6_NF_MATCH_OPTS=m
|
||||
CONFIG_IP6_NF_MATCH_HL=m
|
||||
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
|
||||
CONFIG_IP6_NF_MATCH_MH=m
|
||||
CONFIG_IP6_NF_MATCH_RPFILTER=m
|
||||
CONFIG_IP6_NF_MATCH_RT=m
|
||||
CONFIG_IP6_NF_TARGET_HL=m
|
||||
CONFIG_IP6_NF_FILTER=m
|
||||
CONFIG_IP6_NF_TARGET_REJECT=m
|
||||
CONFIG_IP6_NF_TARGET_SYNPROXY=m
|
||||
CONFIG_IP6_NF_MANGLE=m
|
||||
CONFIG_IP6_NF_RAW=m
|
||||
CONFIG_NF_NAT_IPV6=m
|
||||
CONFIG_IP6_NF_TARGET_MASQUERADE=m
|
||||
CONFIG_IP6_NF_TARGET_NPT=m
|
||||
CONFIG_IP_SCTP=m
|
||||
CONFIG_BRIDGE=m
|
||||
CONFIG_CFG80211=m
|
||||
CONFIG_MAC80211=m
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
# CONFIG_FW_LOADER_USER_HELPER is not set
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_FTL=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
CONFIG_MTD_CFI_AMDSTD=y
|
||||
CONFIG_MTD_PHYSMAP_OF=y
|
||||
CONFIG_MTD_M25P80=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_FSL_ELBC=y
|
||||
CONFIG_MTD_NAND_FSL_IFC=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_NBD=y
|
||||
CONFIG_EEPROM_LEGACY=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_CHR_DEV_ST=y
|
||||
CONFIG_BLK_DEV_SR=y
|
||||
CONFIG_CHR_DEV_SG=y
|
||||
CONFIG_SCSI_MULTI_LUN=y
|
||||
CONFIG_SCSI_LOGGING=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_SATA_AHCI=y
|
||||
CONFIG_SATA_FSL=y
|
||||
CONFIG_SATA_SIL24=y
|
||||
CONFIG_PATA_ALI=y
|
||||
CONFIG_MD=y
|
||||
CONFIG_BLK_DEV_MD=y
|
||||
CONFIG_MD_LINEAR=y
|
||||
CONFIG_MD_RAID0=y
|
||||
CONFIG_MD_RAID1=y
|
||||
CONFIG_MD_RAID10=y
|
||||
CONFIG_MD_RAID456=y
|
||||
CONFIG_MD_MULTIPATH=y
|
||||
CONFIG_BCACHE=y
|
||||
CONFIG_BLK_DEV_DM=m
|
||||
CONFIG_DM_CRYPT=m
|
||||
CONFIG_DM_SNAPSHOT=m
|
||||
CONFIG_DM_THIN_PROVISIONING=m
|
||||
CONFIG_DM_CACHE=m
|
||||
CONFIG_DM_MIRROR=m
|
||||
CONFIG_DM_RAID=m
|
||||
CONFIG_DM_ZERO=m
|
||||
CONFIG_DM_MULTIPATH=m
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_DUMMY=y
|
||||
CONFIG_TUN=y
|
||||
CONFIG_NET_TULIP=y
|
||||
CONFIG_GIANFAR=y
|
||||
CONFIG_E1000E=y
|
||||
CONFIG_AT803X_PHY=y
|
||||
CONFIG_ATHEROS_PHY=y
|
||||
CONFIG_MARVELL_PHY=y
|
||||
CONFIG_DAVICOM_PHY=y
|
||||
CONFIG_CICADA_PHY=y
|
||||
CONFIG_VITESSE_PHY=y
|
||||
CONFIG_DP8384x_PHY=y
|
||||
CONFIG_FIXED_PHY=y
|
||||
CONFIG_PPP=m
|
||||
CONFIG_PPP_BSDCOMP=m
|
||||
CONFIG_PPP_DEFLATE=m
|
||||
CONFIG_PPP_FILTER=y
|
||||
CONFIG_PPP_MPPE=m
|
||||
CONFIG_PPP_MULTILINK=y
|
||||
CONFIG_PPPOE=m
|
||||
CONFIG_PPP_ASYNC=m
|
||||
CONFIG_PPP_SYNC_TTY=m
|
||||
CONFIG_ATH_CARDS=m
|
||||
CONFIG_ATH9K=m
|
||||
CONFIG_ATH9K_HTC=m
|
||||
CONFIG_RT2X00=m
|
||||
CONFIG_RT2800PCI=m
|
||||
CONFIG_RT73USB=m
|
||||
CONFIG_RT2800USB=m
|
||||
CONFIG_RT2800USB_RT3573=y
|
||||
CONFIG_RT2800USB_RT53XX=y
|
||||
CONFIG_RT2800USB_RT55XX=y
|
||||
# CONFIG_RTL_CARDS is not set
|
||||
# CONFIG_INPUT_MOUSEDEV is not set
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_SERIO is not set
|
||||
CONFIG_VT_HW_CONSOLE_BINDING=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_NR_UARTS=2
|
||||
CONFIG_SERIAL_8250_RUNTIME_UARTS=2
|
||||
CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
CONFIG_SERIAL_8250_DETECT_IRQ=y
|
||||
CONFIG_SERIAL_8250_RSA=y
|
||||
CONFIG_NVRAM=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_MPC=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_FSL_SPI=y
|
||||
CONFIG_SPI_FSL_ESPI=y
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_GPIO_MPC8XXX=y
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_VGA_ARB is not set
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
CONFIG_SOUND=m
|
||||
CONFIG_SND=m
|
||||
CONFIG_SND_HRTIMER=m
|
||||
# CONFIG_SND_SUPPORT_OLD_API is not set
|
||||
# CONFIG_SND_DRIVERS is not set
|
||||
CONFIG_SND_INTEL8X0=m
|
||||
# CONFIG_SND_PPC is not set
|
||||
# CONFIG_SND_SPI is not set
|
||||
# CONFIG_SND_USB is not set
|
||||
# CONFIG_HID_GENERIC is not set
|
||||
# CONFIG_USB_HID is not set
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_FSL=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
|
||||
CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
CONFIG_MMC_SDHCI_OF_ESDHC=y
|
||||
CONFIG_EDAC=y
|
||||
CONFIG_EDAC_MM_EDAC=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_CMOS=y
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_FSL_DMA=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_EXT4_FS_POSIX_ACL=y
|
||||
CONFIG_EXT4_FS_SECURITY=y
|
||||
CONFIG_FANOTIFY=y
|
||||
CONFIG_FUSE_FS=m
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_HUGETLBFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_JFFS2_SUMMARY=y
|
||||
CONFIG_JFFS2_FS_XATTR=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_SQUASHFS=y
|
||||
CONFIG_SQUASHFS_XATTR=y
|
||||
CONFIG_SQUASHFS_LZO=y
|
||||
CONFIG_SQUASHFS_XZ=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V4=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NFSD=m
|
||||
CONFIG_CIFS=m
|
||||
CONFIG_CIFS_XATTR=y
|
||||
CONFIG_CIFS_POSIX=y
|
||||
# CONFIG_CIFS_DEBUG is not set
|
||||
CONFIG_CIFS_SMB2=y
|
||||
CONFIG_CIFS_FSCACHE=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_CODEPAGE_850=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_NLS_UTF8=m
|
||||
CONFIG_CRC_T10DIF=y
|
||||
CONFIG_DEBUG_INFO=y
|
||||
CONFIG_DEBUG_FS=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_DETECT_HUNG_TASK=y
|
||||
CONFIG_CRYPTO_CBC=y
|
||||
CONFIG_CRYPTO_PCBC=m
|
||||
CONFIG_CRYPTO_HMAC=y
|
||||
CONFIG_CRYPTO_MD5=y
|
||||
CONFIG_CRYPTO_SHA1=y
|
||||
CONFIG_CRYPTO_SHA256=y
|
||||
CONFIG_CRYPTO_SHA512=y
|
||||
CONFIG_CRYPTO_DES=y
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
CONFIG_CRYPTO_DEV_TALITOS=y
|
||||
@@ -1,51 +0,0 @@
|
||||
From: Nikita Yushchenko <nyushchenko@dev.rtsoft.ru>
|
||||
Subject: [PATCH] usb: pci-quirks: do not access OHCI_FMINTERVAL register on ULI hw
|
||||
|
||||
This access causes hang on Freescale P2020DS board (that has OHCI
|
||||
provided by ULI 1533 chip).
|
||||
|
||||
Since preserving OHCI_FMINTERVAL was originally done only for NVIDIA
|
||||
hardware and only later (in c6187597) was turned unconditional, and
|
||||
c6187597 commit message again mentions only NVIDIA, I think it should be
|
||||
safe to disable preserving OHCI_FMINTERVAL if device vendor is ULI.
|
||||
|
||||
Signed-off-by: Nikita Yushchenko <nyushchenko@dev.rtsoft.ru>
|
||||
---
|
||||
drivers/usb/host/pci-quirks.c | 8 +++++---
|
||||
1 file changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
|
||||
index 00661d3..5acbd5b 100644
|
||||
--- a/drivers/usb/host/pci-quirks.c
|
||||
+++ b/drivers/usb/host/pci-quirks.c
|
||||
@@ -571,7 +571,7 @@ static void quirk_usb_handoff_ohci(struct pci_dev *pdev)
|
||||
{
|
||||
void __iomem *base;
|
||||
u32 control;
|
||||
- u32 fminterval;
|
||||
+ u32 uninitialized_var(fminterval);
|
||||
int cnt;
|
||||
|
||||
if (!mmio_resource_enabled(pdev, 0))
|
||||
@@ -619,7 +619,8 @@ static void quirk_usb_handoff_ohci(struct pci_dev *pdev)
|
||||
}
|
||||
|
||||
/* software reset of the controller, preserving HcFmInterval */
|
||||
- fminterval = readl(base + OHCI_FMINTERVAL);
|
||||
+ if (pdev->vendor != PCI_VENDOR_ID_AL)
|
||||
+ fminterval = readl(base + OHCI_FMINTERVAL);
|
||||
writel(OHCI_HCR, base + OHCI_CMDSTATUS);
|
||||
|
||||
/* reset requires max 10 us delay */
|
||||
@@ -628,7 +629,8 @@ static void quirk_usb_handoff_ohci(struct pci_dev *pdev)
|
||||
break;
|
||||
udelay(1);
|
||||
}
|
||||
- writel(fminterval, base + OHCI_FMINTERVAL);
|
||||
+ if (pdev->vendor != PCI_VENDOR_ID_AL)
|
||||
+ writel(fminterval, base + OHCI_FMINTERVAL);
|
||||
|
||||
/* Now the controller is safely in SUSPEND and nothing can wake it up */
|
||||
iounmap(base);
|
||||
--
|
||||
1.7.10.4
|
||||
@@ -1,40 +0,0 @@
|
||||
You'll need to program the files created by buildroot into the flash.
|
||||
The fast way is to tftp transfer the files via one of the network interfaces.
|
||||
|
||||
Alternatively you can transfer the files via serial console with an Ymodem
|
||||
file transfer from your terminal program by using a "loady" command
|
||||
from the u-boot prompt instead of the "tftp ..." commands stated below.
|
||||
Beware that serial console file transfers are quite slow!
|
||||
|
||||
1. Program the DTB to NOR flash
|
||||
|
||||
=> tftp ${loadaddr} p2020ds.dtb
|
||||
=> erase 0xeff00000 0xeff7ffff
|
||||
=> cp.b ${loadaddr} 0xeff00000 ${filesize}
|
||||
|
||||
2. Program the kernel to NOR flash
|
||||
|
||||
=> tftp ${loadaddr} uImage
|
||||
=> erase 0xec000000 0xec3fffff
|
||||
=> cp.b ${loadaddr} 0xec000000 ${filesize}
|
||||
|
||||
3. Program the root filesystem to NOR flash
|
||||
|
||||
=> tftp ${loadaddr} rootfs.jffs2
|
||||
=> erase 0xec400000 0xeeffffff
|
||||
=> cp.b ${loadaddr} 0xec400000 ${filesize}
|
||||
|
||||
4. Booting your new system
|
||||
|
||||
=> setenv jffs2boot 'setenv bootargs root=/dev/mtdblock4 rootfstype=jffs2 rw console=ttyS0,115200;bootm ec000000 - eff00000'
|
||||
|
||||
If you want to set this boot option as default:
|
||||
|
||||
=> setenv bootcmd 'run jffs2boot'
|
||||
=> saveenv
|
||||
|
||||
...or for a single boot:
|
||||
|
||||
=> run jffs2boot
|
||||
|
||||
You can login with user "root".
|
||||
@@ -1,6 +1,6 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-ppc -M g3beige -kernel output/images/vmlinux -hda -drive file=output/images/rootfs.ext2,format=raw -append "console=ttyS0 root=/dev/hda" -serial stdio -net nic,model=rtl8139 -net user
|
||||
qemu-system-ppc -M g3beige -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "console=ttyS0 root=/dev/hda" -serial stdio -net nic,model=rtl8139 -net user
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu. The
|
||||
graphical window is the framebuffer.
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
From 96b4fb75d15be65edc5494579e4a944534042f99 Mon Sep 17 00:00:00 2001
|
||||
From: Sasha Levin <sasha.levin@oracle.com>
|
||||
Date: Mon, 13 Oct 2014 15:51:05 -0700
|
||||
Subject: [PATCH] kernel: add support for gcc 5
|
||||
|
||||
We're missing include/linux/compiler-gcc5.h which is required now
|
||||
because gcc branched off to v5 in trunk.
|
||||
|
||||
Just copy the relevant bits out of include/linux/compiler-gcc4.h,
|
||||
no new code is added as of now.
|
||||
|
||||
This fixes a build error when using gcc 5.
|
||||
|
||||
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
|
||||
Cc: <stable@vger.kernel.org>
|
||||
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
|
||||
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
||||
(cherry picked from commit 71458cfc782eafe4b27656e078d379a34e472adf)
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
include/linux/compiler-gcc5.h | 66 +++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 66 insertions(+)
|
||||
create mode 100644 include/linux/compiler-gcc5.h
|
||||
|
||||
diff --git a/include/linux/compiler-gcc5.h b/include/linux/compiler-gcc5.h
|
||||
new file mode 100644
|
||||
index 0000000..cdd1cc2
|
||||
--- /dev/null
|
||||
+++ b/include/linux/compiler-gcc5.h
|
||||
@@ -0,0 +1,66 @@
|
||||
+#ifndef __LINUX_COMPILER_H
|
||||
+#error "Please don't include <linux/compiler-gcc5.h> directly, include <linux/compiler.h> instead."
|
||||
+#endif
|
||||
+
|
||||
+#define __used __attribute__((__used__))
|
||||
+#define __must_check __attribute__((warn_unused_result))
|
||||
+#define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
|
||||
+
|
||||
+/* Mark functions as cold. gcc will assume any path leading to a call
|
||||
+ to them will be unlikely. This means a lot of manual unlikely()s
|
||||
+ are unnecessary now for any paths leading to the usual suspects
|
||||
+ like BUG(), printk(), panic() etc. [but let's keep them for now for
|
||||
+ older compilers]
|
||||
+
|
||||
+ Early snapshots of gcc 4.3 don't support this and we can't detect this
|
||||
+ in the preprocessor, but we can live with this because they're unreleased.
|
||||
+ Maketime probing would be overkill here.
|
||||
+
|
||||
+ gcc also has a __attribute__((__hot__)) to move hot functions into
|
||||
+ a special section, but I don't see any sense in this right now in
|
||||
+ the kernel context */
|
||||
+#define __cold __attribute__((__cold__))
|
||||
+
|
||||
+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
|
||||
+
|
||||
+#ifndef __CHECKER__
|
||||
+# define __compiletime_warning(message) __attribute__((warning(message)))
|
||||
+# define __compiletime_error(message) __attribute__((error(message)))
|
||||
+#endif /* __CHECKER__ */
|
||||
+
|
||||
+/*
|
||||
+ * Mark a position in code as unreachable. This can be used to
|
||||
+ * suppress control flow warnings after asm blocks that transfer
|
||||
+ * control elsewhere.
|
||||
+ *
|
||||
+ * Early snapshots of gcc 4.5 don't support this and we can't detect
|
||||
+ * this in the preprocessor, but we can live with this because they're
|
||||
+ * unreleased. Really, we need to have autoconf for the kernel.
|
||||
+ */
|
||||
+#define unreachable() __builtin_unreachable()
|
||||
+
|
||||
+/* Mark a function definition as prohibited from being cloned. */
|
||||
+#define __noclone __attribute__((__noclone__))
|
||||
+
|
||||
+/*
|
||||
+ * Tell the optimizer that something else uses this function or variable.
|
||||
+ */
|
||||
+#define __visible __attribute__((externally_visible))
|
||||
+
|
||||
+/*
|
||||
+ * GCC 'asm goto' miscompiles certain code sequences:
|
||||
+ *
|
||||
+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
|
||||
+ *
|
||||
+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
|
||||
+ * Fixed in GCC 4.8.2 and later versions.
|
||||
+ *
|
||||
+ * (asm goto is automatically volatile - the naming reflects this.)
|
||||
+ */
|
||||
+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
|
||||
+
|
||||
+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
|
||||
+#define __HAVE_BUILTIN_BSWAP32__
|
||||
+#define __HAVE_BUILTIN_BSWAP64__
|
||||
+#define __HAVE_BUILTIN_BSWAP16__
|
||||
+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
|
||||
--
|
||||
2.10.2
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
From 8ac9a3f6dbf00d861134bea3f2c930defed6311a Mon Sep 17 00:00:00 2001
|
||||
From: Behan Webster <behanw@converseincode.com>
|
||||
Date: Wed, 24 Sep 2014 01:06:46 +0100
|
||||
Subject: [PATCH] ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h
|
||||
|
||||
With compilers which follow the C99 standard (like modern versions of gcc and
|
||||
clang), "extern inline" does the wrong thing (emits code for an externally
|
||||
linkable version of the inline function). In this case using static inline
|
||||
and removing the NULL version of return_address in return_address.c does
|
||||
the right thing.
|
||||
|
||||
Signed-off-by: Behan Webster <behanw@converseincode.com>
|
||||
Reviewed-by: Mark Charlebois <charlebm@gmail.com>
|
||||
Acked-by: Steven Rostedt <rostedt@goodmis.org>
|
||||
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
||||
(cherry picked from commit aeea3592a13bf12861943e44fc48f1f270941f8d)
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
arch/arm/include/asm/ftrace.h | 2 +-
|
||||
arch/arm/kernel/return_address.c | 5 -----
|
||||
2 files changed, 1 insertion(+), 6 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h
|
||||
index f89515a..2bb8cac 100644
|
||||
--- a/arch/arm/include/asm/ftrace.h
|
||||
+++ b/arch/arm/include/asm/ftrace.h
|
||||
@@ -45,7 +45,7 @@ void *return_address(unsigned int);
|
||||
|
||||
#else
|
||||
|
||||
-extern inline void *return_address(unsigned int level)
|
||||
+static inline void *return_address(unsigned int level)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
diff --git a/arch/arm/kernel/return_address.c b/arch/arm/kernel/return_address.c
|
||||
index 2f8f523..a3b587f 100755
|
||||
--- a/arch/arm/kernel/return_address.c
|
||||
+++ b/arch/arm/kernel/return_address.c
|
||||
@@ -63,11 +63,6 @@ void *return_address(unsigned int level)
|
||||
//#warning "TODO: return_address should use unwind tables"
|
||||
//#endif
|
||||
|
||||
-void *return_address(unsigned int level)
|
||||
-{
|
||||
- return NULL;
|
||||
-}
|
||||
-
|
||||
#endif /* if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND) / else */
|
||||
|
||||
EXPORT_SYMBOL_GPL(return_address);
|
||||
--
|
||||
2.10.2
|
||||
|
||||
@@ -0,0 +1,121 @@
|
||||
From ef34609395c72a1e777ef9c3fb6ce60aa92976bb Mon Sep 17 00:00:00 2001
|
||||
From: Marco Franceschetti <vonfritz1@gmail.com>
|
||||
Date: Sun, 13 Mar 2016 09:44:54 +0100
|
||||
Subject: [PATCH] Fix compile errors with gcc5
|
||||
|
||||
(cherry picked from commit e824d45043efd49607f66c89c921b07c1523bf9e)
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
drivers/net/wireless/actions/rtl8188etv/include/ieee80211.h | 6 +++---
|
||||
drivers/net/wireless/actions/rtl8723bs/include/ieee80211.h | 6 +++---
|
||||
drivers/net/wireless/actions/rtl8723bs_vq0/include/ieee80211.h | 6 +++---
|
||||
drivers/net/wireless/actions/rtl8723bu/include/ieee80211.h | 6 +++---
|
||||
4 files changed, 12 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/actions/rtl8188etv/include/ieee80211.h b/drivers/net/wireless/actions/rtl8188etv/include/ieee80211.h
|
||||
index fc293c4..0898cd4 100755
|
||||
--- a/drivers/net/wireless/actions/rtl8188etv/include/ieee80211.h
|
||||
+++ b/drivers/net/wireless/actions/rtl8188etv/include/ieee80211.h
|
||||
@@ -1314,18 +1314,18 @@ enum ieee80211_state {
|
||||
(((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \
|
||||
(((Addr[5]) & 0xff) == 0xff))
|
||||
#else
|
||||
-extern __inline int is_multicast_mac_addr(const u8 *addr)
|
||||
+static __inline int is_multicast_mac_addr(const u8 *addr)
|
||||
{
|
||||
return ((addr[0] != 0xff) && (0x01 & addr[0]));
|
||||
}
|
||||
|
||||
-extern __inline int is_broadcast_mac_addr(const u8 *addr)
|
||||
+static __inline int is_broadcast_mac_addr(const u8 *addr)
|
||||
{
|
||||
return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \
|
||||
(addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff));
|
||||
}
|
||||
|
||||
-extern __inline int is_zero_mac_addr(const u8 *addr)
|
||||
+static __inline int is_zero_mac_addr(const u8 *addr)
|
||||
{
|
||||
return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && \
|
||||
(addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00));
|
||||
diff --git a/drivers/net/wireless/actions/rtl8723bs/include/ieee80211.h b/drivers/net/wireless/actions/rtl8723bs/include/ieee80211.h
|
||||
index 09475ef..56e0f5a 100755
|
||||
--- a/drivers/net/wireless/actions/rtl8723bs/include/ieee80211.h
|
||||
+++ b/drivers/net/wireless/actions/rtl8723bs/include/ieee80211.h
|
||||
@@ -1318,18 +1318,18 @@ enum ieee80211_state {
|
||||
(((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \
|
||||
(((Addr[5]) & 0xff) == 0xff))
|
||||
#else
|
||||
-extern __inline int is_multicast_mac_addr(const u8 *addr)
|
||||
+static __inline int is_multicast_mac_addr(const u8 *addr)
|
||||
{
|
||||
return ((addr[0] != 0xff) && (0x01 & addr[0]));
|
||||
}
|
||||
|
||||
-extern __inline int is_broadcast_mac_addr(const u8 *addr)
|
||||
+static __inline int is_broadcast_mac_addr(const u8 *addr)
|
||||
{
|
||||
return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \
|
||||
(addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff));
|
||||
}
|
||||
|
||||
-extern __inline int is_zero_mac_addr(const u8 *addr)
|
||||
+static __inline int is_zero_mac_addr(const u8 *addr)
|
||||
{
|
||||
return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && \
|
||||
(addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00));
|
||||
diff --git a/drivers/net/wireless/actions/rtl8723bs_vq0/include/ieee80211.h b/drivers/net/wireless/actions/rtl8723bs_vq0/include/ieee80211.h
|
||||
index 5dfc421..95144b6 100755
|
||||
--- a/drivers/net/wireless/actions/rtl8723bs_vq0/include/ieee80211.h
|
||||
+++ b/drivers/net/wireless/actions/rtl8723bs_vq0/include/ieee80211.h
|
||||
@@ -1314,18 +1314,18 @@ enum ieee80211_state {
|
||||
(((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \
|
||||
(((Addr[5]) & 0xff) == 0xff))
|
||||
#else
|
||||
-extern __inline int is_multicast_mac_addr(const u8 *addr)
|
||||
+static __inline int is_multicast_mac_addr(const u8 *addr)
|
||||
{
|
||||
return ((addr[0] != 0xff) && (0x01 & addr[0]));
|
||||
}
|
||||
|
||||
-extern __inline int is_broadcast_mac_addr(const u8 *addr)
|
||||
+static __inline int is_broadcast_mac_addr(const u8 *addr)
|
||||
{
|
||||
return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \
|
||||
(addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff));
|
||||
}
|
||||
|
||||
-extern __inline int is_zero_mac_addr(const u8 *addr)
|
||||
+static __inline int is_zero_mac_addr(const u8 *addr)
|
||||
{
|
||||
return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && \
|
||||
(addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00));
|
||||
diff --git a/drivers/net/wireless/actions/rtl8723bu/include/ieee80211.h b/drivers/net/wireless/actions/rtl8723bu/include/ieee80211.h
|
||||
index 09475ef..56e0f5a 100755
|
||||
--- a/drivers/net/wireless/actions/rtl8723bu/include/ieee80211.h
|
||||
+++ b/drivers/net/wireless/actions/rtl8723bu/include/ieee80211.h
|
||||
@@ -1318,18 +1318,18 @@ enum ieee80211_state {
|
||||
(((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \
|
||||
(((Addr[5]) & 0xff) == 0xff))
|
||||
#else
|
||||
-extern __inline int is_multicast_mac_addr(const u8 *addr)
|
||||
+static __inline int is_multicast_mac_addr(const u8 *addr)
|
||||
{
|
||||
return ((addr[0] != 0xff) && (0x01 & addr[0]));
|
||||
}
|
||||
|
||||
-extern __inline int is_broadcast_mac_addr(const u8 *addr)
|
||||
+static __inline int is_broadcast_mac_addr(const u8 *addr)
|
||||
{
|
||||
return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \
|
||||
(addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff));
|
||||
}
|
||||
|
||||
-extern __inline int is_zero_mac_addr(const u8 *addr)
|
||||
+static __inline int is_zero_mac_addr(const u8 *addr)
|
||||
{
|
||||
return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && \
|
||||
(addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00));
|
||||
--
|
||||
2.10.2
|
||||
|
||||
@@ -11,7 +11,7 @@ config BR2_TARGET_BOOT_WRAPPER_AARCH64
|
||||
possible to start an Aarch64 kernel inside the available
|
||||
software simulators for the Aarch64 architecture.
|
||||
|
||||
git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/boot-wrapper-aarch64.git
|
||||
git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git
|
||||
|
||||
if BR2_TARGET_BOOT_WRAPPER_AARCH64
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
################################################################################
|
||||
|
||||
BOOT_WRAPPER_AARCH64_VERSION = 4266507a84f8c06452109d38e0350d4759740694
|
||||
BOOT_WRAPPER_AARCH64_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/boot-wrapper-aarch64.git
|
||||
BOOT_WRAPPER_AARCH64_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git
|
||||
BOOT_WRAPPER_AARCH64_LICENSE = BSD3c
|
||||
BOOT_WRAPPER_AARCH64_LICENSE_FILES = LICENSE.txt
|
||||
BOOT_WRAPPER_AARCH64_DEPENDENCIES = linux
|
||||
|
||||
@@ -13,7 +13,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.22"
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.30"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/armadeus/apf28/linux-4.4.config"
|
||||
BR2_LINUX_KERNEL_UIMAGE=y
|
||||
|
||||
@@ -3,7 +3,7 @@ BR2_arm=y
|
||||
BR2_cortex_a8=y
|
||||
|
||||
# Linux headers same as kernel, a 3.12 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_12=y
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y
|
||||
|
||||
# System
|
||||
BR2_TARGET_GENERIC_HOSTNAME="apf51"
|
||||
@@ -13,9 +13,9 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc2"
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.12.6"
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.30"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/armadeus/apf51/linux-3.12.config"
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/armadeus/apf51/linux-4.4.config"
|
||||
BR2_LINUX_KERNEL_UIMAGE=y
|
||||
BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x90008000"
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
|
||||
@@ -2,26 +2,32 @@
|
||||
BR2_arm=y
|
||||
BR2_arm926t=y
|
||||
|
||||
# Linux headers same as kernel, a 3.9 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_9=y
|
||||
# Linux headers same as kernel, a 4.8 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8=y
|
||||
|
||||
# Packages
|
||||
BR2_PACKAGE_HOST_SAM_BA=y
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.6"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="at91_dt"
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91sam9260ek"
|
||||
|
||||
# Filesystem
|
||||
BR2_TARGET_ROOTFS_UBIFS=y
|
||||
BR2_TARGET_ROOTFS_UBI=y
|
||||
|
||||
# Bootloaders
|
||||
BR2_TARGET_AT91BOOTSTRAP=y
|
||||
BR2_TARGET_AT91BOOTSTRAP_BOARD="at91sam9260ek"
|
||||
BR2_TARGET_AT91BOOTSTRAP_NANDFLASH=y
|
||||
BR2_TARGET_BAREBOX=y
|
||||
BR2_TARGET_BAREBOX_BOARD_DEFCONFIG="at91sam9260ek"
|
||||
BR2_TARGET_AT91BOOTSTRAP3=y
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.7"
|
||||
BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9260eknf_uboot"
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01"
|
||||
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="at91sam9260ek_nandflash"
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.9.1"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/atmel/at91sam9260ek/linux-3.9.config"
|
||||
# Host packages
|
||||
BR2_PACKAGE_HOST_SAM_BA=y
|
||||
|
||||
@@ -2,28 +2,31 @@
|
||||
BR2_arm=y
|
||||
BR2_arm926t=y
|
||||
|
||||
# Linux headers same as kernel, a 3.1 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_1=y
|
||||
|
||||
# Host utilities
|
||||
#
|
||||
BR2_PACKAGE_HOST_SAM_BA=y
|
||||
|
||||
# First stage bootloader
|
||||
BR2_TARGET_AT91BOOTSTRAP=y
|
||||
BR2_TARGET_AT91BOOTSTRAP_BOARD="at91sam9g20ek"
|
||||
BR2_TARGET_AT91BOOTSTRAP_DATAFLASHCARD=y
|
||||
|
||||
# Second stage bootloader
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BOARDNAME="at91sam9g20ek_nandflash"
|
||||
# Linux headers same as kernel, a 4.8 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8=y
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.1.6"
|
||||
BR2_LINUX_KERNEL_USE_DEFCONFIG=y
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="at91sam9g20ek"
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.6"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="at91_dt"
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91sam9g20ek"
|
||||
|
||||
# Filesystem
|
||||
BR2_TARGET_ROOTFS_TAR=y
|
||||
|
||||
# Bootloaders
|
||||
BR2_TARGET_AT91BOOTSTRAP3=y
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.7"
|
||||
BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9g20eknf_uboot"
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01"
|
||||
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="at91sam9g20ek_nandflash"
|
||||
|
||||
# Host packages
|
||||
BR2_PACKAGE_HOST_SAM_BA=y
|
||||
|
||||
@@ -1,22 +1,34 @@
|
||||
# Architecture
|
||||
BR2_arm=y
|
||||
BR2_arm926t=y
|
||||
# Linux headers same as kernel, a 3.18 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y
|
||||
|
||||
# Linux headers same as kernel, a 4.8 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8=y
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_GIT=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git"
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="03329ca4cf6b94acc5c65b59b2d1f90fdeee0887"
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.6"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="at91_dt"
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91sam9m10g45ek"
|
||||
|
||||
# Filesystem
|
||||
BR2_TARGET_ROOTFS_UBIFS=y
|
||||
BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=2047
|
||||
BR2_TARGET_ROOTFS_UBI=y
|
||||
|
||||
# Bootloaders
|
||||
BR2_TARGET_AT91BOOTSTRAP3=y
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.7"
|
||||
BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9m10g45eknf_uboot"
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BOARDNAME="at91sam9m10g45ek_nandflash"
|
||||
BR2_TARGET_UBOOT_CUSTOM_GIT=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git"
|
||||
BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="677f3c2340b72131beebace8e96cac17b9569887"
|
||||
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01"
|
||||
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="at91sam9m10g45ek_nandflash"
|
||||
|
||||
# Host packages
|
||||
BR2_PACKAGE_HOST_SAM_BA=y
|
||||
|
||||
@@ -1,22 +1,34 @@
|
||||
# Architecture
|
||||
BR2_arm=y
|
||||
BR2_arm926t=y
|
||||
# Linux headers same as kernel, a 3.18 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y
|
||||
|
||||
# Linux headers same as kernel, a 4.8 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8=y
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_GIT=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git"
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="03329ca4cf6b94acc5c65b59b2d1f90fdeee0887"
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.6"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="at91_dt"
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91sam9rlek"
|
||||
|
||||
# Filesystem
|
||||
BR2_TARGET_ROOTFS_UBIFS=y
|
||||
BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=2047
|
||||
BR2_TARGET_ROOTFS_UBI=y
|
||||
|
||||
# Bootloaders
|
||||
BR2_TARGET_AT91BOOTSTRAP3=y
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.7"
|
||||
BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9rleknf_uboot"
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BOARDNAME="at91sam9rlek_nandflash"
|
||||
BR2_TARGET_UBOOT_CUSTOM_GIT=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git"
|
||||
BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="677f3c2340b72131beebace8e96cac17b9569887"
|
||||
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01"
|
||||
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="at91sam9rlek_nandflash"
|
||||
|
||||
# Host packages
|
||||
BR2_PACKAGE_HOST_SAM_BA=y
|
||||
|
||||
@@ -1,26 +1,40 @@
|
||||
# Architecture
|
||||
BR2_arm=y
|
||||
BR2_cortex_a5=y
|
||||
BR2_ARM_ENABLE_VFP=y
|
||||
BR2_ARM_INSTRUCTIONS_THUMB2=y
|
||||
# Linux headers same as kernel, a 3.18 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y
|
||||
|
||||
# Toolchain
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_GIT=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git"
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="03329ca4cf6b94acc5c65b59b2d1f90fdeee0887"
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.5"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="sama5"
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="sama5d31ek sama5d31ek_pda4 sama5d31ek_pda7 sama5d31ek_revc sama5d31ek_revc_pda4 sama5d31ek_revc_pda7 sama5d33ek sama5d33ek_pda4 sama5d33ek_pda7 sama5d33ek_revc sama5d33ek_revc_pda4 sama5d33ek_revc_pda7 sama5d34ek sama5d34ek_pda4 sama5d34ek_pda7 sama5d34ek_revc sama5d34ek_revc_pda4 sama5d34ek_revc_pda7 sama5d35ek sama5d35ek_revc sama5d36ek sama5d36ek_pda4 sama5d36ek_pda7 sama5d36ek_revc sama5d36ek_revc_pda4 sama5d36ek_revc_pda7"
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="sama5d31ek sama5d33ek sama5d34ek sama5d35ek sama5d36ek"
|
||||
|
||||
# Filesystem
|
||||
BR2_TARGET_ROOTFS_UBIFS=y
|
||||
BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x1f000
|
||||
BR2_TARGET_ROOTFS_UBI=y
|
||||
BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048
|
||||
|
||||
# Bootloaders
|
||||
BR2_TARGET_AT91BOOTSTRAP3=y
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.7"
|
||||
BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3xeknf_uboot"
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BOARDNAME="sama5d3xek_nandflash"
|
||||
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_GIT=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git"
|
||||
BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="677f3c2340b72131beebace8e96cac17b9569887"
|
||||
BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.5"
|
||||
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d3xek_nandflash"
|
||||
BR2_TARGET_UBOOT_SPL=y
|
||||
|
||||
# Host packages
|
||||
BR2_PACKAGE_HOST_SAM_BA=y
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
BR2_arm=y
|
||||
BR2_cortex_a5=y
|
||||
BR2_ARM_ENABLE_NEON=y
|
||||
BR2_ARM_ENABLE_VFP=y
|
||||
BR2_ARM_INSTRUCTIONS_THUMB2=y
|
||||
# Linux headers same as kernel, a 3.18 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_GIT=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git"
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="03329ca4cf6b94acc5c65b59b2d1f90fdeee0887"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="sama5"
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4ek"
|
||||
BR2_TARGET_ROOTFS_UBIFS=y
|
||||
BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x3e000
|
||||
BR2_TARGET_ROOTFS_UBIFS_MINIOSIZE=0x1000
|
||||
BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=2082
|
||||
BR2_TARGET_ROOTFS_UBI=y
|
||||
BR2_TARGET_ROOTFS_UBI_PEBSIZE=0x40000
|
||||
BR2_TARGET_ROOTFS_UBI_SUBSIZE=0
|
||||
BR2_TARGET_AT91BOOTSTRAP3=y
|
||||
BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d4eknf_uboot_secure"
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BOARDNAME="sama5d4ek_nandflash"
|
||||
BR2_TARGET_UBOOT_CUSTOM_GIT=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git"
|
||||
BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="677f3c2340b72131beebace8e96cac17b9569887"
|
||||
BR2_TARGET_UBOOT_SPL=y
|
||||
BR2_PACKAGE_HOST_SAM_BA=y
|
||||
@@ -1,20 +0,0 @@
|
||||
BR2_arm=y
|
||||
BR2_arm926t=y
|
||||
BR2_GLOBAL_PATCH_DIR="board/calao/qil-a9260/patches"
|
||||
BR2_TARGET_GENERIC_GETTY_PORT="ttyS1"
|
||||
# Linux headers same as kernel, a 3.4 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_4=y
|
||||
BR2_PACKAGE_HOST_SAM_BA=y
|
||||
BR2_TARGET_ROOTFS_UBIFS=y
|
||||
BR2_TARGET_AT91BOOTSTRAP=y
|
||||
BR2_TARGET_AT91BOOTSTRAP_BOARD="qil_a9260"
|
||||
BR2_TARGET_AT91BOOTSTRAP_NANDFLASH=y
|
||||
BR2_TARGET_BAREBOX=y
|
||||
BR2_TARGET_BAREBOX_CUSTOM_VERSION=y
|
||||
BR2_TARGET_BAREBOX_CUSTOM_VERSION_VALUE="2012.08.0"
|
||||
BR2_TARGET_BAREBOX_BOARD_DEFCONFIG="qil_a9260"
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.4.7"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/calao/qil-a9260/linux-3.4.7.config"
|
||||
@@ -1,29 +0,0 @@
|
||||
# architecture
|
||||
BR2_arm=y
|
||||
BR2_arm926t=y
|
||||
|
||||
# system
|
||||
BR2_PACKAGE_HOST_SAM_BA=y
|
||||
|
||||
# filesystem
|
||||
BR2_TARGET_ROOTFS_UBIFS=y
|
||||
|
||||
# Linux headers same as kernel, a 3.9 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_9=y
|
||||
|
||||
# bootloaders
|
||||
BR2_TARGET_AT91BOOTSTRAP=y
|
||||
BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR="board/calao/tny-a9g20-lpw"
|
||||
BR2_TARGET_AT91BOOTSTRAP_BOARD="tny_a9g20_lpw"
|
||||
BR2_TARGET_AT91BOOTSTRAP_NANDFLASH=y
|
||||
BR2_TARGET_BAREBOX=y
|
||||
BR2_TARGET_BAREBOX_BOARD_DEFCONFIG="tny_a9g20"
|
||||
|
||||
# linux
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.9.4"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/calao/tny-a9g20-lpw/linux-3.9.config"
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="tny_a9g20"
|
||||
@@ -1,18 +0,0 @@
|
||||
BR2_arm=y
|
||||
BR2_arm926t=y
|
||||
# Linux headers same as kernel, a 3.10 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y
|
||||
BR2_PACKAGE_MTD=y
|
||||
BR2_PACKAGE_HOST_SAM_BA=y
|
||||
BR2_TARGET_ROOTFS_UBIFS=y
|
||||
BR2_TARGET_AT91BOOTSTRAP=y
|
||||
BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR="board/calao/usb-a9260"
|
||||
BR2_TARGET_AT91BOOTSTRAP_BOARD="usb_a9260"
|
||||
BR2_TARGET_AT91BOOTSTRAP_NANDFLASH=y
|
||||
BR2_TARGET_BAREBOX=y
|
||||
BR2_TARGET_BAREBOX_BOARD_DEFCONFIG="usb_a9260"
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.10.10"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/calao/usb-a9260/linux-3.7.4.config"
|
||||
@@ -1,17 +0,0 @@
|
||||
BR2_arm=y
|
||||
BR2_arm926t=y
|
||||
# Linux headers same as kernel, a 3.10 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y
|
||||
BR2_PACKAGE_HOST_SAM_BA=y
|
||||
BR2_TARGET_ROOTFS_UBIFS=y
|
||||
BR2_TARGET_AT91BOOTSTRAP=y
|
||||
BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR="board/calao/usb-a9263"
|
||||
BR2_TARGET_AT91BOOTSTRAP_BOARD="usb_a9263"
|
||||
BR2_TARGET_AT91BOOTSTRAP_NANDFLASH=y
|
||||
BR2_TARGET_BAREBOX=y
|
||||
BR2_TARGET_BAREBOX_BOARD_DEFCONFIG="usb_a9263"
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.10.10"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/calao/usb-a9263/linux-3.4.4.config"
|
||||
@@ -1,17 +0,0 @@
|
||||
BR2_arm=y
|
||||
BR2_arm926t=y
|
||||
# Linux headers same as kernel, a 3.10 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y
|
||||
BR2_GLOBAL_PATCH_DIR="board/calao/usb-a9g20-lpw/patches"
|
||||
BR2_PACKAGE_HOST_SAM_BA=y
|
||||
BR2_TARGET_ROOTFS_UBIFS=y
|
||||
BR2_TARGET_AT91BOOTSTRAP=y
|
||||
BR2_TARGET_AT91BOOTSTRAP_BOARD="usb_a9g20_lpw"
|
||||
BR2_TARGET_AT91BOOTSTRAP_NANDFLASH=y
|
||||
BR2_TARGET_BAREBOX=y
|
||||
BR2_TARGET_BAREBOX_BOARD_DEFCONFIG="usb_a9g20"
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.10.10"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/calao/usb-a9g20-lpw/linux-3.4.4.config"
|
||||
@@ -1,6 +1,6 @@
|
||||
# architecture
|
||||
BR2_mipsel=y
|
||||
BR2_mips_32r2=y
|
||||
BR2_mips_xburst=y
|
||||
# BR2_MIPS_SOFT_FLOAT is not set
|
||||
|
||||
# Linux headers same as kernel, a 3.18 series
|
||||
|
||||
@@ -11,7 +11,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
|
||||
# kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.4"
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.8"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="mxs"
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx28-evk"
|
||||
|
||||
@@ -3,18 +3,18 @@ BR2_arm=y
|
||||
BR2_arm1136jf_s=y
|
||||
BR2_ARM_EABIHF=y
|
||||
|
||||
# Linux headers same as kernel, a 3.15 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_15=y
|
||||
# Linux headers same as kernel, a 4.1 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y
|
||||
|
||||
# system
|
||||
BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"
|
||||
|
||||
# kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
# Note: sadly the Linux kernel will not boot on the i.MX31 PDK, starting with
|
||||
# v3.16 and at least up to v4.0-rc4; this is why we use v3.15.y here.
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.15.10"
|
||||
BR2_LINUX_KERNEL_CUSTOM_GIT=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.freescale.com/imx/linux-imx.git"
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_4.1.15_2.0.0_ga"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7"
|
||||
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/freescale/imx31_3stack/linux.fragment"
|
||||
BR2_TARGET_ROOTFS_CPIO_GZIP=y
|
||||
BR2_TARGET_ROOTFS_INITRAMFS=y
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
# Architecture
|
||||
BR2_powerpc=y
|
||||
BR2_powerpc_8548=y
|
||||
|
||||
# Filesystem
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
BR2_TARGET_ROOTFS_JFFS2=y
|
||||
|
||||
# Linux headers same as kernel, a 3.12 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_12=y
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="http://git.freescale.com/git/cgit.cgi/ppc/sdk/linux.git/snapshot/fsl-sdk-v1.6.tar.bz2"
|
||||
BR2_LINUX_KERNEL_PATCH="board/freescale/p2020ds/linux-fix-c6187597-breakage.patch"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/freescale/p2020ds/linux-3.12.config"
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="p2020ds"
|
||||
|
||||
# Serial port config
|
||||
BR2_TARGET_GENERIC_GETTY=y
|
||||
BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
|
||||
@@ -17,7 +17,7 @@ BR2_GLOBAL_PATCH_DIR="board/technexion/imx6ulpico/patches"
|
||||
# kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8"
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.11"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7"
|
||||
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/technexion/imx6ulpico/linux.fragment"
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
# Architecture
|
||||
BR2_arm=y
|
||||
BR2_arm920t=y
|
||||
|
||||
# Filesystem
|
||||
BR2_TARGET_ROOTFS_TAR=y
|
||||
|
||||
# Linux headers same as kernel, a 2.6 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_REALLY_OLD=y
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.38.8"
|
||||
BR2_LINUX_KERNEL_PATCH="http://maxim.org.za/AT91RM9200/2.6/2.6.38-at91.patch.gz"
|
||||
BR2_LINUX_KERNEL_USE_DEFCONFIG=y
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="kb9202"
|
||||
@@ -1,34 +0,0 @@
|
||||
# Architecture
|
||||
BR2_arm=y
|
||||
BR2_arm920t=y
|
||||
|
||||
# Serial port
|
||||
BR2_TARGET_GENERIC_GETTY=y
|
||||
BR2_TARGET_GENERIC_GETTY_PORT="ttySAC0"
|
||||
|
||||
# Filesystem
|
||||
BR2_TARGET_ROOTFS_JFFS2=y
|
||||
BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_128K=y
|
||||
BR2_TARGET_ROOTFS_JFFS2_PAGESIZE=0x800
|
||||
BR2_TARGET_ROOTFS_JFFS2_EBSIZE=0x20000
|
||||
BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER=y
|
||||
BR2_TARGET_ROOTFS_JFFS2_LE=y
|
||||
BR2_TARGET_ROOTFS_TAR=y
|
||||
|
||||
# Linux headers same as kernel, a 3.0 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_0=y
|
||||
|
||||
# Bootloader
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BOARDNAME="mini2440"
|
||||
BR2_TARGET_UBOOT_CUSTOM_TARBALL=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="http://repo.or.cz/w/u-boot-openmoko/mini2440.git/snapshot/dev-mini2440-stable.tar.gz"
|
||||
|
||||
#
|
||||
# Kernel
|
||||
#
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.0.4"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="mini2440"
|
||||
BR2_LINUX_KERNEL_UIMAGE=y
|
||||
@@ -15,7 +15,7 @@ BR2_TARGET_UBOOT_SPL=y
|
||||
BR2_TARGET_UBOOT_SPL_NAME="SPL"
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8"
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.11"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7"
|
||||
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/udoo/linux.fragment"
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
|
||||
@@ -11,11 +11,10 @@ BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the NanoPi NEO"
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT="board/nanopi-neo/post-build.sh"
|
||||
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/nanopi-neo/post-image.sh"
|
||||
|
||||
# Use a special kernel tree until all support finally lands upstream
|
||||
# Use a -rc kernel to get the DTS
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_GIT=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/yann-morin-1998/linux"
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="4.9-rc3-sunxi-next-2016-11-02"
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9-rc3"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-nanopi-neo"
|
||||
|
||||
@@ -25,7 +25,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BOARDNAME="A20-OLinuXino-Lime2"
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2015.01"
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.05"
|
||||
BR2_TARGET_UBOOT_SPL=y
|
||||
BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"
|
||||
BR2_PACKAGE_HOST_GENIMAGE=y
|
||||
|
||||
@@ -32,9 +32,10 @@ BR2_TARGET_ROOTFS_EXT2_4=y
|
||||
|
||||
# Bootloaders
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BOARDNAME="A20-OLinuXino-Lime"
|
||||
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01"
|
||||
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A20-OLinuXino-Lime"
|
||||
BR2_TARGET_UBOOT_NEEDS_DTC=y
|
||||
BR2_TARGET_UBOOT_FORMAT_BIN=y
|
||||
BR2_TARGET_UBOOT_SPL=y
|
||||
|
||||
@@ -17,8 +17,10 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="board/olimex/a20_olinuxino/boot-mali.cmd $(TARGET_D
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux-sunxi,linux-sunxi,sunxi-v3.4.103-r1)/sunxi-v3.4.103-r1.tar.gz"
|
||||
BR2_LINUX_KERNEL_CUSTOM_GIT=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/dan-and/linux-sunxi.git"
|
||||
# based on Linux version 3.4.113
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="dbabbacbbf8984dea0a8c893b38b376a6ecbb3c1"
|
||||
BR2_LINUX_KERNEL_USE_DEFCONFIG=y
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="sun7i"
|
||||
BR2_LINUX_KERNEL_INSTALL_TARGET=y
|
||||
@@ -37,9 +39,11 @@ BR2_TARGET_ROOTFS_EXT2_4=y
|
||||
|
||||
# Bootloaders
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BOARDNAME="A20-OLinuXino-Lime"
|
||||
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2015.01"
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01"
|
||||
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A20-OLinuXino-Lime"
|
||||
BR2_TARGET_UBOOT_NEEDS_DTC=y
|
||||
BR2_TARGET_UBOOT_FORMAT_BIN=y
|
||||
BR2_TARGET_UBOOT_SPL=y
|
||||
BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
BR2_arm=y
|
||||
BR2_cortex_a9=y
|
||||
# Linux headers same as kernel, a 3.14 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_14=y
|
||||
BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1"
|
||||
|
||||
# Notice you need a recent version of u-boot (with DT support) to be able
|
||||
# to boot this kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_GIT=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://git.congatec.com/arm/imx6_kernel_3.14.git"
|
||||
# Last version of branch cgt_qmx6_3.14.28_1.0.0
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="105820d6bd251deb49c3dd3f71fa0d76adce97c7"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="qmx6"
|
||||
BR2_LINUX_KERNEL_UIMAGE=y
|
||||
BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000"
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-qmx6"
|
||||
BR2_LINUX_KERNEL_INSTALL_TARGET=y
|
||||
|
||||
# Change boardname depending of your product number
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BOARDNAME="cgt_qmx6_pn016103"
|
||||
BR2_TARGET_UBOOT_CUSTOM_GIT=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://git.congatec.com/arm/qmx6_uboot.git"
|
||||
BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="4d3b64e93064ed3d97ef7d91ff0f61a693a460fc"
|
||||
BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
|
||||
BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.pn016103.imx"
|
||||
|
||||
BR2_TARGET_ROOTFS_EXT2=y
|
||||
BR2_TARGET_ROOTFS_EXT2_3=y
|
||||
|
||||
BR2_PACKAGE_HOST_UBOOT_TOOLS=y
|
||||
@@ -1,12 +1,10 @@
|
||||
BR2_aarch64=y
|
||||
# Linux headers same as kernel, a 3.18 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_6=y
|
||||
BR2_TARGET_GENERIC_HOSTNAME="vdk-buildroot"
|
||||
BR2_TARGET_GENERIC_ISSUE="Welcome to SNPS VDK by Buildroot"
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_GIT=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://git.linaro.org/kernel/linux-linaro-tracking.git"
|
||||
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux-linaro-3.18-2014.12"
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.6"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/synopsys/vdk/linux-vdk-aarch64-defconfig"
|
||||
BR2_TARGET_ROOTFS_EXT2=y
|
||||
|
||||
@@ -8,19 +8,19 @@ BR2_TARGET_ROOTFS_INITRAMFS=y
|
||||
BR2_SYSTEM_DHCP="eth0"
|
||||
BR2_ROOTFS_OVERLAY="board/synopsys/axs10x/fs-overlay"
|
||||
|
||||
# Linux headers same as kernel, a 4.7 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_7=y
|
||||
# Linux headers same as kernel, a 4.8 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8=y
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.7"
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.6"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="axs101"
|
||||
|
||||
# Bootloader
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.07"
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.11"
|
||||
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="axs101"
|
||||
BR2_TARGET_UBOOT_NEEDS_DTC=y
|
||||
|
||||
@@ -9,19 +9,19 @@ BR2_TARGET_ROOTFS_INITRAMFS=y
|
||||
BR2_SYSTEM_DHCP="eth0"
|
||||
BR2_ROOTFS_OVERLAY="board/synopsys/axs10x/fs-overlay"
|
||||
|
||||
# Linux headers same as kernel, a 4.7 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_7=y
|
||||
# Linux headers same as kernel, a 4.8 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8=y
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.7"
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.6"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="axs103_smp"
|
||||
|
||||
# Bootloader
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.07"
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.11"
|
||||
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="axs103"
|
||||
BR2_TARGET_UBOOT_NEEDS_DTC=y
|
||||
|
||||
@@ -8,12 +8,12 @@ BR2_TARGET_GENERIC_ISSUE="Welcome to the HS38 VDK Software Development Platform"
|
||||
BR2_ROOTFS_OVERLAY="board/synopsys/axs10x/fs-overlay"
|
||||
BR2_TARGET_ROOTFS_EXT2=y
|
||||
|
||||
# Linux headers same as kernel, a 4.7 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_7=y
|
||||
# Linux headers same as kernel, a 4.8 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8=y
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.7"
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.6"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="vdk_hs38_smp"
|
||||
BR2_LINUX_KERNEL_VMLINUX=y
|
||||
|
||||
@@ -217,8 +217,8 @@ illustration, of course):
|
||||
| `----
|
||||
|
|
||||
|- Config.in
|
||||
| |source "$BR2_EXTERNAL_BAR_42_DIR/package/pkg-1/Config.in
|
||||
| |source "$BR2_EXTERNAL_BAR_42_DIR/package/pkg-2/Config.in
|
||||
| |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-1/Config.in"
|
||||
| |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-2/Config.in"
|
||||
| |
|
||||
| |config BAR_42_FLASH_ADDR
|
||||
| | hex "my-board flash address"
|
||||
@@ -229,7 +229,7 @@ illustration, of course):
|
||||
| |include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk))
|
||||
| |
|
||||
| |flash-my-board:
|
||||
| | $(BR2_EXTERNAL_BAR_42_DIR)/board/my-board/flash-image \
|
||||
| | $(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/flash-image \
|
||||
| | --image $(BINARIES_DIR)/image.bin \
|
||||
| | --address $(BAR_42_FLASH_ADDR)
|
||||
| `----
|
||||
|
||||
@@ -42,37 +42,37 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3 style="text-align: center;">Latest release candidate: <b>2016.11-rc1</b></h3>
|
||||
<h3 style="text-align: center;">Latest release candidate: <b>2016.11-rc3</b></h3>
|
||||
<div class="row mt centered">
|
||||
<div class="col-sm-6">
|
||||
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
|
||||
<div class="flipper">
|
||||
<div class="front">
|
||||
<a href="/downloads/buildroot-2016.11-rc1.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2016.11-rc3.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
</div>
|
||||
<div class="back">
|
||||
<a href="/downloads/buildroot-2016.11-rc1.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2016.11-rc3.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3><a href="/downloads/buildroot-2016.11-rc1.tar.gz">buildroot-2016.11-rc1.tar.gz</a></h3>
|
||||
<p><a href="/downloads/buildroot-2016.11-rc1.tar.gz.sign">PGP signature</a></p>
|
||||
<h3><a href="/downloads/buildroot-2016.11-rc3.tar.gz">buildroot-2016.11-rc3.tar.gz</a></h3>
|
||||
<p><a href="/downloads/buildroot-2016.11-rc3.tar.gz.sign">PGP signature</a></p>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
|
||||
<div class="flipper">
|
||||
<div class="front">
|
||||
<a href="/downloads/buildroot-2016.11-rc1.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2016.11-rc3.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
|
||||
</div>
|
||||
<div class="back">
|
||||
<a href="/downloads/buildroot-2016.11-rc1.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2016.11-rc3.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3><a href="/downloads/buildroot-2016.11-rc1.tar.bz2">buildroot-2016.11-rc1.tar.bz2</a></h3>
|
||||
<p><a href="/downloads/buildroot-2016.11-rc1.tar.bz2.sign">PGP signature</a></p>
|
||||
<h3><a href="/downloads/buildroot-2016.11-rc3.tar.bz2">buildroot-2016.11-rc3.tar.bz2</a></h3>
|
||||
<p><a href="/downloads/buildroot-2016.11-rc3.tar.bz2.sign">PGP signature</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -9,6 +9,52 @@
|
||||
<h2>News</h2>
|
||||
<ul class="timeline">
|
||||
|
||||
<li class="timeline-inverted">
|
||||
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
|
||||
<div class="timeline-panel">
|
||||
<div class="timeline-heading">
|
||||
<h4 class="timeline-title">2016.11-rc3 released</h4>
|
||||
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>28 November 2016</small></p>
|
||||
</div>
|
||||
<div class="timeline-body">
|
||||
<p>Release candidate 3 is out with more cleanups and security
|
||||
/ build fixes. See
|
||||
the <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2016.11-rc3">CHANGES</a>
|
||||
file for details.</p>
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to
|
||||
pick up
|
||||
the <a href="/downloads/buildroot-2016.11-rc3.tar.bz2">2016.11-rc3
|
||||
release candidate</a>, and report any problems found to
|
||||
the <a href="support.html">mailing list</a>
|
||||
or <a href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
|
||||
<div class="timeline-panel">
|
||||
<div class="timeline-heading">
|
||||
<h4 class="timeline-title">2016.11-rc2 released</h4>
|
||||
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>13 November 2016</small></p>
|
||||
</div>
|
||||
<div class="timeline-body">
|
||||
<p>We have a new release candidate! Lots of
|
||||
changes all over the tree, see
|
||||
the <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2016.11-rc2">CHANGES</a>
|
||||
file for details.
|
||||
</p>
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2016.11-rc2.tar.bz2">2016.11-rc2
|
||||
release candidate</a>, and report any
|
||||
problems found to the
|
||||
<a href="support.html">mailing list</a> or
|
||||
<a href="https://bugs.buildroot.org">bug tracker</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="timeline-inverted">
|
||||
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
|
||||
<div class="timeline-panel">
|
||||
@@ -20,7 +66,8 @@
|
||||
<p>We have a new release candidate! Lots of
|
||||
changes all over the tree, see
|
||||
the <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2016.11-rc1">CHANGES</a>
|
||||
file for details.
|
||||
file for details, read the
|
||||
<a href="http://lists.busybox.net/pipermail/buildroot/2016-November/176453.html">announcement</a>.
|
||||
</p>
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
|
||||
@@ -43,7 +43,7 @@ ROOTFS_USERS_TABLES = $(call qstrip,$(BR2_ROOTFS_USERS_TABLES))
|
||||
define ROOTFS_TARGET_INTERNAL
|
||||
|
||||
# extra deps
|
||||
ROOTFS_$(2)_DEPENDENCIES += host-pseudo host-makedevs \
|
||||
ROOTFS_$(2)_DEPENDENCIES += host-fakeroot host-makedevs \
|
||||
$$(if $$(PACKAGES_USERS)$$(ROOTFS_USERS_TABLES),host-mkpasswd)
|
||||
|
||||
ifeq ($$(BR2_TARGET_ROOTFS_$(2)_GZIP),y)
|
||||
@@ -97,7 +97,7 @@ endif
|
||||
echo $$(s) $$(TARGET_DIR) $$(BR2_ROOTFS_POST_SCRIPT_ARGS) >> $$(FAKEROOT_SCRIPT)$$(sep))
|
||||
$$(call PRINTF,$$(ROOTFS_$(2)_CMD)) >> $$(FAKEROOT_SCRIPT)
|
||||
chmod a+x $$(FAKEROOT_SCRIPT)
|
||||
PATH=$$(BR_PATH) $$(HOST_DIR)/usr/bin/pseudo -- $$(FAKEROOT_SCRIPT)
|
||||
PATH=$$(BR_PATH) $$(HOST_DIR)/usr/bin/fakeroot -- $$(FAKEROOT_SCRIPT)
|
||||
$$(INSTALL) -m 0644 support/misc/target-dir-warning.txt $$(TARGET_DIR_WARNING_FILE)
|
||||
-@rm -f $$(FAKEROOT_SCRIPT) $$(FULL_DEVICE_TABLE)
|
||||
ifneq ($$(ROOTFS_$(2)_COMPRESS_CMD),)
|
||||
|
||||
@@ -20,12 +20,11 @@ ifneq ($(strip $(BR2_TARGET_ROOTFS_EXT2_RESBLKS)),0)
|
||||
EXT2_OPTS += -r $(BR2_TARGET_ROOTFS_EXT2_RESBLKS)
|
||||
endif
|
||||
|
||||
# Not qstrip-ing the variable, because it may contain spaces, but we must
|
||||
# qstrip it when checking. Furthermore, we need to further quote it, so
|
||||
# that the quotes do not get eaten by the echo statement when creating the
|
||||
# fakeroot script
|
||||
ifneq ($(call qstrip,$(BR2_TARGET_ROOTFS_EXT2_LABEL)),)
|
||||
EXT2_OPTS += -l '$(BR2_TARGET_ROOTFS_EXT2_LABEL)'
|
||||
# qstrip results in stripping consecutive spaces into a single one. So the
|
||||
# variable is not qstrip-ed to preserve the integrity of the string value.
|
||||
EXT2_LABEL := $(subst ",,$(BR2_TARGET_ROOTFS_EXT2_LABEL))
|
||||
ifneq ($(EXT2_LABEL),)
|
||||
EXT2_OPTS += -l "$(EXT2_LABEL)"
|
||||
endif
|
||||
|
||||
ROOTFS_EXT2_DEPENDENCIES = host-mke2img
|
||||
|
||||
@@ -20,9 +20,11 @@ else
|
||||
UBINIZE_CONFIG_FILE_PATH = fs/ubifs/ubinize.cfg
|
||||
endif
|
||||
|
||||
# don't use sed -i as it misbehaves on systems with SELinux enabled when this is
|
||||
# executed through fakeroot (see #9386)
|
||||
define ROOTFS_UBI_CMD
|
||||
$(INSTALL) -m 0644 $(UBINIZE_CONFIG_FILE_PATH) $(BUILD_DIR)/ubinize.cfg
|
||||
$(SED) 's;BR2_ROOTFS_UBIFS_PATH;$@fs;' $(BUILD_DIR)/ubinize.cfg
|
||||
sed 's;BR2_ROOTFS_UBIFS_PATH;$@fs;' \
|
||||
$(UBINIZE_CONFIG_FILE_PATH) > $(BUILD_DIR)/ubinize.cfg
|
||||
$(HOST_DIR)/usr/sbin/ubinize -o $@ $(UBI_UBINIZE_OPTS) $(BUILD_DIR)/ubinize.cfg
|
||||
rm $(BUILD_DIR)/ubinize.cfg
|
||||
endef
|
||||
|
||||
@@ -26,7 +26,7 @@ choice
|
||||
prompt "Kernel version"
|
||||
|
||||
config BR2_LINUX_KERNEL_LATEST_VERSION
|
||||
bool "Latest version (4.8.6)"
|
||||
bool "Latest version (4.8.11)"
|
||||
|
||||
config BR2_LINUX_KERNEL_CUSTOM_VERSION
|
||||
bool "Custom version"
|
||||
@@ -97,7 +97,7 @@ endif
|
||||
|
||||
config BR2_LINUX_KERNEL_VERSION
|
||||
string
|
||||
default "4.8.6" if BR2_LINUX_KERNEL_LATEST_VERSION
|
||||
default "4.8.11" if BR2_LINUX_KERNEL_LATEST_VERSION
|
||||
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
|
||||
if BR2_LINUX_KERNEL_CUSTOM_VERSION
|
||||
default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
|
||||
|
||||
@@ -4,6 +4,11 @@ config BR2_PACKAGE_ASSIMP
|
||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71124, that
|
||||
# cause an infinite loop in gcc when building this package.
|
||||
depends on !BR2_microblaze
|
||||
# The ADI Blackfin toolchain does not build assimp properly,
|
||||
# fails with "internal compiler error: in simplify_subreg, at
|
||||
# simplify-rtx.c:5001". It builds fine with a mainline gcc for
|
||||
# Blackfin.
|
||||
depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
select BR2_PACKAGE_ZLIB
|
||||
help
|
||||
|
||||
16
package/autossh/0001-honour-LDFLAGS.patch
Normal file
16
package/autossh/0001-honour-LDFLAGS.patch
Normal file
@@ -0,0 +1,16 @@
|
||||
Honour LDFLAGS, especially required when static linking
|
||||
|
||||
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
||||
|
||||
diff -Nur autossh-1.4e.orig/Makefile.in autossh-1.4e/Makefile.in
|
||||
--- autossh-1.4e.orig/Makefile.in 2015-02-10 05:41:58.000000000 +0100
|
||||
+++ autossh-1.4e/Makefile.in 2016-11-25 12:49:06.052122855 +0100
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
|
||||
$(TARGET): $(OFILES)
|
||||
- $(CC) $(CPPFLAGS) -o $(TARGET) $(OFILES) $(LIBS)
|
||||
+ $(CC) $(CPPFLAGS) $(LDFLAGS) -o $(TARGET) $(OFILES) $(LIBS)
|
||||
|
||||
clean:
|
||||
- /bin/rm -f *.o *.a *.core *~
|
||||
22
package/binutils/2.27/0100-elf32-arm-no-data-fix.patch
Normal file
22
package/binutils/2.27/0100-elf32-arm-no-data-fix.patch
Normal file
@@ -0,0 +1,22 @@
|
||||
bfd/ChangeLog
|
||||
2016-08-23 Nick Clifton <address@hidden>
|
||||
|
||||
* elf32-arm.c (elf32_arm_count_additional_relocs): Return zero if
|
||||
there is no arm data associated with the section.
|
||||
|
||||
[Thomas: taken from https://lists.gnu.org/archive/html/bug-binutils/2016-08/msg00165.html.]
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
|
||||
index 1eba21b..4478238 100644
|
||||
--- a/bfd/elf32-arm.c
|
||||
+++ b/bfd/elf32-arm.c
|
||||
@@ -18688,7 +18688,7 @@ elf32_arm_count_additional_relocs (asection *sec)
|
||||
{
|
||||
struct _arm_elf_section_data *arm_data;
|
||||
arm_data = get_arm_elf_section_data (sec);
|
||||
- return arm_data->additional_reloc_count;
|
||||
+ return arm_data == NULL ? 0 : arm_data->additional_reloc_count;
|
||||
}
|
||||
|
||||
/* Called to set the sh_flags, sh_link and sh_info fields of OSECTION which
|
||||
@@ -0,0 +1,36 @@
|
||||
From c646b02fdcae5f37bd88f33a0c4683ef13ad5c82 Mon Sep 17 00:00:00 2001
|
||||
From: Alan Modra <amodra@gmail.com>
|
||||
Date: Mon, 31 Oct 2016 12:46:38 +1030
|
||||
Subject: [PATCH] Revert part "Set dynamic tag VMA and size from dynamic
|
||||
section when possible"
|
||||
|
||||
PR 20748
|
||||
* elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Revert
|
||||
2016-05-13 change.
|
||||
|
||||
Signed-off-by: Alan Modra <amodra@gmail.com>
|
||||
Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
|
||||
|
||||
diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c
|
||||
index 477e7b3..5c66808 100644
|
||||
--- a/bfd/elf32-microblaze.c
|
||||
+++ b/bfd/elf32-microblaze.c
|
||||
@@ -3396,13 +3396,13 @@ microblaze_elf_finish_dynamic_sections (bfd *output_bfd,
|
||||
{
|
||||
asection *s;
|
||||
|
||||
- s = bfd_get_linker_section (dynobj, name);
|
||||
+ s = bfd_get_section_by_name (output_bfd, name);
|
||||
if (s == NULL)
|
||||
dyn.d_un.d_val = 0;
|
||||
else
|
||||
{
|
||||
if (! size)
|
||||
- dyn.d_un.d_ptr = s->output_section->vma + s->output_offset;
|
||||
+ dyn.d_un.d_ptr = s->vma;
|
||||
else
|
||||
dyn.d_un.d_val = s->size;
|
||||
}
|
||||
--
|
||||
2.1.4
|
||||
|
||||
@@ -17,15 +17,12 @@ choice
|
||||
|
||||
config BR2_BINUTILS_VERSION_2_27_X
|
||||
bool "binutils 2.27"
|
||||
# supported but broken on Microblaze
|
||||
# see https://sourceware.org/bugzilla/show_bug.cgi?id=20748
|
||||
depends on !BR2_microblaze
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_BINUTILS_VERSION
|
||||
string
|
||||
default "arc-2016.09-eng015" if BR2_arc
|
||||
default "arc-2016.09-rc1" if BR2_arc
|
||||
default "2.25.1" if BR2_BINUTILS_VERSION_2_25_X
|
||||
default "2.26.1" if BR2_BINUTILS_VERSION_2_26_X
|
||||
default "2.27" if BR2_BINUTILS_VERSION_2_27_X
|
||||
|
||||
@@ -5,4 +5,4 @@ sha512 9d9165609fd3b0f20d616f9891fc8e2b466eb13e2bfce40125e12427f8f201d20e2b8322
|
||||
sha512 cf276f84935312361a2ca077e04d0b469d23a3aed979d8ba5d92ea590904ffb2c2e7ed12cc842822bfc402836be86f479660cef3791aa62f3753d8a1a6f564cb binutils-2.27.tar.bz2
|
||||
|
||||
# Locally calculated (fetched from Github)
|
||||
sha512 f8cc7529fbe3cb52b666b92e1353063a8a36ea07fa8c5aa8359252f4222feaed15253b6a137033c74dabc0ae784daf8a7978e69ebdb8bf8cd6b8bb61c84bf181 binutils-arc-2016.09-eng015.tar.gz
|
||||
sha512 d0befdeb0a7b76efd1ad655fc062cde2aa67be7b26210c913ab2709e069d815c4ff2863ce7add1f6434da5a2f4faf1ce5a5bc3d0e64f3e04548a7479f24edcbc binutils-arc-2016.09-rc1.tar.gz
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
BINUTILS_VERSION = $(call qstrip,$(BR2_BINUTILS_VERSION))
|
||||
ifeq ($(BINUTILS_VERSION),)
|
||||
ifeq ($(BR2_arc),y)
|
||||
BINUTILS_VERSION = arc-2016.09-eng015
|
||||
BINUTILS_VERSION = arc-2016.09-rc1
|
||||
else
|
||||
BINUTILS_VERSION = 2.25.1
|
||||
endif
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Verified key https://samba.org/ftp/ccache/ccache-3.3.2.tar.xz.asc - sha256 computed locally
|
||||
sha256 907685cb23d8f82074b8d1a9b4ebabb36914d151ac7b96a840c68c08d1a14530 ccache-3.3.2.tar.xz
|
||||
# Verified key https://samba.org/ftp/ccache/ccache-3.3.3.tar.xz.asc - sha256 computed locally
|
||||
sha256 3b02a745da1cfa9eb438af7147e0fd3545e2f6163de9e5b07da86f58859f04ec ccache-3.3.3.tar.xz
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
CCACHE_VERSION = 3.3.2
|
||||
CCACHE_VERSION = 3.3.3
|
||||
CCACHE_SITE = https://samba.org/ftp/ccache
|
||||
CCACHE_SOURCE = ccache-$(CCACHE_VERSION).tar.xz
|
||||
CCACHE_LICENSE = GPLv3+, others
|
||||
|
||||
@@ -34,6 +34,12 @@ else
|
||||
CHRONY_CONF_OPTS += --disable-readline
|
||||
endif
|
||||
|
||||
# If pps-tools is available, build it before so the package can use it
|
||||
# (HAVE_SYS_TIMEPPS_H).
|
||||
ifeq ($(BR2_PACKAGE_PPS_TOOLS),y)
|
||||
CHRONY_DEPENDENCIES += pps-tools
|
||||
endif
|
||||
|
||||
define CHRONY_CONFIGURE_CMDS
|
||||
cd $(@D) && $(TARGET_CONFIGURE_OPTS) ./configure $(CHRONY_CONF_OPTS)
|
||||
endef
|
||||
|
||||
30
package/czmq/0001-configure.ac-remove-Werror.patch
Normal file
30
package/czmq/0001-configure.ac-remove-Werror.patch
Normal file
@@ -0,0 +1,30 @@
|
||||
From 9a195dc573f4eed130773e6ef67efd5f71693e97 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Date: Sat, 5 Nov 2016 15:33:57 +0100
|
||||
Subject: [PATCH] configure.ac: remove -Werror
|
||||
|
||||
-Werror shouldn't be used in releases, as it can break the build with
|
||||
newer versions of the compiler or the C library, when new warnings
|
||||
are introduced.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index e92970a..2fd551a 100755
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -344,7 +344,7 @@ AC_C_BIGENDIAN
|
||||
|
||||
# These options are GNU compiler specific.
|
||||
if test "x$GCC" = "xyes"; then
|
||||
- CPPFLAGS="-pedantic -Werror -Wall -Wc++-compat ${CPPFLAGS}"
|
||||
+ CPPFLAGS="-pedantic -Wall -Wc++-compat ${CPPFLAGS}"
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(ENABLE_SHARED, test "x$enable_shared" = "xyes")
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -6,6 +6,8 @@ config BR2_PACKAGE_DOMOTICZ
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on BR2_USE_WCHAR
|
||||
depends on BR2_PACKAGE_LUA_5_2 || BR2_PACKAGE_LUA_5_3
|
||||
# These result in internal compiler error
|
||||
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH
|
||||
select BR2_PACKAGE_BOOST
|
||||
select BR2_PACKAGE_BOOST_DATE_TIME
|
||||
select BR2_PACKAGE_BOOST_SYSTEM
|
||||
@@ -26,6 +28,7 @@ config BR2_PACKAGE_DOMOTICZ
|
||||
|
||||
comment "domoticz needs lua >= 5.2 and a toolchain w/ C++, threads, wchar, dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
|
||||
!BR2_USE_WCHAR || BR2_STATIC_LIBS || \
|
||||
!(BR2_PACKAGE_LUA_5_2 || BR2_PACKAGE_LUA_5_3)
|
||||
|
||||
@@ -3,4 +3,4 @@ config BR2_PACKAGE_HOST_DOSFSTOOLS
|
||||
help
|
||||
Tools for creating and checking DOS FAT filesystems.
|
||||
|
||||
http://www.daniel-baumann.ch/software/dosfstools/
|
||||
https://github.com/dosfstools/dosfstools
|
||||
|
||||
@@ -17,6 +17,15 @@ DTV_SCAN_TABLES_SITE_METHOD = git
|
||||
DTV_SCAN_TABLES_LICENSE = GPLv2, LGPLv2.1
|
||||
DTV_SCAN_TABLES_LICENSE_FILES = COPYING COPYING.LGPL
|
||||
|
||||
# In order to avoid issues with file name encodings, we rename the
|
||||
# only dtv-scan-tables file that has non-ASCII characters to have a
|
||||
# name using only ASCII characters (pl-Krosno_Sucha_Gora)
|
||||
define DTV_SCAN_TABLES_FIX_NONASCII_FILENAMES
|
||||
mv $(@D)/dvb-t/pl-Krosno_Sucha* $(@D)/dvb-t/pl-Krosno_Sucha_Gora
|
||||
endef
|
||||
|
||||
DTV_SCAN_TABLES_POST_PATCH_HOOKS += DTV_SCAN_TABLES_FIX_NONASCII_FILENAMES
|
||||
|
||||
define DTV_SCAN_TABLES_INSTALL_TARGET_CMDS
|
||||
for f in atsc dvb-c dvb-s dvb-t; do \
|
||||
$(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/share/dvb/$$f; \
|
||||
|
||||
@@ -51,6 +51,12 @@ endif
|
||||
# for util/subst.c to build properly.
|
||||
E2FSPROGS_CONF_ENV += BUILD_CFLAGS="-DHAVE_SYS_STAT_H"
|
||||
|
||||
# Disable use of the host magic.h, as on older hosts (e.g. RHEL 5)
|
||||
# it doesn't provide definitions expected by e2fsprogs support lib.
|
||||
HOST_E2FSPROGS_CONF_ENV += \
|
||||
ac_cv_header_magic_h=no \
|
||||
ac_cv_lib_magic_magic_file=no
|
||||
|
||||
ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
|
||||
# util-linux libuuid pulls in libintl if needed, so ensure we also
|
||||
# link against it, otherwise static linking fails
|
||||
|
||||
@@ -14,7 +14,6 @@ config BR2_PACKAGE_EFL
|
||||
select BR2_PACKAGE_FREETYPE
|
||||
select BR2_PACKAGE_JPEG # Emile needs libjpeg
|
||||
select BR2_PACKAGE_LIBCURL # Ecore_con_url, runtime dependency
|
||||
select BR2_PACKAGE_LIBXKBCOMMON if BR2_PACKAGE_WAYLAND
|
||||
# https://phab.enlightenment.org/T2728
|
||||
select BR2_PACKAGE_LUAJIT # Lua support broken
|
||||
select BR2_PACKAGE_UTIL_LINUX
|
||||
|
||||
@@ -42,6 +42,7 @@ EFL_CONF_OPTS = \
|
||||
--disable-sdl \
|
||||
--disable-spectre \
|
||||
--disable-xinput22 \
|
||||
--disable-wayland \
|
||||
--with-doxygen=no
|
||||
|
||||
# Disable untested configuration warning.
|
||||
@@ -145,13 +146,6 @@ else
|
||||
EFL_CONF_OPTS += --with-crypto=none
|
||||
endif # BR2_PACKAGE_OPENSSL
|
||||
|
||||
ifeq ($(BR2_PACKAGE_WAYLAND),y)
|
||||
EFL_DEPENDENCIES += wayland libxkbcommon
|
||||
EFL_CONF_OPTS += --enable-wayland
|
||||
else
|
||||
EFL_CONF_OPTS += --disable-wayland
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_EFL_ELPUT),y)
|
||||
EFL_CONF_OPTS += --enable-elput
|
||||
EFL_DEPENDENCIES += libinput libxkbcommon
|
||||
|
||||
34
package/fakeroot/0001-hide-dlsym-error.patch
Normal file
34
package/fakeroot/0001-hide-dlsym-error.patch
Normal file
@@ -0,0 +1,34 @@
|
||||
Description: Hide error from dlsym()
|
||||
dlsym(), starting in glibc 2.24 actually reports errors. In our case,
|
||||
we try to get ACL functions which are not in the glibc. This causes
|
||||
failures in test suites, so hide those messages for non-debugging
|
||||
purposes for now. It also makes the build logs annoying to read.
|
||||
Author: Julian Andres Klode <juliank@ubuntu.com>
|
||||
Origin: vendor
|
||||
Bug-Debian: https://bugs.debian.org/830912
|
||||
Forwarded: no
|
||||
Last-Update: 2016-08-12
|
||||
|
||||
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
|
||||
|
||||
--- a/libfakeroot.c
|
||||
+++ b/libfakeroot.c
|
||||
@@ -256,10 +256,16 @@ void load_library_symbols(void){
|
||||
/* clear dlerror() just in case dlsym() legitimately returns NULL */
|
||||
msg = dlerror();
|
||||
*(next_wrap[i].doit)=dlsym(get_libc(), next_wrap[i].name);
|
||||
+
|
||||
if ( (msg = dlerror()) != NULL){
|
||||
- fprintf (stderr, "dlsym(%s): %s\n", next_wrap[i].name, msg);
|
||||
-/* abort ();*/
|
||||
+#ifdef LIBFAKEROOT_DEBUGGING
|
||||
+ if (fakeroot_debug) {
|
||||
+ fprintf (stderr, "dlsym(%s): %s\n", next_wrap[i].name, msg);
|
||||
+/* abort ();*/
|
||||
+ }
|
||||
+#endif
|
||||
}
|
||||
+
|
||||
}
|
||||
}
|
||||
|
||||
4
package/fakeroot/fakeroot.hash
Normal file
4
package/fakeroot/fakeroot.hash
Normal file
@@ -0,0 +1,4 @@
|
||||
# From http://snapshot.debian.org/package/fakeroot/1.20.2-1/
|
||||
sha1 367040df07043edb630942b21939e493f3fad888 fakeroot_1.20.2.orig.tar.bz2
|
||||
# Calculated based on the hash above
|
||||
sha256 7c0a164d19db3efa9e802e0fc7cdfeff70ec6d26cdbdc4338c9c2823c5ea230c fakeroot_1.20.2.orig.tar.bz2
|
||||
20
package/fakeroot/fakeroot.mk
Normal file
20
package/fakeroot/fakeroot.mk
Normal file
@@ -0,0 +1,20 @@
|
||||
################################################################################
|
||||
#
|
||||
# fakeroot
|
||||
#
|
||||
################################################################################
|
||||
|
||||
FAKEROOT_VERSION = 1.20.2
|
||||
FAKEROOT_SOURCE = fakeroot_$(FAKEROOT_VERSION).orig.tar.bz2
|
||||
FAKEROOT_SITE = http://snapshot.debian.org/archive/debian/20141005T221953Z/pool/main/f/fakeroot
|
||||
# Force capabilities detection off
|
||||
# For now these are process capabilities (faked) rather than file
|
||||
# so they're of no real use
|
||||
HOST_FAKEROOT_CONF_ENV = \
|
||||
ac_cv_header_sys_capability_h=no \
|
||||
ac_cv_func_capset=no
|
||||
|
||||
FAKEROOT_LICENSE = GPLv3+
|
||||
FAKEROOT_LICENSE_FILES = COPYING
|
||||
|
||||
$(eval $(host-autotools-package))
|
||||
@@ -2,7 +2,8 @@ config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
|
||||
bool
|
||||
# fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2
|
||||
# No support for ARMv7-M in the ARM assembly logic
|
||||
default y if !BR2_nios2 && !BR2_ARM_CPU_ARMV7M
|
||||
# Microblaze build affected by gcc PR71124 (infinite loop)
|
||||
default y if !BR2_nios2 && !BR2_ARM_CPU_ARMV7M && !BR2_microblaze
|
||||
|
||||
menuconfig BR2_PACKAGE_FFMPEG
|
||||
bool "ffmpeg"
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
From edb9057c195c41dd7bcd8603e5fd420359edd520 Mon Sep 17 00:00:00 2001
|
||||
From: nsz <nsz@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Mon, 23 Nov 2015 15:17:55 +0000
|
||||
Subject: [PATCH] [ARM] PR target/68059 libgcc should not use __write for
|
||||
printing fatal error
|
||||
|
||||
libgcc/
|
||||
PR target/68059
|
||||
* config/arm/linux-atomic-64bit.c (__write): Rename to...
|
||||
(write): ...this and fix the return type.
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230762 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
|
||||
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
|
||||
---
|
||||
libgcc/config/arm/linux-atomic-64bit.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libgcc/config/arm/linux-atomic-64bit.c b/libgcc/config/arm/linux-atomic-64bit.c
|
||||
index 7aa8dfc..570b4ce 100644
|
||||
--- a/libgcc/config/arm/linux-atomic-64bit.c
|
||||
+++ b/libgcc/config/arm/linux-atomic-64bit.c
|
||||
@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
kernels; we check for that in an init section and bail out rather
|
||||
unceremoneously. */
|
||||
|
||||
-extern unsigned int __write (int fd, const void *buf, unsigned int count);
|
||||
+extern int write (int fd, const void *buf, unsigned int count);
|
||||
extern void abort (void);
|
||||
|
||||
/* Kernel helper for compare-and-exchange. */
|
||||
@@ -56,7 +56,7 @@ static void __check_for_sync8_kernelhelper (void)
|
||||
for the user - I'm not sure I can rely on much else being
|
||||
available at this point, so do the same as generic-morestack.c
|
||||
write () and abort (). */
|
||||
- __write (2 /* stderr. */, err, sizeof (err));
|
||||
+ write (2 /* stderr. */, err, sizeof (err));
|
||||
abort ();
|
||||
}
|
||||
};
|
||||
--
|
||||
2.10.2
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
From 80bc14a5249da7054b716229206b453f339b4a5e Mon Sep 17 00:00:00 2001
|
||||
From: nsz <nsz@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Mon, 23 Nov 2015 15:17:55 +0000
|
||||
Subject: [PATCH] [ARM] PR target/68059 libgcc should not use __write for
|
||||
printing fatal error
|
||||
|
||||
libgcc/
|
||||
PR target/68059
|
||||
* config/arm/linux-atomic-64bit.c (__write): Rename to...
|
||||
(write): ...this and fix the return type.
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230762 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
|
||||
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
|
||||
---
|
||||
libgcc/config/arm/linux-atomic-64bit.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libgcc/config/arm/linux-atomic-64bit.c b/libgcc/config/arm/linux-atomic-64bit.c
|
||||
index 5b8c6e2..9078673 100644
|
||||
--- a/libgcc/config/arm/linux-atomic-64bit.c
|
||||
+++ b/libgcc/config/arm/linux-atomic-64bit.c
|
||||
@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
kernels; we check for that in an init section and bail out rather
|
||||
unceremoneously. */
|
||||
|
||||
-extern unsigned int __write (int fd, const void *buf, unsigned int count);
|
||||
+extern int write (int fd, const void *buf, unsigned int count);
|
||||
extern void abort (void);
|
||||
|
||||
/* Kernel helper for compare-and-exchange. */
|
||||
@@ -56,7 +56,7 @@ static void __check_for_sync8_kernelhelper (void)
|
||||
for the user - I'm not sure I can rely on much else being
|
||||
available at this point, so do the same as generic-morestack.c
|
||||
write () and abort (). */
|
||||
- __write (2 /* stderr. */, err, sizeof (err));
|
||||
+ write (2 /* stderr. */, err, sizeof (err));
|
||||
abort ();
|
||||
}
|
||||
};
|
||||
--
|
||||
2.10.2
|
||||
|
||||
67
package/gcc/5.4.0/875-xtensa-implement-trap-pattern.patch
Normal file
67
package/gcc/5.4.0/875-xtensa-implement-trap-pattern.patch
Normal file
@@ -0,0 +1,67 @@
|
||||
From 2b4b5775554c91a63ccae4ee566db696b633652e Mon Sep 17 00:00:00 2001
|
||||
From: jcmvbkbc <jcmvbkbc@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Wed, 10 Jun 2015 15:07:40 +0000
|
||||
Subject: [PATCH] xtensa: implement trap pattern
|
||||
|
||||
2015-06-10 Max Filippov <jcmvbkbc@gmail.com>
|
||||
gcc/
|
||||
* config/xtensa/xtensa.h (TARGET_DEBUG): New definition.
|
||||
* config/xtensa/xtensa.md (define_attr "type"): New type "trap".
|
||||
(define_insn "trap"): New definition.
|
||||
|
||||
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224330 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
---
|
||||
gcc/config/xtensa/xtensa.h | 1 +
|
||||
gcc/config/xtensa/xtensa.md | 15 ++++++++++++++-
|
||||
2 files changed, 15 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h
|
||||
index 615f741..fb8702c 100644
|
||||
--- a/gcc/config/xtensa/xtensa.h
|
||||
+++ b/gcc/config/xtensa/xtensa.h
|
||||
@@ -67,6 +67,7 @@ extern unsigned xtensa_current_frame_size;
|
||||
#define TARGET_THREADPTR XCHAL_HAVE_THREADPTR
|
||||
#define TARGET_LOOPS XCHAL_HAVE_LOOPS
|
||||
#define TARGET_WINDOWED_ABI (XSHAL_ABI == XTHAL_ABI_WINDOWED)
|
||||
+#define TARGET_DEBUG XCHAL_HAVE_DEBUG
|
||||
|
||||
#define TARGET_DEFAULT \
|
||||
((XCHAL_HAVE_L32R ? 0 : MASK_CONST16) | \
|
||||
diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md
|
||||
index 6d84384..a577aa3 100644
|
||||
--- a/gcc/config/xtensa/xtensa.md
|
||||
+++ b/gcc/config/xtensa/xtensa.md
|
||||
@@ -86,7 +86,7 @@
|
||||
;; Attributes.
|
||||
|
||||
(define_attr "type"
|
||||
- "unknown,jump,call,load,store,move,arith,multi,nop,farith,fmadd,fconv,fload,fstore,mul16,mul32,div32,mac16,rsr,wsr,entry"
|
||||
+ "unknown,jump,call,load,store,move,arith,multi,nop,farith,fmadd,fconv,fload,fstore,mul16,mul32,div32,mac16,rsr,wsr,entry,trap"
|
||||
(const_string "unknown"))
|
||||
|
||||
(define_attr "mode"
|
||||
@@ -1764,6 +1764,19 @@
|
||||
[(set_attr "length" "0")
|
||||
(set_attr "type" "nop")])
|
||||
|
||||
+(define_insn "trap"
|
||||
+ [(trap_if (const_int 1) (const_int 0))]
|
||||
+ ""
|
||||
+{
|
||||
+ if (TARGET_DEBUG)
|
||||
+ return "break\t1, 15";
|
||||
+ else
|
||||
+ return (TARGET_DENSITY ? "ill.n" : "ill");
|
||||
+}
|
||||
+ [(set_attr "type" "trap")
|
||||
+ (set_attr "mode" "none")
|
||||
+ (set_attr "length" "3")])
|
||||
+
|
||||
;; Setting up a frame pointer is tricky for Xtensa because GCC doesn't
|
||||
;; know if a frame pointer is required until the reload pass, and
|
||||
;; because there may be an incoming argument value in the hard frame
|
||||
--
|
||||
2.1.4
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user