litex.git
10 years agoliteeth/software: fix wishbone bridge
Florent Kermarrec [Mon, 22 Jun 2015 22:53:31 +0000 (00:53 +0200)]
liteeth/software: fix wishbone bridge

10 years agoliteeth/example_designs: add false path between clock domains (speed up implementatio...
Florent Kermarrec [Mon, 22 Jun 2015 22:37:31 +0000 (00:37 +0200)]
liteeth/example_designs: add false path between clock domains (speed up implementation) and use automatic PHY detection

10 years agoliteeth/core/arp: fix table timer (wait_timer adaptation issue)
Florent Kermarrec [Mon, 22 Jun 2015 22:25:26 +0000 (00:25 +0200)]
liteeth/core/arp: fix table timer (wait_timer adaptation issue)

10 years agoliteeth/core/arp: fix missing MAC address in ARP reply
Florent Kermarrec [Mon, 22 Jun 2015 21:15:00 +0000 (23:15 +0200)]
liteeth/core/arp: fix missing MAC address in ARP reply

10 years agosoftware/libbase/system: fix flush_l2_cache
Florent Kermarrec [Fri, 19 Jun 2015 07:00:14 +0000 (09:00 +0200)]
software/libbase/system: fix flush_l2_cache

10 years agosoc/sdram: add L2_SIZE constant and avoid declaring an empty flush_l2_cache function...
Florent Kermarrec [Fri, 19 Jun 2015 06:39:37 +0000 (08:39 +0200)]
soc/sdram: add L2_SIZE constant and avoid declaring an empty flush_l2_cache function when L2_SIZE is not defined

10 years agoindentation
Sebastien Bourdeauducq [Wed, 17 Jun 2015 14:32:17 +0000 (08:32 -0600)]
indentation

10 years agosoc/sdram: add capability to share L2 cache in multi-CPU SoCs
Florent Kermarrec [Wed, 17 Jun 2015 12:52:30 +0000 (14:52 +0200)]
soc/sdram: add capability to share L2 cache in multi-CPU SoCs

10 years agosdram: use wishbone cache as L2 cache and add optional L2 cache to Minicon
Florent Kermarrec [Tue, 16 Jun 2015 17:06:24 +0000 (19:06 +0200)]
sdram: use wishbone cache as L2 cache and add optional L2 cache to Minicon

10 years agolitesata: use 200MHz clock and SATA3 (6.0Gb/s) on all example designs: working :)
Florent Kermarrec [Wed, 10 Jun 2015 10:15:59 +0000 (12:15 +0200)]
litesata: use 200MHz clock and SATA3 (6.0Gb/s) on all example designs: working :)

10 years agolitesata/phy/k7: apply AR# 63869 to keep CDR in hold during SATA link initialization
Florent Kermarrec [Wed, 10 Jun 2015 10:14:48 +0000 (12:14 +0200)]
litesata/phy/k7: apply AR# 63869 to keep CDR in hold during SATA link initialization

self.rxelecidle is already filtered so the "20 USRCLK cycles before setting RXCDRHOLD to 1'b0" are respected.

10 years agosdram: use new Migen Converter in Minicon frontend and small cleanup
Florent Kermarrec [Tue, 2 Jun 2015 17:35:00 +0000 (19:35 +0200)]
sdram: use new Migen Converter in Minicon frontend and small cleanup

10 years agosdram/phy: fix simphy memory usage
Florent Kermarrec [Tue, 2 Jun 2015 17:33:09 +0000 (19:33 +0200)]
sdram/phy: fix simphy memory usage

10 years agosdram: refactor minicon and fix issues with DDRx memories
Florent Kermarrec [Fri, 29 May 2015 10:26:34 +0000 (12:26 +0200)]
sdram: refactor minicon and fix issues with DDRx memories

- simplify code
- fix AddressSlicer
- manage write latency and write to precharge timings
- add odt/reset_n signals

10 years agospiflash: now using 64k sectors
Yann Sionneau [Fri, 15 May 2015 09:03:02 +0000 (11:03 +0200)]
spiflash: now using 64k sectors

10 years agospiflash: cleanup unnecessary parenthesis
Yann Sionneau [Fri, 15 May 2015 09:02:16 +0000 (11:02 +0200)]
spiflash: cleanup unnecessary parenthesis

