Re: [linux-sunxi] New firmware for GSL1680
On Sun, 2015-05-17 at 18:31 -0700, sergk.ad...@gmail.com wrote: Hello. Could anyone share or describe the way how to extract it firmware for GSL1680 on 8 with 800x1280? Did you check our wiki: http://linux-sunxi.org/GSL1680 ? It includes link to the following repository which should have all you need: https://gitorious.org/gslx680-for-sunxi What I have - rooted Android and binaries of kenel module (driver) fw is inside. Also I have original fw from Windows 8.1. More technical details for Linux Guru: I need assistance of extracting from ELFfile .data segment declared their static (constant) values. Look at the objdump objdump -t gslx68x_ts.ko | grep gsl_config 0140 g O .data035c gsl_config_data_id_gsl_customer 54a0 g O .data0800 gsl_config_data_id_I81_GSL3676B_8001280_OGS_SG 5ca0 g O .data0800 gsl_config_data_id_I802_GSL3676B_8001280_OGS_SG 64a0 g O .data0800 gsl_config_data_id_I802_GSL3676B_8001280_OGS_DZ 4ca0 g O .data0800 gsl_config_data_id_I100_GSL3692_1280800_GG_SG 44a0 g O .data0800 gsl_config_data_id_I89_GSL3676B_19201200_OGS_SG 34a0 g O .data0800 gsl_config_data_id_I71_GSL1686F_1024600_PG_XLL 24a0 g O .data0800 gsl_config_data_id_I86_GSL3676B_8001280_PG_FC 1ca0 g O .data0800 gsl_config_data_id_I86_GSL3676B_8001280_OGS_SG 2ca0 g O .data0800 gsl_config_data_id_I706_GSL1686_OGS_6001024_DZ_70F2 3ca0 g O .data0800 gsl_config_data_id_I89_GSL3676B_19201200_OGS_DZ 0ca0 g O .data0800 gsl_config_data_id_I101_GSL3692_1280800_GG_FC_FC101S123 14a0 g O .data0800 gsl_config_data_id_I86_GSL3676B_8001280_PG_FC_W 04a0 g O .data0800 gsl_config_data_id_I892_GSL3676B_8001280_OGS_SG objdump -x gslx68x_ts.ko | grep .data I am attaching linux driver module to this message. If it is needed windows fw file - please let me know - I will send it too. PS: Suppose this helps to have more fw for new screen! RELOCATION RECORDS FOR [.data]: 0040 R_386_32 gsl_config_data_id_gsl_customer 0044 R_386_32 gsl_config_data_id_I81_GSL3676B_8001280_OGS_SG 0048 R_386_32 gsl_config_data_id_I802_GSL3676B_8001280_OGS_SG 004c R_386_32 gsl_config_data_id_I802_GSL3676B_8001280_OGS_DZ 0050 R_386_32 gsl_config_data_id_I100_GSL3692_1280800_GG_SG 0054 R_386_32 gsl_config_data_id_I89_GSL3676B_19201200_OGS_SG 0058 R_386_32 gsl_config_data_id_I71_GSL1686F_1024600_PG_XLL 005c R_386_32 gsl_config_data_id_I86_GSL3676B_8001280_PG_FC 0060 R_386_32 gsl_config_data_id_I86_GSL3676B_8001280_OGS_SG 0064 R_386_32 gsl_config_data_id_I706_GSL1686_OGS_6001024_DZ_70F2 0068 R_386_32 gsl_config_data_id_I89_GSL3676B_19201200_OGS_DZ 006c R_386_32 gsl_config_data_id_I101_GSL3692_1280800_GG_FC_FC101S123 0070 R_386_32 gsl_config_data_id_I86_GSL3676B_8001280_PG_FC_W 0074 R_386_32 gsl_config_data_id_I892_GSL3676B_8001280_OGS_SG Kind regards, Serge Kolotylo. -- You received this message because you are subscribed to the Google Groups linux-sunxi group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups linux-sunxi group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[linux-sunxi] Re: [PATCH v9 4/4] crypto: Add Allwinner Security System crypto accelerator
On Mon, May 18, 2015 at 09:24:49AM +0200, Boris Brezillon wrote: Okay, just to be sure, what does Asynchronous mean in ablkcipher or ahash ? Is it related to the fact that crypto operations can be done in multiple steps (e.g.: one set_key + several encrypt chunk operations), or is this something else ? It gives you the ability to postpone the processing. However it doesn't mean that you have to postpone the processing. For instance, all of our sync software algorithms are also available through the async interface for obvious reasons. Cheers, -- Email: Herbert Xu herb...@gondor.apana.org.au Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- You received this message because you are subscribed to the Google Groups linux-sunxi group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [linux-sunxi] New firmware for GSL1680
Given extracted firmware from an Android driver for a 7inch A13 tablet. Thanks, I will try this https://code.google.com/p/yuandao-n90-window-dual-core-2/source/browse/drivers/input/touchscreen/gslx680_ts.h BUT in my case it is Chuwi vi8 super Baytrail tablet with 8 screen size 1280x800. Som I am not sure that this is exactly what I need. On Monday, May 18, 2015 at 11:02:11 AM UTC+3, Priit Laes wrote: On Sun, 2015-05-17 at 18:31 -0700, sergk...@gmail.com javascript: wrote: Hello. Could anyone share or describe the way how to extract it firmware for GSL1680 on 8 with 800x1280? Did you check our wiki: http://linux-sunxi.org/GSL1680 ? It includes link to the following repository which should have all you need: https://gitorious.org/gslx680-for-sunxi What I have - rooted Android and binaries of kenel module (driver) fw is inside. Also I have original fw from Windows 8.1. More technical details for Linux Guru: I need assistance of extracting from ELFfile .data segment declared their static (constant) values. Look at the objdump objdump -t gslx68x_ts.ko | grep gsl_config 0140 g O .data035c gsl_config_data_id_gsl_customer 54a0 g O .data0800 gsl_config_data_id_I81_GSL3676B_8001280_OGS_SG 5ca0 g O .data0800 gsl_config_data_id_I802_GSL3676B_8001280_OGS_SG 64a0 g O .data0800 gsl_config_data_id_I802_GSL3676B_8001280_OGS_DZ 4ca0 g O .data0800 gsl_config_data_id_I100_GSL3692_1280800_GG_SG 44a0 g O .data0800 gsl_config_data_id_I89_GSL3676B_19201200_OGS_SG 34a0 g O .data0800 gsl_config_data_id_I71_GSL1686F_1024600_PG_XLL 24a0 g O .data0800 gsl_config_data_id_I86_GSL3676B_8001280_PG_FC 1ca0 g O .data0800 gsl_config_data_id_I86_GSL3676B_8001280_OGS_SG 2ca0 g O .data0800 gsl_config_data_id_I706_GSL1686_OGS_6001024_DZ_70F2 3ca0 g O .data0800 gsl_config_data_id_I89_GSL3676B_19201200_OGS_DZ 0ca0 g O .data0800 gsl_config_data_id_I101_GSL3692_1280800_GG_FC_FC101S123 14a0 g O .data0800 gsl_config_data_id_I86_GSL3676B_8001280_PG_FC_W 04a0 g O .data0800 gsl_config_data_id_I892_GSL3676B_8001280_OGS_SG objdump -x gslx68x_ts.ko | grep .data I am attaching linux driver module to this message. If it is needed windows fw file - please let me know - I will send it too. PS: Suppose this helps to have more fw for new screen! RELOCATION RECORDS FOR [.data]: 0040 R_386_32 gsl_config_data_id_gsl_customer 0044 R_386_32 gsl_config_data_id_I81_GSL3676B_8001280_OGS_SG 0048 R_386_32 gsl_config_data_id_I802_GSL3676B_8001280_OGS_SG 004c R_386_32 gsl_config_data_id_I802_GSL3676B_8001280_OGS_DZ 0050 R_386_32 gsl_config_data_id_I100_GSL3692_1280800_GG_SG 0054 R_386_32 gsl_config_data_id_I89_GSL3676B_19201200_OGS_SG 0058 R_386_32 gsl_config_data_id_I71_GSL1686F_1024600_PG_XLL 005c R_386_32 gsl_config_data_id_I86_GSL3676B_8001280_PG_FC 0060 R_386_32 gsl_config_data_id_I86_GSL3676B_8001280_OGS_SG 0064 R_386_32 gsl_config_data_id_I706_GSL1686_OGS_6001024_DZ_70F2 0068 R_386_32 gsl_config_data_id_I89_GSL3676B_19201200_OGS_DZ 006c R_386_32 gsl_config_data_id_I101_GSL3692_1280800_GG_FC_FC101S123 0070 R_386_32 gsl_config_data_id_I86_GSL3676B_8001280_PG_FC_W 0074 R_386_32 gsl_config_data_id_I892_GSL3676B_8001280_OGS_SG Kind regards, Serge Kolotylo. -- You received this message because you are subscribed to the Google Groups linux-sunxi group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi...@googlegroups.com javascript:. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups linux-sunxi group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [linux-sunxi] New firmware for GSL1680
On 18 May 2015 at 09:59, Priit Laes pl...@plaes.org wrote: On Sun, 2015-05-17 at 18:31 -0700, sergk.ad...@gmail.com wrote: Hello. Could anyone share or describe the way how to extract it firmware for GSL1680 on 8 with 800x1280? Did you check our wiki: http://linux-sunxi.org/GSL1680 ? It includes link to the following repository which should have all you need: https://gitorious.org/gslx680-for-sunxi That unfortunately somehow does not work for me but reportedly it does work for some people. Regarding firmware extraction - some newer drivers print a message in dmesg which firmware they loaded so that might be hint which one to try first. Thanks Michal -- You received this message because you are subscribed to the Google Groups linux-sunxi group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [linux-sunxi] New firmware for GSL1680
Regarding firmware extraction - some newer drivers print a message in dmesg which firmware they loaded so that might be hint which one to try first. Thanks Michal Thanks but unfortunately in my case there is nothing in dmesg besides fw_loading and fw_loaded, also fw is not loaded from external file it is builtin in .ko file. -- You received this message because you are subscribed to the Google Groups linux-sunxi group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[linux-sunxi] Re: [PATCH v6] dma: sun4i: Add support for the DMA engine on sun[457]i SoCs
On Mon, May 11, 2015 at 03:27:32PM +0200, Maxime Ripard wrote: + +/** Normal DMA register values **/ + +/* Normal DMA source/destination data request type values */ +#define NDMA_DRQ_TYPE_SDRAM 0x16 +#define NDMA_DRQ_TYPE_LIMIT (0x1F + 1) + +/** Normal DMA register layout **/ + +/* Normal DMA configuration register layout */ +#define NDMA_CFG_LOADING BIT(31) +#define NDMA_CFG_CONT_MODE BIT(30) +#define NDMA_CFG_WAIT_STATE(n) ((n) 27) +#define NDMA_CFG_DEST_DATA_WIDTH(width) ((width) 25) +#define NDMA_CFG_DEST_BURST_LENGTH(len) ((len) 23) +#define NDMA_CFG_DEST_NON_SECURE BIT(22) +#define NDMA_CFG_DEST_FIXED_ADDR BIT(21) +#define NDMA_CFG_DEST_DRQ_TYPE(type) ((type) 16) +#define NDMA_CFG_BYTE_COUNT_MODE_REMAIN BIT(15) +#define NDMA_CFG_SRC_DATA_WIDTH(width) ((width) 9) +#define NDMA_CFG_SRC_BURST_LENGTH(len) ((len) 7) +#define NDMA_CFG_SRC_NON_SECURE BIT(6) +#define NDMA_CFG_SRC_FIXED_ADDR BIT(5) +#define NDMA_CFG_SRC_DRQ_TYPE(type) ((type) 0) + +/** Dedicated DMA register values **/ + +/* Dedicated DMA source/destination address mode values */ +#define DDMA_ADDR_MODE_LINEAR0 +#define DDMA_ADDR_MODE_IO1 +#define DDMA_ADDR_MODE_HORIZONTAL_PAGE 2 +#define DDMA_ADDR_MODE_VERTICAL_PAGE 3 + +/* Dedicated DMA source/destination data request type values */ +#define DDMA_DRQ_TYPE_SDRAM 0x1 +#define DDMA_DRQ_TYPE_LIMIT (0x1F + 1) + +/** Dedicated DMA register layout **/ + +/* Dedicated DMA configuration register layout */ +#define DDMA_CFG_LOADING BIT(31) +#define DDMA_CFG_BUSYBIT(30) +#define DDMA_CFG_CONT_MODE BIT(29) +#define DDMA_CFG_DEST_NON_SECURE BIT(28) +#define DDMA_CFG_DEST_DATA_WIDTH(width) ((width) 25) +#define DDMA_CFG_DEST_BURST_LENGTH(len) ((len) 23) +#define DDMA_CFG_DEST_ADDR_MODE(mode)((mode) 21) +#define DDMA_CFG_DEST_DRQ_TYPE(type) ((type) 16) +#define DDMA_CFG_BYTE_COUNT_MODE_REMAIN BIT(15) +#define DDMA_CFG_SRC_NON_SECURE BIT(12) +#define DDMA_CFG_SRC_DATA_WIDTH(width) ((width) 9) +#define DDMA_CFG_SRC_BURST_LENGTH(len) ((len) 7) +#define DDMA_CFG_SRC_ADDR_MODE(mode) ((mode) 5) +#define DDMA_CFG_SRC_DRQ_TYPE(type) ((type) 0) + +/* Dedicated DMA parameter register layout */ +#define DDMA_PARA_DEST_DATA_BLK_SIZE(n) (((n) - 1) 24) +#define DDMA_PARA_DEST_WAIT_CYCLES(n)(((n) - 1) 16) +#define DDMA_PARA_SRC_DATA_BLK_SIZE(n) (((n) - 1) 8) +#define DDMA_PARA_SRC_WAIT_CYCLES(n) (((n) - 1) 0) + +/** DMA register offsets **/ + +/* General register offsets */ +#define DMA_IRQ_ENABLE_REG 0x0 +#define DMA_IRQ_PENDING_STATUS_REG 0x4 + +/* Normal DMA register offsets */ +#define NDMA_CHANNEL_REG_BASE(n) (0x100 + (n) * 0x20) +#define NDMA_CFG_REG 0x0 +#define NDMA_SRC_ADDR_REG0x4 +#define NDMA_DEST_ADDR_REG 0x8 +#define NDMA_BYTE_COUNT_REG 0xC + +/* Dedicated DMA register offsets */ +#define DDMA_CHANNEL_REG_BASE(n) (0x300 + (n) * 0x20) +#define DDMA_CFG_REG 0x0 +#define DDMA_SRC_ADDR_REG0x4 +#define DDMA_DEST_ADDR_REG 0x8 +#define DDMA_BYTE_COUNT_REG 0xC +#define DDMA_PARA_REG0x18 the defines here NDMA_, DDMA_, DMA_ are too generic names and not specific to this driver, they can cause collisions in future with others, so lets make them future proof please +static int choose_optimal_buswidth(dma_addr_t addr) +{ + /* On 32 bit aligned addresses, we can use a 32 bit bus width */ + if (addr % 4 == 0) + return DMA_SLAVE_BUSWIDTH_4_BYTES; + /* On 16 bit aligned addresses, we can use a 16 bit bus width */ + else if (addr % 2 == 0) + return DMA_SLAVE_BUSWIDTH_2_BYTES; + + /* Worst-case scenario, we need to do byte aligned reads */ + return DMA_SLAVE_BUSWIDTH_1_BYTE; am not sure if that is right way, dmaengine drivers shouldn't assume and use a parameter as they will conflict with client FIFO settings and make whole data garbage +static struct sun4i_dma_promise * +generate_ndma_promise(struct dma_chan *chan, dma_addr_t src, dma_addr_t dest, + size_t len, struct dma_slave_config *sconfig) +{ + struct sun4i_dma_promise *promise; + int ret; + + promise = kzalloc(sizeof(*promise), GFP_NOWAIT);
[linux-sunxi] Re: New firmware for GSL1680
Hi, You can do it with readelf and dd, it's not straight forward, you need to find the symbol offset(table offset + symbol ofset) and size in the file then you dump it with dd. I made a graphical tool to make this easier: https://hephaistos.lpp.polytechnique.fr/redmine/projects/execut/wiki You have the choice between sources, rpm for fedora and static Win32 exe. Best regards, Alexis. On Monday, May 18, 2015 at 3:31:00 AM UTC+2, sergk...@gmail.com wrote: Hello. Could anyone share or describe the way how to extract it firmware for GSL1680 on 8 with 800x1280? What I have - rooted Android and binaries of kenel module (driver) fw is inside. Also I have original fw from Windows 8.1. More technical details for Linux Guru: I need assistance of extracting from ELFfile .data segment declared their static (constant) values. Look at the objdump objdump -t gslx68x_ts.ko | grep gsl_config 0140 g O .data035c gsl_config_data_id_gsl_customer 54a0 g O .data0800 gsl_config_data_id_I81_GSL3676B_8001280_OGS_SG 5ca0 g O .data0800 gsl_config_data_id_I802_GSL3676B_8001280_OGS_SG 64a0 g O .data0800 gsl_config_data_id_I802_GSL3676B_8001280_OGS_DZ 4ca0 g O .data0800 gsl_config_data_id_I100_GSL3692_1280800_GG_SG 44a0 g O .data0800 gsl_config_data_id_I89_GSL3676B_19201200_OGS_SG 34a0 g O .data0800 gsl_config_data_id_I71_GSL1686F_1024600_PG_XLL 24a0 g O .data0800 gsl_config_data_id_I86_GSL3676B_8001280_PG_FC 1ca0 g O .data0800 gsl_config_data_id_I86_GSL3676B_8001280_OGS_SG 2ca0 g O .data0800 gsl_config_data_id_I706_GSL1686_OGS_6001024_DZ_70F2 3ca0 g O .data0800 gsl_config_data_id_I89_GSL3676B_19201200_OGS_DZ 0ca0 g O .data0800 gsl_config_data_id_I101_GSL3692_1280800_GG_FC_FC101S123 14a0 g O .data0800 gsl_config_data_id_I86_GSL3676B_8001280_PG_FC_W 04a0 g O .data0800 gsl_config_data_id_I892_GSL3676B_8001280_OGS_SG objdump -x gslx68x_ts.ko | grep .data I am attaching linux driver module to this message. If it is needed windows fw file - please let me know - I will send it too. PS: Suppose this helps to have more fw for new screen! RELOCATION RECORDS FOR [.data]: 0040 R_386_32 gsl_config_data_id_gsl_customer 0044 R_386_32 gsl_config_data_id_I81_GSL3676B_8001280_OGS_SG 0048 R_386_32 gsl_config_data_id_I802_GSL3676B_8001280_OGS_SG 004c R_386_32 gsl_config_data_id_I802_GSL3676B_8001280_OGS_DZ 0050 R_386_32 gsl_config_data_id_I100_GSL3692_1280800_GG_SG 0054 R_386_32 gsl_config_data_id_I89_GSL3676B_19201200_OGS_SG 0058 R_386_32 gsl_config_data_id_I71_GSL1686F_1024600_PG_XLL 005c R_386_32 gsl_config_data_id_I86_GSL3676B_8001280_PG_FC 0060 R_386_32 gsl_config_data_id_I86_GSL3676B_8001280_OGS_SG 0064 R_386_32 gsl_config_data_id_I706_GSL1686_OGS_6001024_DZ_70F2 0068 R_386_32 gsl_config_data_id_I89_GSL3676B_19201200_OGS_DZ 006c R_386_32 gsl_config_data_id_I101_GSL3692_1280800_GG_FC_FC101S123 0070 R_386_32 gsl_config_data_id_I86_GSL3676B_8001280_PG_FC_W 0074 R_386_32 gsl_config_data_id_I892_GSL3676B_8001280_OGS_SG Kind regards, Serge Kolotylo. -- You received this message because you are subscribed to the Google Groups linux-sunxi group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [linux-sunxi] AXP221 support in sunxi-next may break sd card loading for A31 hummingbird
Hi, On 17-05-15 18:08, Lawrence Y wrote: Hi, I'm not sure if it is my sdcard, my A31 hummingboard device, or something I am doing wrong, but I've been trying to boot an A31 hummingbird from an sdcard using the kernel from the sunxi-next branch at https://github.com/mripard/linux 33da8d2 - Merge tag 'ib-mfd-regulator-v4.2' into sunxi-next and ran into a problem where the kernel would hang while waiting for the root device /dev/mmcblk0p2 If I use the sun6i-a31-hummingbird.dtb built from the linux mainline the sdcard will boot the root file system correctly, but if I use the sun6i-a31-hummingbird.dtb from sunxi-next the kernel will hang while waiting for /dev/mmcblk0p2. I ran a git bisect and narrowed down the commit that causes the problem I am seeing to commit bab03561224baa536b98f1d137d2b6b5dd159763 Date: Tue Mar 10 19:59:21 2015 +0800 ARM: dts: sun6i: hummingbird: Add AXP221 regulator nodes This patch adds the AXP221 regulators. Only the ones directly used on the board are added. Please let me know if there is anything I can do to help fix this problem, if it really is a problem. I have an A31 hummingbird available for testing. Interesting, what is the voltage set in the dts for dcdc1 ? We've seen issues in the past where the sdcard would not work reliable with that set to 3.0 (which is the default on most boards), but where it will work fine when set to 3.3V. Regards, Hans -- You received this message because you are subscribed to the Google Groups linux-sunxi group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[linux-sunxi] Re: [PATCH v9 4/4] crypto: Add Allwinner Security System crypto accelerator
Hi Herbert, On Mon, 18 May 2015 08:41:21 +0800 Herbert Xu herb...@gondor.apana.org.au wrote: On Sun, May 17, 2015 at 12:48:11PM +0200, Boris Brezillon wrote: Yep, but then they shouldn't be declared with CRYPTO_ALG_ASYNC and as an not ^ ablkcipher algorithm (*Asynchronous* Block Cipher), right ? Right. They can still use ablkcipher but should clear the ASYNC bit. Okay, just to be sure, what does Asynchronous mean in ablkcipher or ahash ? Is it related to the fact that crypto operations can be done in multiple steps (e.g.: one set_key + several encrypt chunk operations), or is this something else ? Best Regards, Boris -- Boris Brezillon, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com -- You received this message because you are subscribed to the Google Groups linux-sunxi group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [linux-sunxi] [RFC 0/7] ARM: sun9i: SMP support with Multi-Cluster Power Management
On Sun, 17 May 2015, Maxime Ripard wrote: Hi Ian, On Sat, May 16, 2015 at 11:08:46AM +0100, Ian Campbell wrote: On Thu, 2015-05-14 at 14:10 +0800, Chen-Yu Tsai wrote: This is my attempt to support SMP and CPU hot plugging on the Allwinner A80 SoC. The A80 is a big.Little processor with 2 clusters of 4x Cortex-A7 and 4x Cortex-A15 cores. I thought there was a preference these days to support this sort of thing via support PSCI in the firmware, which allows for other things such as non-secure-world etc. Yes, it is the preferred way. Meaning that if someone wants to do that work, he's very much welcome and encouraged to do so. But if no one's doing it, then we still have to have a way to bringup the secondary CPUs. And doing so in the kernel (at least initially) is simpler, and so much easier to fix when it is broken. We've seen a few systems already where power management is crippled because no one is able/allowed/willing to fix the broken firmware. Nicolas
[linux-sunxi] Re: New firmware for GSL1680
Could you please explain more detailed this portion by reading registers 00 to 7F for each 128-byte block. Questions: 1) Does it enough only one 128-byte block? 2) How to determine how much such 128byte blocks should be read and where is the finish? On Monday, May 18, 2015 at 11:52:13 AM UTC+3, raste...@gmail.com wrote: Check if you have the i2c tools in your android system, and try to use them to dump the firmware from the running chip. You should be able to do it by reading registers 00 to 7F for each 128-byte block, and writting in register 0xF0 the page you want to read. -- You received this message because you are subscribed to the Google Groups linux-sunxi group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [linux-sunxi] [RFC 0/7] ARM: sun9i: SMP support with Multi-Cluster Power Management
Hi Nicolas, On Mon, May 18, 2015 at 01:19:18AM -0400, Nicolas Pitre wrote: On Sun, 17 May 2015, Maxime Ripard wrote: Hi Ian, On Sat, May 16, 2015 at 11:08:46AM +0100, Ian Campbell wrote: On Thu, 2015-05-14 at 14:10 +0800, Chen-Yu Tsai wrote: This is my attempt to support SMP and CPU hot plugging on the Allwinner A80 SoC. The A80 is a big.Little processor with 2 clusters of 4x Cortex-A7 and 4x Cortex-A15 cores. I thought there was a preference these days to support this sort of thing via support PSCI in the firmware, which allows for other things such as non-secure-world etc. Yes, it is the preferred way. Meaning that if someone wants to do that work, he's very much welcome and encouraged to do so. But if no one's doing it, then we still have to have a way to bringup the secondary CPUs. And doing so in the kernel (at least initially) is simpler, and so much easier to fix when it is broken. We've seen a few systems already where power management is crippled because no one is able/allowed/willing to fix the broken firmware. To be fair, our platform support is done by hobbyist, and our only implementation of PSCI is done through mainline u-boot, which means we have an easy way to fix any issue we might have, and that it's possible, otherwise we wouldn't have it at all. Maxime -- Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -- You received this message because you are subscribed to the Google Groups linux-sunxi group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. signature.asc Description: Digital signature
Re: [linux-sunxi] Re: New firmware for GSL1680
On 18 May 2015 at 11:15, sergk.ad...@gmail.com wrote: To ALL: Could anyone share binary static linked i2c tools for Baytrail x86 (i386) Android? If I understand right simply PC-i386/i686 i2c-tool package will not work? You can try but most likely you will have to rebuild i2c tools statically. There is some crunchgen or what it's called BSD tool which converts dynamic binaries to static but I am not sure how much BSD specific it is. Never tried it on Linux. Thanks Michal -- You received this message because you are subscribed to the Google Groups linux-sunxi group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[linux-sunxi] Re: New firmware for GSL1680
Check if you have the i2c tools in your android system, and try to use them to dump the firmware from the running chip. You should be able to do it by reading registers 00 to 7F for each 128-byte block, and writting in register 0xF0 the page you want to read. -- You received this message because you are subscribed to the Google Groups linux-sunxi group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[linux-sunxi] Re: New firmware for GSL1680
Thanks, Am I understand right - all I need - it is just open .ko file, jumb to symbols page and choose needed variable (4ex: GSLX680_FW_I81_GSL3676B_8001280_OGS_SG) and choose export to binary and as result I will get my firmware? In that case = declarations exists in .rodata and .data. ;-) of course I will try both, but would like to understand = which is correct. Regards, Serge. On Monday, May 18, 2015 at 9:46:55 AM UTC+3, Alexis Jeandet wrote: Hi, You can do it with readelf and dd, it's not straight forward, you need to find the symbol offset(table offset + symbol ofset) and size in the file then you dump it with dd. I made a graphical tool to make this easier: https://hephaistos.lpp.polytechnique.fr/redmine/projects/execut/wiki You have the choice between sources, rpm for fedora and static Win32 exe. Best regards, Alexis. On Monday, May 18, 2015 at 3:31:00 AM UTC+2, sergk...@gmail.com wrote: Hello. Could anyone share or describe the way how to extract it firmware for GSL1680 on 8 with 800x1280? What I have - rooted Android and binaries of kenel module (driver) fw is inside. Also I have original fw from Windows 8.1. More technical details for Linux Guru: I need assistance of extracting from ELFfile .data segment declared their static (constant) values. Look at the objdump objdump -t gslx68x_ts.ko | grep gsl_config 0140 g O .data035c gsl_config_data_id_gsl_customer 54a0 g O .data0800 gsl_config_data_id_I81_GSL3676B_8001280_OGS_SG 5ca0 g O .data0800 gsl_config_data_id_I802_GSL3676B_8001280_OGS_SG 64a0 g O .data0800 gsl_config_data_id_I802_GSL3676B_8001280_OGS_DZ 4ca0 g O .data0800 gsl_config_data_id_I100_GSL3692_1280800_GG_SG 44a0 g O .data0800 gsl_config_data_id_I89_GSL3676B_19201200_OGS_SG 34a0 g O .data0800 gsl_config_data_id_I71_GSL1686F_1024600_PG_XLL 24a0 g O .data0800 gsl_config_data_id_I86_GSL3676B_8001280_PG_FC 1ca0 g O .data0800 gsl_config_data_id_I86_GSL3676B_8001280_OGS_SG 2ca0 g O .data0800 gsl_config_data_id_I706_GSL1686_OGS_6001024_DZ_70F2 3ca0 g O .data0800 gsl_config_data_id_I89_GSL3676B_19201200_OGS_DZ 0ca0 g O .data0800 gsl_config_data_id_I101_GSL3692_1280800_GG_FC_FC101S123 14a0 g O .data0800 gsl_config_data_id_I86_GSL3676B_8001280_PG_FC_W 04a0 g O .data0800 gsl_config_data_id_I892_GSL3676B_8001280_OGS_SG objdump -x gslx68x_ts.ko | grep .data I am attaching linux driver module to this message. If it is needed windows fw file - please let me know - I will send it too. PS: Suppose this helps to have more fw for new screen! RELOCATION RECORDS FOR [.data]: 0040 R_386_32 gsl_config_data_id_gsl_customer 0044 R_386_32 gsl_config_data_id_I81_GSL3676B_8001280_OGS_SG 0048 R_386_32 gsl_config_data_id_I802_GSL3676B_8001280_OGS_SG 004c R_386_32 gsl_config_data_id_I802_GSL3676B_8001280_OGS_DZ 0050 R_386_32 gsl_config_data_id_I100_GSL3692_1280800_GG_SG 0054 R_386_32 gsl_config_data_id_I89_GSL3676B_19201200_OGS_SG 0058 R_386_32 gsl_config_data_id_I71_GSL1686F_1024600_PG_XLL 005c R_386_32 gsl_config_data_id_I86_GSL3676B_8001280_PG_FC 0060 R_386_32 gsl_config_data_id_I86_GSL3676B_8001280_OGS_SG 0064 R_386_32 gsl_config_data_id_I706_GSL1686_OGS_6001024_DZ_70F2 0068 R_386_32 gsl_config_data_id_I89_GSL3676B_19201200_OGS_DZ 006c R_386_32 gsl_config_data_id_I101_GSL3692_1280800_GG_FC_FC101S123 0070 R_386_32 gsl_config_data_id_I86_GSL3676B_8001280_PG_FC_W 0074 R_386_32 gsl_config_data_id_I892_GSL3676B_8001280_OGS_SG Kind regards, Serge Kolotylo. -- You received this message because you are subscribed to the Google Groups linux-sunxi group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[linux-sunxi] It seems that AllWinner released media codec source code
At least the source code of mpeg2, mpeg4, jpeg, h.264 decode library has been released today: github.com/allwinner-zh/media-codec Well done, allwinner. Hope encode library will follow. -- You received this message because you are subscribed to the Google Groups linux-sunxi group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[linux-sunxi] Re: New firmware for GSL1680
I would read all the 256 pages, and dump all them to my chip. On 18/05/15 11:00, sergk.ad...@gmail.com wrote: Could you please explain more detailed this portion by reading registers 00 to 7F for each 128-byte block. Questions: 1) Does it enough only one 128-byte block? 2) How to determine how much such 128byte blocks should be read and where is the finish? On Monday, May 18, 2015 at 11:52:13 AM UTC+3, raste...@gmail.com wrote: Check if you have the i2c tools in your android system, and try to use them to dump the firmware from the running chip. You should be able to do it by reading registers 00 to 7F for each 128-byte block, and writting in register 0xF0 the page you want to read. -- Nos leemos RASTER(Linux user #228804) ras...@rastersoft.com http://www.rastersoft.com -- You received this message because you are subscribed to the Google Groups linux-sunxi group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. signature.asc Description: OpenPGP digital signature
[linux-sunxi] Re: New firmware for GSL1680
To ALL: Could anyone share binary static linked i2c tools for Baytrail x86 (i386) Android? If I understand right simply PC-i386/i686 i2c-tool package will not work? On Monday, May 18, 2015 at 11:52:13 AM UTC+3, raste...@gmail.com wrote: Check if you have the i2c tools in your android system, and try to use them to dump the firmware from the running chip. You should be able to do it by reading registers 00 to 7F for each 128-byte block, and writting in register 0xF0 the page you want to read. -- You received this message because you are subscribed to the Google Groups linux-sunxi group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [linux-sunxi] It seems that AllWinner released media codec source code
On Mon, May 18, 2015 at 02:59:41AM -0700, jacky lau wrote: At least the source code of mpeg2, mpeg4, jpeg, h.264 decode library has been released today: github.com/allwinner-zh/media-codec Well done, allwinner. Hope encode library will follow. This does not absolve Allwinner from its legal requirements. There is a lot more going on in those binaries of theirs than what they released just now. Plus, i've been told that Cedrus supports those same codecs. Luc Verhaegen. -- You received this message because you are subscribed to the Google Groups linux-sunxi group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[linux-sunxi] Re: [PATCH v2 03/10] clk: sunxi: Let divs clocks read the base factor clock name from devicetree
Hi, On 05/16/15 04:10, Chen-Yu Tsai wrote: 2015年5月16日 上午12:39於 Jens Kuske jensku...@gmail.com寫道: [..] @@ -1141,6 +1133,7 @@ static void __init sunxi_divs_clk_setup(struct device_node *node, struct clk_gate *gate = NULL; struct clk_fixed_factor *fix_factor; struct clk_divider *divider; + struct factors_data factors = *data-factors; Isn't this a copy? void __iomem *reg; int ndivs = SUNXI_DIVS_MAX_QTY, i = 0; int flags, clkflags; @@ -1149,8 +1142,17 @@ static void __init sunxi_divs_clk_setup(struct device_node *node, if (data-ndivs) ndivs = data-ndivs; + /* Try to find a name for base factor clock */ + for (i = 0; i ndivs; i++) { + if (data-div[i].self) { + of_property_read_string_index(node, clock-output-names, + i, factors.name); Please excuse the bad formatting. I'm at the airport without my laptop. This will not work. All the static factors_data structs are const. You should make a copy of it, maybe on the stack, update the .name field, and pass that to sunxi_factors_clk_setup(). If I didn't miss anything, or misunderstood what you want to copy, this should be working fine. Jens -- You received this message because you are subscribed to the Google Groups linux-sunxi group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[linux-sunxi] Re: [PATCH v2 02/10] clk: sunxi: Add support for multiple parents to gates
Hi, On 05/17/15 14:50, Maxime Ripard wrote: Hi Jens, On Fri, May 15, 2015 at 06:38:52PM +0200, Jens Kuske wrote: Some newer sunxi SoCs (A83T, H3) don't have individual registers for AHB1, APB1 and APB2 gates anymore, but one big bus gates area where each gate can have a different parent. The current clock driver sets the same parent for all gates in a group. This commit adds a new parents field to the gates_data structure, which allows us to specify an array of parent indices for every single gate. Signed-off-by: Jens Kuske jensku...@gmail.com --- drivers/clk/sunxi/clk-sunxi.c | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c index 9a82f17..17cba4d 100644 --- a/drivers/clk/sunxi/clk-sunxi.c +++ b/drivers/clk/sunxi/clk-sunxi.c @@ -898,6 +898,8 @@ static void __init sunxi_divider_clk_setup(struct device_node *node, struct gates_data { DECLARE_BITMAP(mask, SUNXI_GATES_MAX_SIZE); +/* If used, ARRAY_SIZE(parents) has to be = bitmap_weight(mask) */ +const u8 *parents; }; static const struct gates_data sun4i_axi_gates_data __initconst = { @@ -1000,16 +1002,21 @@ static void __init sunxi_gates_clk_setup(struct device_node *node, struct gates_data *data) { struct clk_onecell_data *clk_data; +const char *parents[SUNXI_MAX_PARENTS]; const char *clk_parent; const char *clk_name; void __iomem *reg; +int npar = 0; int qty; int i = 0; int j = 0; reg = of_iomap(node, 0); -clk_parent = of_clk_get_parent_name(node, 0); +while (npar SUNXI_MAX_PARENTS + (parents[npar] = of_clk_get_parent_name(node, npar)) != NULL) +npar++; +clk_parent = parents[0]; /* Worst-case size approximation and memory allocation */ qty = find_last_bit(data-mask, SUNXI_GATES_MAX_SIZE); @@ -1026,6 +1033,9 @@ static void __init sunxi_gates_clk_setup(struct device_node *node, of_property_read_string_index(node, clock-output-names, j, clk_name); +if (data-parents !WARN_ON(data-parents[j] = npar)) +clk_parent = parents[data-parents[j]]; + I'm currently removing that code, so I was more expecting a new standalone driver for that clock. How do you want to replace that code? To me this looks like a good way to set up all the different gates sunxi has. Jens -- You received this message because you are subscribed to the Google Groups linux-sunxi group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[linux-sunxi] Re: [PATCH v2 08/10] reset: sunxi: Add compatible for Allwinner H3 bus resets
On 05/17/15 16:31, Maxime Ripard wrote: On Fri, May 15, 2015 at 06:38:58PM +0200, Jens Kuske wrote: Adding a new compatible allows us to define SoC specific behaviour if necessary, for example forcing a particular device out of reset even if no driver is actually using it. Signed-off-by: Jens Kuske jensku...@gmail.com This should have been sent to the reset framework maintainer. I knew I missed something. Given all the other comments, I'll need a v3 anyway. Jens -- You received this message because you are subscribed to the Google Groups linux-sunxi group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.