summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Rauh <johnbthetenth@gmail.com>2017-04-29 18:33:45 +0200
committerAmaury Pouly <amaury.pouly@gmail.com>2017-09-06 17:16:55 +0200
commit3a5ae7dd3a2c7a74b69b83301bb29850a9601faf (patch)
tree005357c1907ee01135d23fb6b68c5dfbd4793079
parent1d121e8c082fe67757cf0d4df7b9e6ca1e26f755 (diff)
downloadrockbox-3a5ae7dd3a2c7a74b69b83301bb29850a9601faf.tar.gz
rockbox-3a5ae7dd3a2c7a74b69b83301bb29850a9601faf.tar.bz2
rockbox-3a5ae7dd3a2c7a74b69b83301bb29850a9601faf.zip
Add support for Sony NW-A20
Add original author to CREDITS Change-Id: I7a0159635c7896e2b5521c078ef62618f568d89e
-rw-r--r--firmware/export/config.h2
-rw-r--r--firmware/export/config/sonynwa20.h16
-rw-r--r--rbutil/mknwzboot/mknwzboot.c1
-rwxr-xr-xtools/configure25
-rw-r--r--tools/scramble.c6
5 files changed, 47 insertions, 3 deletions
diff --git a/firmware/export/config.h b/firmware/export/config.h
index aa11766e63..f98ccbd853 100644
--- a/firmware/export/config.h
+++ b/firmware/export/config.h
@@ -590,6 +590,8 @@ Lyre prototype 1 */
#include "config/sonynwze580.h"
#elif defined(SONY_NWZA10)
#include "config/sonynwza10.h"
+#elif defined(SONY_NWA20)
+#include "config/sonynwa20.h"
#elif defined(SONY_NWZE470)
#include "config/sonynwze470.h"
#else
diff --git a/firmware/export/config/sonynwa20.h b/firmware/export/config/sonynwa20.h
new file mode 100644
index 0000000000..d9f6292459
--- /dev/null
+++ b/firmware/export/config/sonynwa20.h
@@ -0,0 +1,16 @@
+/*
+ * This config file is for the Sony NW-A20 series
+ */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 106
+
+#define MODEL_NAME "Sony NW-A20 Series"
+
+/* LCD dimensions */
+#define LCD_WIDTH 240
+#define LCD_HEIGHT 320
+/* sqrt(240^2 + 320^2) / 2 = 200 */
+#define LCD_DPI 200
+
+#include "sonynwzlinux.h"
diff --git a/rbutil/mknwzboot/mknwzboot.c b/rbutil/mknwzboot/mknwzboot.c
index 1fc105ae48..6fd20b26b4 100644
--- a/rbutil/mknwzboot/mknwzboot.c
+++ b/rbutil/mknwzboot/mknwzboot.c
@@ -49,6 +49,7 @@ static const struct nwz_model_desc_t nwz_models[] =
{ "Sony NWZ-E470 Series", "e470", 103, "nwz-e470" },
{ "Sony NWZ-E580 Series", "e580", 102, "nwz-e580" },
{ "Sony NWZ-A10 Series", "a10", 104, "nwz-a10" },
+ { "Sony NW-A20 Series", "a20", 106, "nw-a20" },
};
#define NR_NWZ_MODELS (sizeof(nwz_models) / sizeof(nwz_models[0]))
diff --git a/tools/configure b/tools/configure
index 3b481e9fa8..bfc581f6c0 100755
--- a/tools/configure
+++ b/tools/configure
@@ -1511,7 +1511,7 @@ cat <<EOF
207) Android x86 230) 760 224) NWZ-E470 series
208) Samsung YP-R1 231) 960 225) NWZ-E580 series
226) NWZ-A10 series
- ==iBasso==
+ ==iBasso== 227) NW-A20 series
232) DX50
233) DX90
@@ -3984,6 +3984,29 @@ fi
sonynwzcc
;;
+ 227|sonynwa20)
+ application="yes"
+ target_id=102
+ modelname="sonynwa20"
+ target="SONY_NWA20"
+ memory=16
+ bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
+ bmp2rb_native="$rootdir/tools/bmp2rb -f 4"
+ tool="cp"
+ output="rockbox.sony"
+ boottool="$rootdir/tools/scramble -add=a20"
+ bootoutput="bootloader-nwa20.sony"
+ appextra="gui:recorder"
+ plugins=""
+ swcodec="yes"
+ toolset=$genericbitmaptools
+ t_cpu="hosted"
+ t_manufacturer="sonynwz"
+ t_model="nwa20"
+ uname=`uname`
+ sonynwzcc
+ ;;
+
230|ihifi760)
target_id=92
modelname="ihifi760"
diff --git a/tools/scramble.c b/tools/scramble.c
index 8c5230cc3e..935eae002f 100644
--- a/tools/scramble.c
+++ b/tools/scramble.c
@@ -130,7 +130,7 @@ void usage(void)
"\t 747p, x777, nn2g, m244, cli+, fuz2, hd20, hd30,\n"
"\t ip6g, rk27, clzp, zxf2, zxf3, fuz+, e370, e360,\n"
"\t zxfi, zmoz, zen, zenv, ypz5, zxfs, e450, e460,\n"
- "\t e470,e580,a10)\n");
+ "\t e470,e580,a10,a20)\n");
printf("\nNo option results in Archos standard player/recorder format.\n");
exit(1);
@@ -391,8 +391,10 @@ int main (int argc, char** argv)
modelnum = 102;
else if (!strcmp(&argv[1][5], "e470")) /* Sony NWZ-E470 series */
modelnum = 103;
- else if (!strcmp(&argv[1][5], "a10")) /* Sony NW-A10 series */
+ else if (!strcmp(&argv[1][5], "a10")) /* Sony NWZ-A10 series */
modelnum = 104;
+ else if (!strcmp(&argv[1][5], "a20")) /* Sony NW-A20 series */
+ modelnum = 106;
else {
fprintf(stderr, "unsupported model: %s\n", &argv[1][5]);
return 2;