10 years agolitesata: more doc fixes
Sebastien Bourdeauducq [Tue, 26 May 2015 06:13:13 +0000 (14:13 +0800)]
litesata: more doc fixes

10 years agoMerge branch 'master' of https://github.com/m-labs/misoc
Sebastien Bourdeauducq [Tue, 26 May 2015 05:57:26 +0000 (13:57 +0800)]
Merge branch 'master' of https://github.com/m-labs/misoc

Conflicts:
misoclib/mem/litesata/doc/source/docs/frontend/index.rst

10 years agolitesata: doc fixes
Sebastien Bourdeauducq [Tue, 26 May 2015 05:54:31 +0000 (13:54 +0800)]
litesata: doc fixes

10 years agoliteata: fix spelling & mistakes in doc
Florent Kermarrec [Tue, 26 May 2015 05:37:09 +0000 (07:37 +0200)]
liteata: fix spelling & mistakes in doc

10 years agolitesata: rework frontend doc and add striping, mirroring
Florent Kermarrec [Mon, 25 May 2015 12:04:37 +0000 (14:04 +0200)]
litesata: rework frontend doc and add striping, mirroring

10 years agolitesata: add mirroring
Florent Kermarrec [Mon, 25 May 2015 12:03:14 +0000 (14:03 +0200)]
litesata: add mirroring

10 years agolitesata/examples_designs: add striping
Florent Kermarrec [Mon, 25 May 2015 11:57:27 +0000 (13:57 +0200)]
litesata/examples_designs: add striping

