1-to-4 serial ports IC
2. Support Baudrate from B50 to B115200.
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
Changelog:
v9
1. Remove lots of code to make more generic for F81532/534. e.g.,
high baud rate support, RS485/422 mode switch, most of GPIO
control and internal storage w
1-to-4 serial ports IC
2. Support Baudrate from B50 to B115200.
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
drivers/usb/serial/Kconfig | 10 +
drivers/usb/serial/Makefile |1 +
drivers/usb/serial/f81534.c | 1528 +++
3 files changed, 1539 insert
Hi Johan,
Johan Hovold 於 2016/11/24 下午 11:04 寫道:
On Mon, Nov 14, 2016 at 01:37:59PM +0800, Ji-Ze Hong (Peter Hong) wrote:
This driver is for Fintek F81532/F81534 USB to Serial Ports IC.
+ }
+
+ if (size_bulk_out != F81534_WRITE_BUFFER_SIZE ||
+ size_bulk_in
Implement Fintek f81534 break on/off with LCR register
It's the same with 16550A LCR register layout
We'll add a shadow LCR variable to save the final LCR we
had set due to the "read ep0" operations maybe slow down all
the serial ports performance.
Signed-off-by: Ji
Implement Fintek F81232 break on/off with LCR register,
it's the same with 16550A LCR register layout.
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
drivers/usb/serial/f81232.c | 40 ++--
1 file changed, 34 insertions(+), 6 deletions(-)
diff --git a/driver
The following 2 patches makes break control available for
Fintek F81232/F81534.
Ji-Ze Hong (Peter Hong) (2):
usb:serial: Implement Fintek F81232 break on/off
usb:serial: Implement Fintek f81534 break on/off
drivers/usb/serial/f81232.c | 40 ++--
drivers
1-to-4 serial ports IC
2. Support Baudrate from B50 to B115200.
Reviewed-by: Johan Hovold
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
Changelog:
V11
1. Reduce F81534_MAX_BUS_RETRY from 2000 to 20. We are only using
internal SPI bus to read flash when attach() & calc_num_ports()
Hi Johan,
Johan Hovold 於 2016/11/2 下午 08:37 寫道:
On Fri, Oct 14, 2016 at 04:20:46PM +0800, Ji-Ze Hong (Peter Hong) wrote:
Reviewed-by: Johan Hovold
You must never add other peoples' Reviewed-by tags unless you've
explicitly been given permission to do so (e.g. "fix this min
1-to-4 serial ports IC
2. Support Baudrate from B50 to B115200.
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
Changelog:
V12
1. Max TX change from 100 to 124 bytes.
2. Add probe() to verify endpoints & packet size.
3. Rename function names.
set/get_normal_register(
Hi Alan,
One Thousand Gnomes 於 2016/7/29 下午 08:48 寫道:
O
+static int f81534_set_normal_register(struct usb_device *dev, u16 reg, u8 data)
+{
+ size_t count = F81534_USB_MAX_RETRY;
+ int status;
+ u8 *tmp;
+
+ tmp = kmalloc(sizeof(u8), GFP_KERNEL);
+ if (!tmp)
+
Hi Johan,
Johan Hovold 於 2016/8/22 下午 09:14 寫道:
+static const struct reg_value f81534_pin_control[4][3] = {
+ /* M0_SDM1 M2 */
+ {{0x2ae8, 7}, {0x2a90, 5}, {0x2a90, 4}, }, /* port 0 pins */
+ {{0x2ae8, 6}, {0x2ae8, 0}, {0x2ae8, 3}, }, /* port 1 p
Hi Johan,
Johan Hovold 於 2016/8/23 下午 05:50 寫道:
On Tue, Aug 23, 2016 at 04:23:44PM +0800, Ji-Ze Hong (Peter Hong) wrote:
Hi Johan,
Johan Hovold 於 2016/8/22 下午 09:14 寫道:
I'd say it's not worth trying to avoid that extra allocation, and there
will be several further allocations d
1-to-4 serial ports IC
2. Support Baudrate from B50 to B115200.
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
Changelog:
V10
1. Change the submit/kill timming for read URBs, submit when first
serial port open and kill when final port close.
2. Remove all source code about controlling G
rom driver in this situration.
So we'll disable the LSR interrupt in probe() and submit the LSR worker to
clear LSR state when reported LSR error bit with bulk-in data in
f81534_process_per_serial_block().
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
drivers/usb/seria
Implement Fintek f81534 break on/off with LCR register.
It's the same with 16550A LCR register layout.
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
drivers/usb/serial/f81534.c | 46 +++--
1 file changed, 40 insertions(+), 6 deletions(-)
diff --
.
10: 24MHz.
11: 14.77MHz.
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
drivers/usb/serial/f81534.c | 84 -
1 file changed, 68 insertions(+), 16 deletions(-)
diff --git a/drivers/usb/serial/f81534.c b/drivers/usb/serial
x2a80 bit6
Port 3:
M2: 0x2a90 bit3, M1: 0x2a90 bit2, M0/SD: 0x2a90 bit1
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
drivers/usb/serial/f81534.c | 67 -
1 file changed, 66 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/serial/
delay with 60ms.
It'll contain BREAK status in LSR.
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
drivers/usb/serial/f81534.c | 74 +
1 file changed, 74 insertions(+)
diff --git a/drivers/usb/serial/f81534.c b/drivers/usb/serial/f81534.c
index 30
Bit4: Auto direction(RTS) control (RTS pin Low when TX)
Bit5: Invert direction(RTS) when Bit4 enabled (RTS pin high when TX)
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
drivers/usb/serial/f81534.c | 54 +++--
1 file changed, 52 insertions(+), 2 dele
Hi Johan,
Johan Hovold 於 2017/12/19 上午 12:06 寫道:
On Thu, Nov 16, 2017 at 03:46:08PM +0800, Ji-Ze Hong (Peter Hong) wrote:
+static int f81534_set_port_output_pin(struct usb_serial_port *port)
+{
+ struct f81534_serial_private *serial_priv;
+ struct f81534_port_private *port_priv
Hi Johan,
In this code, I'm only read/write 3 registers of 0x2ae8, 0x2a90, 0x2a80,
but some register will read/write more than once. Should I change the
code from port_probe() to attach() and re-write it as:
1: read the 3 register
2: change them will 12 pin desire value
3
delay with 60ms.
It'll contain BREAK status in LSR.
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
V2:
1: f81534_check_port_hw_disabled() change return type from int to bool.
2: Add help function f81534_set_phy_port_register() /
f81534_get_phy_port_regi
1, M2 as 1, 1, 0.
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
V2:
1: Fix for space between brace.
2: Remain the old pin control method.
drivers/usb/serial/f81534.c | 67 -
1 file changed, 66 insertions(+), 1 deletion(-)
diff --git a/d
nable (always on)
Bit2-1: Clock source selector
00: 1.846MHz.
01: 18.46MHz.
10: 24MHz.
11: 14.77MHz.
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
v2:
1: Add commit message for F81534_USB_TIMEOUT
Bit4: Auto direction(RTS) control (RTS pin Low when TX)
Bit5: Invert direction(RTS) when Bit4 enabled (RTS pin high when TX)
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
V2:
1: Read the configure data from flash and save it to shadow clock
register.
drivers/usb/serial/f81534.c
: Ji-Ze Hong (Peter Hong)
---
V2:
1: First introduced in this series patches.
drivers/usb/serial/f81534.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/drivers/usb/serial/f81534.c b/drivers/usb/serial/f81534.c
index a4666171239a..513805eeae6a 100644
--- a/drivers/usb/serial
Hi Johan,
Johan Hovold 於 2018/1/9 下午 07:08 寫道:
On Thu, Jan 04, 2018 at 10:29:17AM +0800, Ji-Ze Hong (Peter Hong) wrote:
The F81532/534 had 4 clocksource 1.846/18.46/14.77/24MHz and baud rates
can be up to 1.5Mbits with 24MHz.
This device may generate data overrun when baud rate setting to
Hi Johan,
Johan Hovold 於 2018/1/9 下午 07:32 寫道:
On Thu, Jan 04, 2018 at 10:29:21AM +0800, Ji-Ze Hong (Peter Hong) wrote:
+ /*
+* We'll make tx frame error when baud rate from 384~500kps. So we'll
+* delay all tx data frame with 1bit.
+*/
+
Hi Johan,
Johan Hovold 於 2018/1/10 下午 04:49 寫道:
Normally, the communication with F81534 ep0 will take less than 1 sec
(even only some milliseconds), but It maybe take much long time with
huge loading with UART functional.
We had tested it on BurnInTest, 4 ports with 921600bps + MSR status
check
: Ji-Ze Hong (Peter Hong)
---
V3:
1: had not noticeable changes.
V2:
1: First introduced in this series patches.
drivers/usb/serial/f81534.c | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/serial/f81534.c b/drivers/usb/serial/f81534.c
index
delay with 60ms.
It'll contain BREAK status in LSR.
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
V3:
1: Separate old patch into refacting and H/W disable patches.
V2:
1: f81534_check_port_hw_disabled() change return type from int to bool.
2: Add hel
nable (always on)
Bit2-1: Clock source selector
00: 1.846MHz.
01: 18.46MHz.
10: 24MHz.
11: 14.77MHz.
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
V3:
1: Separate UART Enable bit from clock source
In the original code, We'll read configuration in calc_num_ports()
and read again in attach(). In fact, we can move all content from
attach() to calc_num_ports() to simplify the code.
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
V3:
1: First introduced in this series patches.
driver
1, M2 as 1, 1, 0.
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
V3:
1: change reg_mask type from u16 to u8.
2: change space around "{" & "}".
V2:
1: Fix for space between brace.
2: Remain the old pin control method.
Bit4: Auto direction(RTS) control (RTS pin Low when TX)
Bit5: Invert direction(RTS) when Bit4 enabled (RTS pin high when TX)
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
V3:
1: change some BIT() operation to GENMASK().
2: change some dev_info() to dev_dbg().
V2:
1: Rea
Implement Fintek F81232 break on/off with LCR register.
It's the same with 16550A LCR register layout.
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
drivers/usb/serial/f81232.c | 17 +++--
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/drivers/usb/serial/f8123
The F81232 can do remote wakeup via RX/RI pin with pulse.
This patch will use device_set_wakeup_enable to enable this
feature.
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
drivers/usb/serial/f81232.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/usb/serial/f81232.c b/drivers/usb
Fix Fintek F81232 bulk_in/out size to 64/16 according to the spec.
http://html.alldatasheet.com/html-pdf/406315/FINTEK/F81232/1762/8/F81232.html
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
drivers/usb/serial/f81232.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers
: 14.77MHz.
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
drivers/usb/serial/f81232.c | 105 +++-
1 file changed, 94 insertions(+), 11 deletions(-)
diff --git a/drivers/usb/serial/f81232.c b/drivers/usb/serial/f81232.c
index 46836041c50e..bdd7f337cd5f 100644
--- a
when OE.
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
drivers/usb/serial/f81232.c | 20
1 file changed, 20 insertions(+)
diff --git a/drivers/usb/serial/f81232.c b/drivers/usb/serial/f81232.c
index 96036f87b1de..46836041c50e 100644
--- a/drivers/usb/serial/f81232.c
+++ b/drivers
Hi Oliver,
Oliver Neukum 於 2018/1/22 下午 06:06 寫道:
+static void f81232_lsr_worker(struct work_struct *work)
+{
+ struct f81232_private *priv;
+ struct usb_serial_port *port;
+ int status;
+ u8 tmp;
+
+ priv = container_of(work, struct f81232_private, lsr_work);
+
Hi Andy,
Andy Shevchenko 於 2018/1/22 下午 10:55 寫道:
On Mon, Jan 22, 2018 at 9:58 AM, Ji-Ze Hong (Peter Hong)
wrote:
The F81232 had 4 clocksource 1.846/18.46/14.77/24MHz and baud rates
can be up to 1.5Mbits with 24MHz.
F81232 Clock registers (106h)
Bit1-0: Clock source selector
Hi Johan,
Johan Hovold 於 2018/1/30 上午 11:57 寫道:
On Mon, Jan 22, 2018 at 03:58:45PM +0800, Ji-Ze Hong (Peter Hong) wrote:
The F81232 can do remote wakeup via RX/RI pin with pulse.
This patch will use device_set_wakeup_enable to enable this
feature.
This is a policy decision that should be
Hi Johan,
Johan Hovold 於 2018/1/30 下午 12:11 寫道:
On Mon, Jan 22, 2018 at 03:58:47PM +0800, Ji-Ze Hong (Peter Hong) wrote:
diff --git a/drivers/usb/serial/f81232.c b/drivers/usb/serial/f81232.c
index a054f69446fd..f3ee537d643c 100644
--- a/drivers/usb/serial/f81232.c
+++ b/drivers/usb/serial
Hi Johan,
Johan Hovold 於 2018/2/4 上午 09:46 寫道:
On Thu, Feb 01, 2018 at 11:13:01AM +0800, Ji-Ze Hong (Peter Hong) wrote:
Our USB-To-Serial support RI/ RX remote wakeup by Modem, Fax or
other peripherals and we had tested it by following procedure with
device_set_wakeup_enable() enabled:
1
Hi,
Johan Hovold 於 2018/9/5 下午 10:39 寫道:
Looks like you ignored Oliver's comment that you needed to take care of
any pending lsr work both and close and suspend.
I'll add the cancel operation when suspend() with next version.
Thanks
--
With Best Regards,
Peter Hong
ainstream driver compatible older and newer IC.
If using a old IC, the +05h~08h will be 00h~06h, we'll direct apply it.
If using a new IC, the +05h~08h will be 07h or larger, we'll read +09h~12h
to apply newer configuration.
Signed-off-by: Ji-Ze Hong (Peter Hong)
---
driver
47 matches
Mail list logo