summaryrefslogtreecommitdiff
path: root/cleopatre/linux-2.6.25.10-spc300/drivers
AgeCommit message (Collapse)Author
2013-10-01cleo/linux,common/include: add USB host driver, closes #4212Fisher Cheng
2013-05-30cleo/linux/drivers/net/arm: add fixed phy support in eth driver, closes #4009Olivier Dufour
2013-05-30cleo/linux/drivers/net/phy: add getters in fixed driver, refs #4009Olivier Dufour
2013-05-30cleo/linux/drivers/net/phy: allocate phydev in fixed driver, refs #4009Olivier Dufour
2013-05-02{common, cleo/linux/drivers}: Linux unlock flash at boot, refs 3931Julien Lacour
Linux will unlock flash at boot if driver can determine it is locked at reset.
2013-04-18{cleo, polux}/linux/drivers/net: set RMII speed in ETH_CONFIG, closes #3900Olivier Dufour
2013-03-27cleo/linux/drivers/gpio: remove debug printk, closes #3873Olivier Dufour
2013-02-14cleo/linux/driver/mtd: linux use flash list defined in common, refs #3647Thierry Carré
2013-02-06cleo/linux/driver/net/phy: disable EEE in RTL821x phy driver, refs #3755Olivier Dufour
Backport of eoc-drv code, see #3664.
2013-01-31{cleo/linux, common/inc/asm/arch}: create sram-mapping.h, refs #3692Cyril Jourdan
The goal is to separate the management of SRAM data organization (now in sram-mapping.h) and the management of SRAM as an hardware IP (in ips/sram.h). Moreover, we separate the SRAM mapping from the definition of data that will be put in SRAM. This allows to give access to whole SRAM only to software components which are responsible for managing a part of the data in SRAM. For the moment, the only software component that uses SRAM is Power Management, but autoswitch comes soon...
2013-01-18cleo/linux/driver/net/phy: add support for our realtek chipset, refs #3707Jérémy Dufour
The mask provided is too small and only support one chipset. With this mask, the version can change. The OUI (LSB and MSB) and the model must be the same as the one provided.
2013-01-18cleo/linux/driver/net: reset PHY only when at driver loading, refs #3707Jérémy Dufour
Rather than reseting the PHY every time the device is opened, it is now reseted when the synopsys driver is probing. In polux, this is the same: it is done at driver init.
2012-12-21cleo/app/pmd: add a daemon to handle power state changes, closes #2633Olivier Dufour
pmd polls /proc/pm/suspend_cmd, and triggers the suspend script when the criterias are matched. The criterias are defined and handled by the kernel, pmd only reads the status entry and triggers the script, as it cannot be done from kernel space.
2012-12-21cleo/linux/arch/arm/spc300: wake up on eth link up, refs #2633Olivier Dufour
There is now a data section in SRAM, that contains dynamic parameters for pm_process function in SRAM.
2012-12-21cleo/linux/drv/net/arm: switch off ethernet clocks, refs #2633Olivier Dufour
2012-12-18cleo/linux/drivers/mtd: try to erase by 64K sector if possible, refs #3520Jérémy Dufour
2012-12-18cleo/linux/drivers/mtd: store sector size in flash structure, refs #3520Jérémy Dufour
2012-12-18cleo/linux/drivers/mtd: store 4K sector flag in flash structure, refs #3520Jérémy Dufour
2012-12-18cleo/linux/drivers/mtd: add helper function for 4K erasing config, refs #3520Jérémy Dufour
2012-12-06cleo/linux/driver/mtd: remove the 4K support for winbond, closes #3559Olivier Dufour
2012-11-06cleo/arch/arm/spc300: Add support of eth2 for MSE500, closes #3413Olivier Dufour
2012-11-06cleo/linux/drv/eth: don't netif_wake_queue() on link upYacine Belkadi
In the Synop3504 Ethernet driver, there is no reason to wake the queue on link up, because it's already started on open() and it's not stopped on link down.
2012-11-06cleo/linux/drv/eth: don't txdesc_reset() on link up, refs #3195, (ind.) ↵Yacine Belkadi
closes #3439 In the Synop3504 Ethernet driver, the Tx descriptors were reset on link up. That's not necessary because the MAC TxDMA will process (fetch and close) the Tx descriptors even if the link is down. So letting the normal process happen will take care of the pending descriptors. This Tx descriptor reset already caused problems when it was performed on link_down. It was then moved to link up. In link up, this reset is one of the causes of #3439*. So removing the reset of the Tx descriptors on link up also indirectly closes the ticket #3439. *#3439 is a kernel oops that happens when booting in "single mode" on a board with an IP75D PHY: The IP175D driver declares its readiness to the Linux PHY Layer in a particular way, probably to skip the Auto-Negotiation step. As a consequence, the PHY layer may call the Ethernet driver's adjust_link() before it's ready (before phy_start() is called). In other words, adjust_link() may be called before the driver has initialized the descriptors. If that happens, the Ethernet driver touches the uninitialized Tx descriptors, and a kernel oops occurs. The problem is visible in single mode because the eth interface is not brought up. So synop3504_open() is not run. So the Tx descriptors are not already initialized when the PHY layer calls synop3504_handle_link_change() which calls txdesc_reset(), which causes a kernel oops.
2012-11-06cleo/linux/drv/eth: don't netif_carrier_{on|off}() on link change, closes #3254Yacine Belkadi
In the Synop3504 Ethernet driver, it is not necessary to call netif_carrier_{on,off}() on link up/down, because the PHY layer already takes care of that before calling the driver's link change handler. More precisely, in linux/drivers/net/phy.c, phy_state_machine() calls netif_carrier_{on|off}() before calling phydev->adjust_link().
2012-10-31cleo/{linux, openocd}: add support for w25q64 flash, closes #3447Jean-Philippe SAVE
2012-10-31cleo/{linux, openocd}: suppress duplicated JEDEC info on flashs, closes #3446Jean-Philippe SAVE
The winbond flash w25q32 is declared twice.
2012-10-19cleo/linux/driver/net/arm/synop3504: flush MIU only on MSE500, closes #3408Jean-Philippe SAVE
2012-10-18{cleo,polux}/linux: simplify watchdog API, closes #3296Jérémy Dufour
The function spc300_wdt_stop is removed: we can not stop the watchdog. The functions spc300_wdt_restart and spc300_wdt_settimeout are replaced by spc300_wdt_start.
2012-10-17cleo/linux/driver/net/arm/synop3504: adapt synchro with DMA, closes #3408Jean-Philippe SAVE
- force compiler to set dma own-bit at the end of the descriptor changes. - waiting for miu flush before using dma descriptors changed by dma.
2012-09-20cleo/linux: add a driver for mseafe, refs #3318Jean-Philippe SAVE
2012-09-20cleo/linux/drivers/afe: use 32 bits for read/write functions, refs #3318Jean-Philippe SAVE
2012-09-20cleo/{linux, buildroot}: handle eth clks and rgmii on MSE500, refs #3318Jean-Philippe SAVE
2012-09-20cleo/linux/drivers/spi: extract reset macro from headerJean-Philippe SAVE
2012-09-20cleo/{linux/drivers/mtd/, tools/openocd-r668/}: Support new flashesJulien Lacour
2012-09-20cleopatre: rename SPC300DINI into MSE500DINI_300, refs #3119Cyril Jourdan
2012-09-20{cleo, common}: rename spc300_nvram into spidcom_nvram, refs #3119Cyril Jourdan
This is done to use common NVRAM structure and variable names with polux.
2012-09-20cleo/linux: rename hardware and import dir into ips and hardware, refs #3119Cyril Jourdan
2012-09-06cleo/linux/drv/net/arm/synop3504: reset rings on timeout, refs #3161Nélio Laranjeiro
Linux network scheduler handles a timer to detect timeout TX. This timeout is configurable for the device. The watchdog only call the drivers' timeout function if the carrier is ON, so it is only used to detect problems on transmission or congestion on the medium. In our case, as the timeout is pretty long, if the first packet in the DMA has expired the last one has expired too, so the ring can be reseted. This is only true for TX DMA ring, because the timeout is configured to expire 4 seconds after the last TX has been requested. Used example from drivers/net/meth.c
2012-09-06cleo/linux/drv/net/arm/synop3504: only reset TX desc on link_up, closes #3195Nélio Laranjeiro
All received packets are still for linux or any application on linux or even for cesar, so those packets can be processed. On the contrary, TX descriptors are for the world behind the Ethernet, this world could have change between the link_down and the link_up, so it is better to discard packets currently present in the DMA.
2012-09-06cleo/linux/drv/net/arm/synop3504: remove netif_carrier_off on stop, refs #3195Nélio Laranjeiro
Calling netif_carrier_off on stop function is redundant with the behavior of the phy_stop function. When the PHY change its status, it calls the driver's handler synop3504_handle_link_change, this function will check the status and call link_down function. Currently synop3504_on_link_down calls netif_carrier_off linux's function, as it is done by the process, there is no need to call it twice.
2012-09-06cleo/linux/drv/net/arm/synop3504: don't stop DMA on link_down, refs #3195Nélio Laranjeiro
On link down, there is no need to stop the DMA neither to stop the queue. The PHY has no link, so it will not receive any frame from Ethernet. TX is stopped until the link becomes UP (i.e. netif_carrier_on is called).
2012-09-06cleo/linux/drv/net/arm/synop3504: remove link_down call on open, refs #3195Nélio Laranjeiro
In open function, the link_down should not be called as nothing is started yet.
2012-09-06cleo/linux/drv/net/arm/synop3504: start DMA on synop3504_open, refs #3195Nélio Laranjeiro
Open function should prepare the DMA for transmissions. Linux has still the carrier OFF so it will not try to send packets. As the PHY is started at the end of the open function, it can receive frames from the Ethernet before the handler could be called (i.e. synop3504_handle_link_change), in this case the DMA is ready and can process the received frame.
2012-07-24cleo/linux/driver[eoc]: add flash default config for m25p80 driver, closes #3264Tom Yang
2012-06-28cleo/linux/drv/net/arm/synop3504: do not enable carrier at open, closes #3048Cyril Jourdan
We must wait a link up and declare carrier on. We do this to prevent us from trying to send packets before first link up, what may create a shift between DMA current descriptor address and our TX descriptor ring state.
2012-06-13cleo/linux: rename CONFIG_AD986X to CONFIG_AFE_AD986X, refs #3082Yacine Belkadi
Rename the config option of the AD986X driver to reflect that it's an AFE driver. NB: The "select AFE_AD986X" line is a temporary hack to let everything compile without the updated defconfig files. It will be removed in a subsequent commit.
2012-06-13cleo/linux/{afe,drv/afe/ad986x}: remove the old AFE functions, refs #3082Yacine Belkadi
The old AFE API is no longer used. So this commit removes it.
2012-06-13cleo/linux/drv/afe/ad986x: support the new AFE API functions, refs #3082Yacine Belkadi
Update the AD986X module to support the new AFE API. The previous API is not removed yet.
2012-06-13cleo/linux: add an "AFE" menuconfig, refs #3082Yacine Belkadi
Add a new config option "CONFIG_AFE" for the AFE support and drivers. NB: The "select AFE" line is a temporary hack to let everything compile without the updated defconfig files. It will be removed in a subsequent commit.
2012-06-13cleo/linux/drv/afe: add new AFE api, refs #3082Yacine Belkadi
Add a new API for AFE related operations, that better handles error cases like when there is no AFE device. The previous API is tagged as "deprecated", but no removed yet.