10 years agolitesata/core/link: move buffer on CONTInserter (seems better for timings when set...
Florent Kermarrec [Mon, 25 May 2015 11:55:15 +0000 (13:55 +0200)]
litesata/core/link: move buffer on CONTInserter (seems better for timings when set on sink)

10 years agoliteusb/core/packet: fix missing ,
Florent Kermarrec [Mon, 25 May 2015 11:53:02 +0000 (13:53 +0200)]
liteusb/core/packet: fix missing ,

10 years agolitesata: add striping module for use of multiple HDDs.
Florent Kermarrec [Sat, 23 May 2015 12:12:20 +0000 (14:12 +0200)]
litesata: add striping module for use of multiple HDDs.

10 years agolitesata: do some cleanup and prepare for RAID
Florent Kermarrec [Sat, 23 May 2015 12:08:56 +0000 (14:08 +0200)]
litesata: do some cleanup and prepare for RAID

10 years agocores: replace Timeout with new WaitTimer
Florent Kermarrec [Tue, 12 May 2015 13:49:20 +0000 (15:49 +0200)]
cores: replace Timeout with new WaitTimer

10 years agouart: rename wishbone to bridge
Florent Kermarrec [Sat, 9 May 2015 14:24:28 +0000 (16:24 +0200)]
uart: rename wishbone to bridge

10 years agouart: remove litescope dependency for UARTWishboneBridge and remove frontend
Florent Kermarrec [Sat, 9 May 2015 13:48:54 +0000 (15:48 +0200)]
uart: remove litescope dependency for UARTWishboneBridge and remove frontend

10 years agoliteusb/frontend/dma: remove +4 to length for CRC (we'll do it in core)
Florent Kermarrec [Thu, 7 May 2015 18:03:55 +0000 (20:03 +0200)]
liteusb/frontend/dma: remove +4 to length for CRC (we'll do it in core)

10 years agoliteusb/phy/ft245: rename "ftdi" clock domain to "usb"
Florent Kermarrec [Thu, 7 May 2015 18:03:12 +0000 (20:03 +0200)]
liteusb/phy/ft245: rename "ftdi" clock domain to "usb"

10 years agolitesata: fix packets figure in frontend doc
Florent Kermarrec [Thu, 7 May 2015 09:06:05 +0000 (11:06 +0200)]
litesata: fix packets figure in frontend doc

10 years agoREADME: add note about submodules
Sebastien Bourdeauducq [Thu, 7 May 2015 08:29:30 +0000 (16:29 +0800)]
README: add note about submodules

10 years agolitesata: add doc for frontend
Florent Kermarrec [Wed, 6 May 2015 01:51:02 +0000 (03:51 +0200)]
litesata: add doc for frontend

10 years agolitesata: cleanup README/doc
Florent Kermarrec [Wed, 6 May 2015 00:02:22 +0000 (02:02 +0200)]
litesata: cleanup README/doc

10 years agolitesata: use (some) settings from vivado 2015.1, try to follow all ug476 recommendat...
Florent Kermarrec [Tue, 5 May 2015 23:33:02 +0000 (01:33 +0200)]
litesata: use (some) settings from vivado 2015.1, try to follow all ug476 recommendations to initialize GTX (...), remove automatic reset on top.

Works fine @ 3Gbps, still not working @6.0Gbps

10 years agospiflash: fix miso bitbang with large DQ
Sebastien Bourdeauducq [Tue, 5 May 2015 16:05:25 +0000 (00:05 +0800)]
spiflash: fix miso bitbang with large DQ

10 years agosoc/sdram: Vivado 2015.1 still does not fix issue with L2 cache, update comment...
Florent Kermarrec [Mon, 4 May 2015 10:28:49 +0000 (12:28 +0200)]
soc/sdram: Vivado 2015.1 still does not fix issue with L2 cache, update comment...

10 years agomisoclib/cpu: merge git.py in identifier
Florent Kermarrec [Sat, 2 May 2015 16:42:33 +0000 (18:42 +0200)]
misoclib/cpu: merge git.py in identifier

10 years agoliteusb: add simple example design with wishbone bridge and software to control it
Florent Kermarrec [Sat, 2 May 2015 15:39:22 +0000 (17:39 +0200)]
liteusb: add simple example design with wishbone bridge and software to control it

10 years agorename shadow_address to shadow_base (more appropriate) and use | instead of + (as...
Florent Kermarrec [Sat, 2 May 2015 14:57:32 +0000 (16:57 +0200)]
rename shadow_address to shadow_base (more appropriate) and use | instead of + (as done in artiq)

10 years agoliteeth/core/mac: minor cleanup
Florent Kermarrec [Sat, 2 May 2015 14:48:57 +0000 (16:48 +0200)]
liteeth/core/mac: minor cleanup

10 years agoliteusb/frontend/wishbone: use new packetized mode (allow grouping response in a...
Florent Kermarrec [Sat, 2 May 2015 14:15:58 +0000 (16:15 +0200)]
liteusb/frontend/wishbone: use new packetized mode (allow grouping response in a single packet)

10 years agolitescope/frontend/wishbone: add support for packetized mode
Florent Kermarrec [Sat, 2 May 2015 14:15:08 +0000 (16:15 +0200)]
litescope/frontend/wishbone: add support for packetized mode

10 years agoliteusb/software/wishbone: optimize writes/reads (send a single packet for a command)
Florent Kermarrec [Sat, 2 May 2015 13:25:40 +0000 (15:25 +0200)]
liteusb/software/wishbone: optimize writes/reads (send a single packet for a command)

10 years agodo more test with last changes fix small issues
Florent Kermarrec [Sat, 2 May 2015 12:26:19 +0000 (14:26 +0200)]
do more test with last changes fix small issues

10 years agoliteeth: move mac to core
Florent Kermarrec [Sat, 2 May 2015 10:55:51 +0000 (12:55 +0200)]
liteeth: move mac to core

10 years agocores: avoid having too much directories when possible (for simple cores or cores...
Florent Kermarrec [Sat, 2 May 2015 09:14:55 +0000 (11:14 +0200)]
cores: avoid having too much directories when possible (for simple cores or cores contained in a single file)

10 years agouse similar names for wishbone bridges and move wishbone drivers to [core]/software
Florent Kermarrec [Sat, 2 May 2015 08:24:56 +0000 (10:24 +0200)]
use similar names for wishbone bridges and move wishbone drivers to [core]/software

10 years agotargets/pipistrello: add flash sizes
Zach Smith [Fri, 1 May 2015 18:41:37 +0000 (14:41 -0400)]
targets/pipistrello: add flash sizes

10 years agolitescope: add basic LiteScopeUSB2WishboneFTDIDriver (working but need to be optimized)
Florent Kermarrec [Fri, 1 May 2015 18:33:56 +0000 (20:33 +0200)]
litescope: add basic LiteScopeUSB2WishboneFTDIDriver (working but need to be optimized)

10 years agolitescope: rename host directory to software (to be coherent with others cores)
Florent Kermarrec [Fri, 1 May 2015 18:27:31 +0000 (20:27 +0200)]
litescope: rename host directory to software (to be coherent with others cores)

10 years agoliteusb: add basic wishbone frontend (We could also reuse Etherbone in the future)
Florent Kermarrec [Fri, 1 May 2015 18:20:20 +0000 (20:20 +0200)]
liteusb: add basic wishbone frontend (We could also reuse Etherbone in the future)

10 years agolitescope: fix missing source ack on LiteScopeWishboneBridge
Florent Kermarrec [Fri, 1 May 2015 18:19:49 +0000 (20:19 +0200)]
litescope: fix missing source ack on LiteScopeWishboneBridge

10 years agolitescope/bridge: create a generic wishbone bridge that can be used with different...
Florent Kermarrec [Fri, 1 May 2015 15:42:00 +0000 (17:42 +0200)]
litescope/bridge: create a generic wishbone bridge that can be used with different phys (the phy needs to provide a sink/source with 8bits data).

- we can now pass a phy to LiteScopeWishboneBridge
- LiteScopeUART2Wishbone is only a specific LiteScopeWishboneBridge
- UART mux is removed since complicated and no longer useful (we can now create easily virtual UART over Ethernet, USB or PCIe) or simply add another UART for debug.

10 years agolitescope: use full name in io.py
Florent Kermarrec [Fri, 1 May 2015 15:23:44 +0000 (17:23 +0200)]
litescope: use full name in io.py

10 years agotargets/minispartan6: add USBSoC (working, should also be usable on pipistrello)
Florent Kermarrec [Fri, 1 May 2015 14:16:48 +0000 (16:16 +0200)]
targets/minispartan6: add USBSoC (working, should also be usable on pipistrello)

10 years agoliteusb: refactor software (use python instead of libftdicom in C) and provide simple...
Florent Kermarrec [Fri, 1 May 2015 14:15:15 +0000 (16:15 +0200)]
liteusb: refactor software (use python instead of libftdicom in C) and provide simple example.

small modifications to fastftdi.c are also done to select our interface (A or B) and mode (synchronous, asynchronous)

10 years agoliteusb: continue refactoring (virtual UART and DMA working on minispartan6)
Florent Kermarrec [Fri, 1 May 2015 14:11:15 +0000 (16:11 +0200)]
liteusb: continue refactoring (virtual UART and DMA working on minispartan6)

- rename ft2232h phy to ft245.
- make crc optional
- fix depacketizer
- refactor uart (it's now only a wrapper around standard UART)
- fix and update dma

10 years agocom/uart: add tx and rx fifos.
Florent Kermarrec [Fri, 1 May 2015 13:58:10 +0000 (15:58 +0200)]
com/uart: add tx and rx fifos.

Since ressource usage is low with default depth of 16 (implemented in RAM LUTs) we don't keep old behaviour.
Tested successfully with BIOS and flterm.

10 years agoliteusb: add ft2232h_sync_tb
Florent Kermarrec [Tue, 28 Apr 2015 17:05:34 +0000 (19:05 +0200)]
liteusb: add ft2232h_sync_tb

10 years agoliteusb: add FT2232HPHYAsynchronous PHY (Minispartan6+, Pipistrello), needs more...
Florent Kermarrec [Tue, 28 Apr 2015 17:00:13 +0000 (19:00 +0200)]
liteusb: add FT2232HPHYAsynchronous PHY (Minispartan6+, Pipistrello), needs more simulations and on-board tests

10 years agoliteusb: continue refactoring and add core_tb (should be almost OK)
Florent Kermarrec [Tue, 28 Apr 2015 16:58:38 +0000 (18:58 +0200)]
liteusb: continue refactoring and add core_tb (should be almost OK)

10 years agomisoclib/com/uart: remove liteeth dependency (copy/paste error)
Florent Kermarrec [Tue, 28 Apr 2015 16:53:46 +0000 (18:53 +0200)]
misoclib/com/uart: remove liteeth dependency (copy/paste error)

10 years agoliteeth: use Migen's Packetizer/Depacketizer, remove generic and move etherbone/tty...
Florent Kermarrec [Tue, 28 Apr 2015 16:51:40 +0000 (18:51 +0200)]
liteeth: use Migen's Packetizer/Depacketizer, remove generic and move etherbone/tty to frontend

10 years agolitesata: cleanup link
Florent Kermarrec [Mon, 27 Apr 2015 13:33:01 +0000 (15:33 +0200)]
litesata: cleanup link

10 years agoMerge branch 'master' of https://github.com/m-labs/misoc
Florent Kermarrec [Mon, 27 Apr 2015 13:28:08 +0000 (15:28 +0200)]
Merge branch 'master' of https://github.com/m-labs/misoc

10 years agoliteusb: begin refactoring and simplification (wip)
Florent Kermarrec [Mon, 27 Apr 2015 13:19:54 +0000 (15:19 +0200)]
liteusb: begin refactoring and simplification (wip)

10 years agoliteeth: use new Migen modules from actorlib (avoid duplications between cores)
Florent Kermarrec [Mon, 27 Apr 2015 13:06:37 +0000 (15:06 +0200)]
liteeth: use new Migen modules from actorlib (avoid duplications between cores)

10 years agolitepcie: use new Migen modules from actorlib (avoid duplications between cores)
Florent Kermarrec [Mon, 27 Apr 2015 12:59:29 +0000 (14:59 +0200)]
litepcie: use new Migen modules from actorlib (avoid duplications between cores)

10 years agolitesata: split hdd model (phy, link, transport, command & hdd) and update simulations
Florent Kermarrec [Mon, 27 Apr 2015 12:50:43 +0000 (14:50 +0200)]
litesata: split hdd model (phy, link, transport, command & hdd) and update simulations

10 years agolitesata: use new Migen modules from actorlib/packet.py (avoid duplications between...
Florent Kermarrec [Mon, 27 Apr 2015 12:48:14 +0000 (14:48 +0200)]
litesata: use new Migen modules from actorlib/packet.py (avoid duplications between cores)

10 years agolitesata: remove icarus_workaround.patch (obsolete)
Florent Kermarrec [Mon, 27 Apr 2015 12:44:54 +0000 (14:44 +0200)]
litesata: remove icarus_workaround.patch (obsolete)

10 years agospiflash: use SoC defines, add write_to_flash function
Sebastien Bourdeauducq [Mon, 27 Apr 2015 05:42:32 +0000 (13:42 +0800)]
spiflash: use SoC defines, add write_to_flash function

10 years agoliteeth: do MII/GMII detection in gateware for gmii_mii phy
Florent Kermarrec [Sun, 26 Apr 2015 15:32:25 +0000 (17:32 +0200)]
liteeth: do MII/GMII detection in gateware for gmii_mii phy

10 years agoliteeth/phy/gmii: add default value for pads_register
Florent Kermarrec [Sun, 26 Apr 2015 12:52:05 +0000 (14:52 +0200)]
liteeth/phy/gmii: add default value for pads_register

10 years agoliteeth: fix and improve 10/100/1000Mbps speed auto detection
Florent Kermarrec [Sun, 26 Apr 2015 12:13:09 +0000 (14:13 +0200)]
liteeth: fix and improve 10/100/1000Mbps speed auto detection

10 years agoliteeth/core/ip: simplify ip rx checksum control
Florent Kermarrec [Fri, 24 Apr 2015 09:31:10 +0000 (11:31 +0200)]
liteeth/core/ip: simplify ip rx checksum control

10 years agoliteeth: finish with_preamble_crc vs with_hw_preamble_crc renaming
Florent Kermarrec [Fri, 24 Apr 2015 09:30:35 +0000 (11:30 +0200)]
liteeth: finish with_preamble_crc vs with_hw_preamble_crc renaming

10 years agoliteeth/mac/core: simplify and fix padding
Florent Kermarrec [Fri, 24 Apr 2015 07:06:26 +0000 (09:06 +0200)]
liteeth/mac/core: simplify and fix padding

10 years agolitescope: fix read in reg.py
Florent Kermarrec [Mon, 20 Apr 2015 06:16:31 +0000 (08:16 +0200)]
litescope: fix read in reg.py

10 years agolitescope: remove repeat mode on drivers (not useful) and cleanup
Florent Kermarrec [Sat, 18 Apr 2015 13:37:38 +0000 (15:37 +0200)]
litescope: remove repeat mode on drivers (not useful) and cleanup

10 years agolite* cores: changes permissions (+x) on make.py files and on litepcie init.sh file
Florent Kermarrec [Sat, 18 Apr 2015 12:51:59 +0000 (08:51 -0400)]
lite* cores: changes permissions (+x) on make.py files and on litepcie init.sh file

10 years agolitescope: add PCIe driver (mmap/Sysfs) and use it on litepcie example design
Florent Kermarrec [Sat, 18 Apr 2015 11:53:14 +0000 (13:53 +0200)]
litescope: add PCIe driver (mmap/Sysfs) and use it on litepcie example design

10 years agolitepcie: fix asciiart in make.py
Florent Kermarrec [Fri, 17 Apr 2015 12:10:32 +0000 (14:10 +0200)]
litepcie: fix asciiart in make.py

10 years agolitepcie: add litepcie_phy_wrappers to extcores
Florent Kermarrec [Fri, 17 Apr 2015 11:52:21 +0000 (13:52 +0200)]
litepcie: add litepcie_phy_wrappers to extcores

10 years agolitepcie: add linux driver + utilities (sysfs + dma)
Florent Kermarrec [Fri, 17 Apr 2015 11:48:34 +0000 (13:48 +0200)]
litepcie: add linux driver + utilities (sysfs + dma)

10 years agoadd litepcie core
Florent Kermarrec [Fri, 17 Apr 2015 11:45:01 +0000 (13:45 +0200)]
add litepcie core

10 years agosoc: add shadow_address parameter
Florent Kermarrec [Fri, 17 Apr 2015 11:33:07 +0000 (13:33 +0200)]
soc: add shadow_address parameter

When don't necessary want to have shadow memories and be able to start CSR at address 0x00000000(for example with an X86 CPU)

10 years agosoc/cpuif: add with_access_functions parameter
Florent Kermarrec [Fri, 17 Apr 2015 11:26:38 +0000 (13:26 +0200)]
soc/cpuif: add with_access_functions parameter

When don't necessary need access functions in our csr.h (for example with an X86 CPU)

10 years agolitesata/test: fix PYTHONPATH
Sebastien Bourdeauducq [Thu, 16 Apr 2015 11:49:46 +0000 (19:49 +0800)]
litesata/test: fix PYTHONPATH

10 years agoCONTRIBUTING: minor fixes
Sebastien Bourdeauducq [Tue, 14 Apr 2015 15:01:06 +0000 (23:01 +0800)]
CONTRIBUTING: minor fixes

10 years agoAdding outgoing directory to .gitignore
Tim 'mithro' Ansell [Mon, 13 Apr 2015 07:32:10 +0000 (17:32 +1000)]
Adding outgoing directory to .gitignore

The outgoing directory is specified in the CONTRIBUTING.md instructions and the
git-send-email example given at http://git-scm.com/docs/git-send-email#EXAMPLE

10 years agoAdding a call to action and link to CONTRIBUTING.md file.
Tim 'mithro' Ansell [Mon, 13 Apr 2015 07:32:08 +0000 (17:32 +1000)]
Adding a call to action and link to CONTRIBUTING.md file.

10 years agoAdding CONTRIBUTING file to help guide new contributions.
Tim 'mithro' Ansell [Mon, 13 Apr 2015 07:32:07 +0000 (17:32 +1000)]
Adding CONTRIBUTING file to help guide new contributions.

GitHub highlights the CONTRIBUTING file when people send pull requests or
open issues, see https://github.com/blog/1184-contributing-guidelines

This file includes a start of guidelines for sending patches.

Fixes issue #7 - https://github.com/m-labs/misoc/issues/7

10 years agoglobal: more pep8
Florent Kermarrec [Mon, 13 Apr 2015 15:56:51 +0000 (17:56 +0200)]
global: more pep8

we will have to continue the work... volunteers are welcome :)

10 years agoglobal: pep8 (E261, E271)
Florent Kermarrec [Mon, 13 Apr 2015 15:16:12 +0000 (17:16 +0200)]
global: pep8 (E261, E271)

10 years agoglobal: pep8 (W262)
Florent Kermarrec [Mon, 13 Apr 2015 15:02:59 +0000 (17:02 +0200)]
global: pep8 (W262)

10 years agoglobal: pep8 (E225)
Florent Kermarrec [Mon, 13 Apr 2015 15:01:05 +0000 (17:01 +0200)]
global: pep8 (E225)