1. 16 12月, 2017 1 次提交
  2. 29 8月, 2017 1 次提交
  3. 18 5月, 2017 1 次提交
    • J
      drivers/serial: Add driver for Aspeed virtual UART · 7fbcf3af
      Jeremy Kerr 提交于
      This change adds a driver for the 16550-based Aspeed virtual UART
      device. We use a similar process to the of_serial driver for device
      probe, but expose some VUART-specific functions through sysfs too.
      
      The VUART is two UART 'front ends' connected by their FIFO (no actual
      serial line in between). One is on the BMC side (management controller)
      and one is on the host CPU side.
      
      This driver is for the BMC side. The sysfs files allow the BMC
      userspace, which owns the system configuration policy, to specify at
      what IO port and interrupt number the host side will appear to the host
      on the Host <-> BMC LPC bus. It could be different on a different system
      (though most of them use 3f8/4).
      
      OpenPOWER host firmware doesn't like it when the host-side of the
      VUART's FIFO is not drained. This driver only disables host TX discard
      mode when the port is in use. We set the VUART enabled bit when we bind
      to the device, and clear it on unbind.
      
      We don't want to do this on open/release, as the host may be using this
      bit to configure serial output modes, which is independent of whether
      the devices has been opened by BMC userspace.
      Signed-off-by: NJeremy Kerr <jk@ozlabs.org>
      Signed-off-by: NJoel Stanley <joel@jms.id.au>
      Acked-by: NRob Herring <robh@kernel.org>
      Reviewed-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Reviewed-by: NAndy Shevchenko <andy.shevchenko@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      7fbcf3af
  4. 31 3月, 2017 1 次提交
  5. 03 2月, 2017 2 次提交
  6. 12 1月, 2017 3 次提交
    • J
      serial: 8250_mid: make option visible · 19458893
      Jean Delvare 提交于
      Hiding tristate options with "if EXPERT" is usually not a good idea.
      You can decide that the driver should be included by default, but you
      don't know if the user wants it built-in or as a module. Hiding the
      option prevents the user from making that decision.
      
      This is even more problematic when said option selects other options.
      You end up with several device drivers forcibly built into the kernel.
      
      In this specific case, drivers 8250_mid, virt-dma, hsu_dma and
      hsu_dma_pci end up being built-in as soon as SERIAL_8250=y. It is
      very common for distribution kernels to build the subsystem core code
      into the kernel, because almost everybody will need it, but build all
      the device drivers as modules. This should be made possible.
      
      So drop the "if EXPERT" and make SERIAL_8250_MID visible.
      Signed-off-by: NJean Delvare <jdelvare@suse.de>
      Fixes: 1fc969c7 ("serial: 8250_mid: make module available only on X86")
      Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
      Cc: Jiri Slaby <jslaby@suse.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      19458893
    • J
      serial: 8250_lpss: make option visible · dce22df1
      Jean Delvare 提交于
      Hiding tristate options with "if EXPERT" is usually not a good idea.
      You can decide that the driver should be included by default, but you
      don't know if the user wants it built-in or as a module. Hiding the
      option prevents the user from making that decision.
      
      This is even more problematic when said option selects other options.
      You end up with several device drivers forcibly built into the kernel.
      
      In this specific case, drivers 8250_lpss, dw_dmac_core and
      dw_dmac_pci end up being built-in as soon as SERIAL_8250=y. It is
      very common for distribution kernels to build the subsystem core code
      into the kernel, because almost everybody will need it, but build all
      the device drivers as modules. This should be made possible.
      
      So drop the "if EXPERT" and make SERIAL_8250_LPSS visible.
      Signed-off-by: NJean Delvare <jdelvare@suse.de>
      Fixes: a13e19cf ("serial: 8250_lpss: split LPSS driver to separate module")
      Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
      Cc: Jiri Slaby <jslaby@suse.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      dce22df1
    • J
      serial: 8250_pci: make option visible · f1e8c710
      Jean Delvare 提交于
      Hiding tristate options with "if EXPERT" is usually not a good idea.
      You can decide that the driver should be included by default, but you
      don't know if the user wants it built-in or as a module. Hiding the
      option prevents the user from making that decision.
      
      In this specific case, driver 8250_pci ends up being built-in as soon
      as SERIAL_8250=y. It is very common for distribution kernels to build
      the subsystem core code into the kernel, because almost everybody
      will need it, but build all the device drivers as modules. This
      should be made possible.
      
      So drop the "if EXPERT" and make SERIAL_8250_PCI visible.
      Signed-off-by: NJean Delvare <jdelvare@suse.de>
      Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
      Cc: Jiri Slaby <jslaby@suse.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      f1e8c710
  7. 27 10月, 2016 1 次提交
    • S
      serial: rewrite pxa2xx-uart to use 8250_core · ab28f51c
      Sergey Yanovich 提交于
      pxa2xx-uart was a separate uart platform driver. It was declaring
      the same device names and numbers as 8250 driver. As a result,
      it was impossible to use 8250 driver on PXA SoCs.
      
      Upon closer examination pxa2xx-uart turned out to be a clone of
      8250_core driver.
      
      Workaround for Erratum #19 according to Marvel(R) PXA270M Processor
      Specification Update (April 19, 2010) is dropped. 8250_core reads
      from FIFO immediately after checking DR bit in LSR.
      
      The patch leaves the original SERIAL_PXA driver around. The original
      driver is just marked DEPRECATED in Kconfig and C source. When
      the original driver is considered safe to remove, no changes
      to SERIAL_8250 will be necessary.
      
      Compiling SERIAL_8250_CONSOLE and SERIAL_PXA_CONSOLE even without
      SERIAL_8250_PXA breaks console for SERIAL_PXA. For this reasons, the new
      and the original drivers are made mutually exclusive.
      Signed-off-by: NSergei Ianovich <ynvich@gmail.com>
      CC: Heikki Krogerus <heikki.krogerus@linux.intel.com>
      CC: James Cameron <quozl@laptop.org>
      CC: Robert Jarzmik <robert.jarzmik@free.fr>
      CC: Russell King <linux@arm.linux.org.uk>
      Reviewed-by: NHeikki Krogerus <heikki.krogerus@linux.intel.com>
      [rebased on v4.8]
      Tested-by: NRobert Jarzmik <robert.jarzmik@free.fr>
      Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      ab28f51c
  8. 31 8月, 2016 3 次提交
  9. 26 6月, 2016 3 次提交
  10. 01 5月, 2016 2 次提交
  11. 19 4月, 2016 1 次提交
    • G
      Revert "serial: 8250: Add hardware dependency to RT288X option" · f077b736
      Greg Kroah-Hartman 提交于
      This reverts commit 8d2acdb9.
      
      It's causing problems, and somehow I missed that Peter didn't like it at
      all :(
      So revert it for now until it gets sorted out.
      Reported-by: NMason <slash.tmp@free.fr>
      Cc: Peter Hurley <peter@hurleysoftware.com>
      Cc: Jean Delvare <jdelvare@suse.de>
      Cc: Mans Rullgard <mans@mansr.com>
      Cc: Jiri Slaby <jslaby@suse.com>
      Cc: John Crispin <blogic@openwrt.org>
      Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
      f077b736
  12. 08 3月, 2016 5 次提交
  13. 07 2月, 2016 1 次提交
  14. 14 12月, 2015 4 次提交
  15. 21 11月, 2015 1 次提交
  16. 18 10月, 2015 3 次提交
  17. 05 10月, 2015 2 次提交
  18. 22 6月, 2015 1 次提交
    • P
      serial: 8250_ingenic: support for Ingenic SoC UARTs · 0cf985f4
      Paul Burton 提交于
      Introduce a driver suitable for use with the UARTs present in
      Ingenic SoCs such as the JZ4740 & JZ4780. These are described as being
      ns16550 compatible but aren't quite - they require the setting of an
      extra bit in the FCR register to enable the UART module. The serial_out
      implementation is the same as that in arch/mips/jz4740/serial.c - which
      will shortly be removed.
      Signed-off-by: NPaul Burton <paul.burton@imgtec.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Jiri Slaby <jslaby@suse.cz>
      Cc: Lars-Peter Clausen <lars@metafoo.de>
      Cc: linux-serial@vger.kernel.org
      Cc: linux-mips@linux-mips.org
      Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
      Cc: Peter Hurley <peter@hurleysoftware.com>
      Cc: Alan Cox <alan@linux.intel.com>
      Cc: linux-kernel@vger.kernel.org
      Cc: Matthias Brugger <matthias.bgg@gmail.com>
      Cc: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: John Crispin <blogic@openwrt.org>
      Patchwork: https://patchwork.linux-mips.org/patch/10159/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      0cf985f4
  19. 01 6月, 2015 2 次提交
  20. 27 3月, 2015 1 次提交
    • A
      serial: 8250_pci: replace switch-case by formula · 21947ba6
      Andy Shevchenko 提交于
      This patch replaces a switch-case by a formula using rational best
      approximation that does necessary calculations for byt_set_termios().
      
      Below is a list of the calculations done for all defined baud rates. Each line
      in a format: 1) numerator, 2) denominator, 3) prescaler, 4) Fuart, 5) port UART
      clock, 6) list of baud rates with DLAB values.
      
      4        5        16 80000000   80000000   2500000(2)
      14       25       16 56000000   56000000   3500000(1)
      16       25       16 64000000   64000000   500000(8),1000000(4),2000000(2),
      					4000000(1)
      24       25       16 96000000   96000000   1500000(4),3000000(2)
      2180     3103     16 70254592   70254592   134(32768)
      2304     3125     16 73728000   73728000   576000(8),1152000(4)
      8192     15625    16 52428800   52428800   50(65536),200(16384)
      9216     15625    16 58982400   58982400   1800(2048),57600(64),115200(32),
      					230400(16),460800(8),921600(4),1843200(2)
      12288    15625    16 78643200   78643200   75(65536),150(32768),300(16384),
      					600(8192),1200(4096),2400(2048),
      					4800(1024),9600(512),19200(256),38400(128)
      9893     17154    16 57671680   57671680   110(32768)
      Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Reviewed-by: NPeter Hurley <peter@hurleysoftware.com>
      Reviewed-by: NHeikki Krogerus <heikki.krogerus@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      21947ba6
  21. 10 1月, 2015 1 次提交