Hi Niklas, Thanks for testing. > -----Original Message----- > From: Niklas Söderlund <niklas.soderlund@xxxxxxxxxxxx> > Sent: Monday, February 13, 2023 9:58 AM > To: Biju Das <biju.das.jz@xxxxxxxxxxxxxx> > Cc: Jiri Slaby <jirislaby@xxxxxxxxxx>; Ilpo Järvinen > <ilpo.jarvinen@xxxxxxxxxxxxxxx>; Geert Uytterhoeven > <geert+renesas@xxxxxxxxx>; Magnus Damm <magnus.damm@xxxxxxxxx>; Greg Kroah- > Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>; linux-serial <linux- > serial@xxxxxxxxxxxxxxx>; Fabrizio Castro <fabrizio.castro.jz@xxxxxxxxxxx>; > linux-renesas-soc@xxxxxxxxxxxxxxx > Subject: Re: [PATCH v3 3/3] serial: 8250_em: Add serial_out() to struct > serial8250_em_hw_info > > Hi Biju, > > On 2023-02-13 09:31:27 +0000, Biju Das wrote: > > Adding Magnus and Niklas to test on EMMA mobile platform to check the > > port type detected On that platform? > > I don't know what you want me to check, I don't know much about serial. I > wired up the platform during the weekend, here is a boot log running on > v6.1. If you want to to check / test something I'm happy to, but will need > instructions. As per Geert the register layout is same as RZ/V2M, So The UART is register compatible with standard 16750 chip. But below log shows that it is 16550A and using only 16-bytes fifo, Eventhough it has 64-bytes fifo. [ 1.020000] e1020000.serial: ttyS0 at MMIO 0xe1020000 (irq = 37, base_baud = 796444) is a 16550A [ 1.020000] e1030000.serial: ttyS1 at MMIO 0xe1030000 (irq = 38, base_baud = 7168000) is a 16550A [ 1.690000] printk: console [ttyS1] enabled [ 1.700000] e1040000.serial: ttyS2 at MMIO 0xe1040000 (irq = 39, base_baud = 14336000) is a 16550A [ 1.710000] e1050000.serial: ttyS3 at MMIO 0xe1050000 (irq = 40, base_baud = 2389333) is a 16550A So if you apply, this patch series, and add below changes it should detect as 16750 https://lore.kernel.org/linux-renesas-soc/8585f736-cf3b-b63c-753f-892d4051ada3@xxxxxxxxxxxxxxx/T/#mce8d222e3670321e8a8e39faacc4d6dd061fdbd6 and for quick testing please do below change for emma mobile. + { .compatible = "renesas,em-uart", .data = &rzv2m_uart_hw_info }, Cheers, Biju > > [ 0.000000] Booting Linux on physical CPU 0x0 > [ 0.000000] Linux version 6.1.0 (neg@sleipner) (arm-linux-gnueabihf-gcc > (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35.1) #1 SMP Sun Feb 12 18:44:55 CET > 2023 > [ 0.000000] CPU: ARMv7 Processor [411fc092] revision 2 (ARMv7), > cr=10c5387d > [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing > instruction cache > [ 0.000000] OF: fdt: Machine model: EMEV2 KZM9D Board > [ 0.000000] printk: debug: ignoring loglevel setting. > [ 0.000000] Memory policy: Data cache writealloc > [ 0.000000] cma: Failed to reserve 128 MiB > [ 0.000000] Zone ranges: > [ 0.000000] Normal [mem 0x0000000040000000-0x0000000047ffffff] > [ 0.000000] HighMem empty > [ 0.000000] Movable zone start for each node > [ 0.000000] Early memory node ranges > [ 0.000000] node 0: [mem 0x0000000040000000-0x0000000047ffffff] > [ 0.000000] Initmem setup node 0 [mem 0x0000000040000000- > 0x0000000047ffffff] > [ 0.000000] percpu: Embedded 13 pages/cpu s32468 r0 d20780 u53248 > [ 0.000000] pcpu-alloc: s32468 r0 d20780 u53248 alloc=13*4096 > [ 0.000000] pcpu-alloc: [0] 0 [0] 1 > [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 32512 > [ 0.000000] Kernel command line: ignore_loglevel rw root=/dev/nfs ip=on > [ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 > bytes, linear) > [ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, > linear) > [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off > [ 0.000000] Memory: 116072K/131072K available (8192K kernel code, 1152K > rwdata, 2436K rodata, 1024K init, 259K bss, 15000K reserved, 0K cma- > reserved, 0K highmem) > [ 0.000000] trace event string verifier disabled > [ 0.000000] rcu: Hierarchical RCU implementation. > [ 0.000000] rcu: RCU event tracing is enabled. > [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=8 to > nr_cpu_ids=2. > [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 > jiffies. > [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2 > [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16 > [ 0.000000] GIC: enabling workaround for broken byte access > [ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on > contention. > [ 0.000000] timer_probe: no matching timers found > [ 0.000000] Console: colour dummy device 80x30 > [ 0.000000] printk: console [tty0] enabled > [ 0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps > every 21474836475000000ns > [ 0.000000] Calibrating delay loop (skipped) preset value.. 1066.00 > BogoMIPS (lpj=5330000) > [ 0.000000] pid_max: default: 32768 minimum: 301 > [ 0.000000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, > linear) > [ 0.000000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 > bytes, linear) > [ 0.000000] CPU: Testing write buffer coherency: ok > [ 0.000000] CPU0: Spectre v2: using BPIALL workaround > [ 0.000000] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 > [ 0.000000] Setting up static identity map for 0x40100000 - 0x40100060 > [ 0.000000] rcu: Hierarchical SRCU implementation. > [ 0.000000] rcu: Max phase no-delay instances is 1000. > [ 0.000000] smp: Bringing up secondary CPUs ... > [ 0.000000] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001 > [ 0.000000] CPU1: Spectre v2: using BPIALL workaround > [ 0.000000] smp: Brought up 1 node, 2 CPUs > [ 0.000000] SMP: Total of 2 processors activated (2132.00 BogoMIPS). > [ 0.000000] CPU: All CPU(s) started in SVC mode. > [ 0.000000] devtmpfs: initialized > [ 0.000000] VFP support v0.3: implementor 41 architecture 3 part 30 > variant 9 rev 1 > [ 0.000000] clocksource: jiffies: mask: 0xffffffff max_cycles: > 0xffffffff, max_idle_ns: 19112604462750000 ns > [ 0.000000] futex hash table entries: 512 (order: 3, 32768 bytes, linear) > [ 0.000000] pinctrl core: initialized pinctrl subsystem > [ 0.000000] NET: Registered PF_NETLINK/PF_ROUTE protocol family > [ 0.000000] DMA: preallocated 256 KiB pool for atomic coherent > allocations > [ 0.000000] thermal_sys: Registered thermal governor 'step_wise' > [ 0.000000] No ATAGs? > [ 0.000000] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 > watchpoint registers. > [ 0.000000] hw-breakpoint: maximum watchpoint size is 4 bytes. > [ 0.000000] sh-pfc e0140200.pinctrl: emev2_pfc support registered > [ 0.000000] SCSI subsystem initialized > [ 0.000000] libata version 3.00 loaded. > [ 0.000000] usbcore: registered new interface driver usbfs > [ 0.000000] usbcore: registered new interface driver hub > [ 0.000000] usbcore: registered new device driver usb > [ 0.000000] mc: Linux media interface: v0.10 > [ 0.000000] videodev: Linux video capture interface: v2.00 > [ 0.000000] pps_core: LinuxPPS API ver. 1 registered > [ 0.000000] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo > Giometti <giometti@xxxxxxxx> > [ 0.000000] PTP clock support registered > [ 0.000000] em_sti e0180000.timer: used for clock events > [ 0.000000] em_sti e0180000.timer: used for oneshot clock events > [ 0.000000] em_sti e0180000.timer: used as clock source > [ 0.000000] clocksource: e0180000.timer: mask: 0xffffffffffff max_cycles: > 0x1ef4687b1, max_idle_ns: 112843571739654 ns > [ 0.000000] Advanced Linux Sound Architecture Driver Initialized. > [ 0.000000] vgaarb: loaded > [ 0.940000] clocksource: Switched to clocksource e0180000.timer > [ 0.950000] Clockevents: could not switch to one-shot mode: > [ 0.950000] Clockevents: could not switch to one-shot mode: dummy_timer > is not functional. > [ 0.950000] dummy_timer is not functional. > [ 0.960000] NET: Registered PF_INET protocol family > [ 0.960000] IP idents hash table entries: 2048 (order: 2, 16384 bytes, > linear) > [ 0.960000] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, > 4096 bytes, linear) > [ 0.960000] Table-perturb hash table entries: 65536 (order: 6, 262144 > bytes, linear) > [ 0.960000] TCP established hash table entries: 1024 (order: 0, 4096 > bytes, linear) > [ 0.960000] TCP bind hash table entries: 1024 (order: 2, 16384 bytes, > linear) > [ 0.960000] TCP: Hash tables configured (established 1024 bind 1024) > [ 0.960000] UDP hash table entries: 256 (order: 1, 8192 bytes, linear) > [ 0.960000] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, > linear) > [ 0.960000] NET: Registered PF_UNIX/PF_LOCAL protocol family > [ 0.960000] RPC: Registered named UNIX socket transport module. > [ 0.960000] RPC: Registered udp transport module. > [ 0.960000] RPC: Registered tcp transport module. > [ 0.960000] RPC: Registered tcp NFSv4.1 backchannel transport module. > [ 0.960000] PCI: CLS 0 bytes, default 64 > [ 1.000000] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 > counters available > [ 1.000000] workingset: timestamp_bits=30 max_order=15 bucket_order=0 > [ 1.000000] NFS: Registering the id_resolver key type > [ 1.000000] Key type id_resolver registered > [ 1.000000] Key type id_legacy registered > [ 1.000000] nfs4filelayout_init: NFSv4 File Layout Driver Registering... > [ 1.000000] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver > Registering... > [ 1.000000] Block layer SCSI generic (bsg) driver version 0.4 loaded > (major 246) > [ 1.000000] io scheduler mq-deadline registered > [ 1.000000] io scheduler kyber registered > [ 1.010000] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled > [ 1.020000] e1020000.serial: ttyS0 at MMIO 0xe1020000 (irq = 37, > base_baud = 796444) is a 16550A > [ 1.020000] e1030000.serial: ttyS1 at MMIO 0xe1030000 (irq = 38, > base_baud = 7168000) is a 16550A > [ 1.690000] printk: console [ttyS1] enabled > [ 1.700000] e1040000.serial: ttyS2 at MMIO 0xe1040000 (irq = 39, > base_baud = 14336000) is a 16550A > [ 1.710000] e1050000.serial: ttyS3 at MMIO 0xe1050000 (irq = 40, > base_baud = 2389333) is a 16550A > [ 1.720000] SuperH (H)SCI(F) driver initialized > [ 1.730000] CAN device driver interface > [ 1.800000] smsc911x 20000000.ethernet eth0: MAC Address: > 00:0a:a3:02:12:92 > [ 1.810000] UDC core: g_ether: couldn't find an available UDC > [ 1.810000] i2c_dev: i2c /dev entries driver > [ 1.820000] em-i2c e0070000.i2c: Added i2c controller 0, irq 42 > [ 1.830000] em-i2c e10a0000.i2c: Added i2c controller 1, irq 43 > [ 1.830000] cpu cpu0: OPP table can't be empty > [ 1.840000] usbcore: registered new interface driver usbhid > [ 1.850000] usbhid: USB HID core driver > [ 1.850000] NET: Registered PF_INET6 protocol family > [ 1.860000] Segment Routing with IPv6 > [ 1.870000] In-situ OAM (IOAM) with IPv6 > [ 1.870000] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver > [ 1.880000] NET: Registered PF_PACKET protocol family > [ 1.880000] can: controller area network core > [ 1.890000] NET: Registered PF_CAN protocol family > [ 1.890000] can: raw protocol > [ 1.900000] can: broadcast manager protocol > [ 1.900000] can: netlink gateway - max_hops=1 > [ 1.900000] Key type dns_resolver registered > [ 1.910000] Registering SWP/SWPB emulation handler > [ 1.920000] input: gpio_keys as /devices/platform/gpio_keys/input/input0 > [ 1.980000] SMSC LAN8700 20000000.ethernet-ffffffff:01: attached PHY > driver (mii_bus:phy_addr=20000000.ethernet-ffffffff:01, irq=POLL) > [ 2.020000] smsc911x 20000000.ethernet eth0: SMSC911x/921x identified at > 0xc8920000, IRQ: 41 > [ 4.160000] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready > [ 4.210000] Sending DHCP requests ., OK > [ 4.250000] IP-Config: Got DHCP answer from 10.0.1.1, my address is > 10.0.1.2 > [ 4.260000] IP-Config: Complete: > [ 4.260000] device=eth0, hwaddr=00:0a:a3:02:12:92, ipaddr=10.0.1.2, > mask=255.255.255.0, gw=10.0.1.1 > [ 4.270000] host=10.0.1.2, domain=dyn.berto.se, nis-domain=(none) > [ 4.280000] bootserver=10.0.1.1, rootserver=10.0.1.1, > rootpath=/srv/nfs4/arch,tcp,v3 > [ 4.280000] nameserver0=192.168.20.1 > [ 4.290000] ALSA device list: > [ 4.290000] No soundcards found. > [ 4.320000] VFS: Mounted root (nfs filesystem) on device 0:15. > [ 4.320000] devtmpfs: mounted > [ 4.330000] Freeing unused kernel image (initmem) memory: 1024K > [ 4.390000] Run /sbin/init as init process > [ 4.390000] with arguments: > [ 4.390000] /sbin/init > [ 4.400000] with environment: > [ 4.400000] HOME=/ > [ 4.400000] TERM=linux > [ 6.040000] systemd[1]: System time before build time, advancing clock. > [ 6.100000] systemd[1]: Failed to find module 'autofs4' > [ 6.220000] systemd[1]: systemd 252.5-1-arch running in system mode (+PAM > +AUDIT -SELINUX -APPARMOR -IMA +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL > +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP > +LIBFDISK +PCRE2 -PWQUALITY +P11KIT -QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB > +ZSTD +BPF_FRAMEWORK +XKBCOMMON +UTMP -SYSVINIT default-hierarchy=unified) > [ 6.240000] systemd[1]: Detected architecture arm. > [ 6.290000] systemd[1]: Hostname set to <arm>. > [ 6.520000] systemd[1]: bpf-lsm: BPF LSM hook not enabled in the kernel, > BPF LSM not supported > [ 8.710000] systemd[1]: Queued start job for default target Graphical > Interface. > [ 8.730000] systemd[1]: Created slice Slice /system/getty. > [ 8.770000] systemd[1]: Created slice Slice /system/modprobe. > [ 8.810000] systemd[1]: Created slice Slice /system/serial-getty. > [ 8.850000] systemd[1]: Created slice User and Session Slice. > [ 8.890000] systemd[1]: Started Dispatch Password Requests to Console > Directory Watch. > [ 8.930000] systemd[1]: Started Forward Password Requests to Wall > Directory Watch. > [ 8.970000] systemd[1]: Arbitrary Executable File Formats File System > Automount Point was skipped because of an unmet condition check > (ConditionPathExists=/proc/sys/fs/binfmt_misc). > [ 8.980000] systemd[1]: Reached target Local Encrypted Volumes. > [ 9.020000] systemd[1]: Reached target Local Integrity Protected Volumes. > [ 9.060000] systemd[1]: Reached target Network is Online. > [ 9.100000] systemd[1]: Reached target Path Units. > [ 9.130000] systemd[1]: Reached target Slice Units. > [ 9.170000] systemd[1]: Reached target Swaps. > [ 9.200000] systemd[1]: Reached target Local Verity Protected Volumes. > [ 9.240000] systemd[1]: Listening on Device-mapper event daemon FIFOs. > [ 9.300000] systemd[1]: Listening on Process Core Dump Socket. > [ 9.340000] systemd[1]: Journal Audit Socket was skipped because of an > unmet condition check (ConditionSecurity=audit). > [ 9.350000] systemd[1]: Listening on Journal Socket (/dev/log). > [ 9.390000] systemd[1]: Listening on Journal Socket. > [ 9.430000] systemd[1]: Listening on udev Control Socket. > [ 9.470000] systemd[1]: Listening on udev Kernel Socket. > [ 9.510000] systemd[1]: Huge Pages File System was skipped because of an > unmet condition check (ConditionPathExists=/sys/kernel/mm/hugepages). > [ 9.520000] systemd[1]: POSIX Message Queue File System was skipped > because of an unmet condition check > (ConditionPathExists=/proc/sys/fs/mqueue). > [ 9.590000] systemd[1]: Mounting /root/shared... > [ 9.620000] systemd[1]: Mounting Kernel Debug File System... > [ 9.680000] systemd[1]: Mounting Kernel Trace File System... > [ 9.780000] systemd[1]: Mounting Temporary Directory /tmp... > [ 9.820000] systemd[1]: Create List of Static Device Nodes was skipped > because of an unmet condition check > (ConditionFileNotEmpty=/lib/modules/6.1.0/modules.devname). > [ 9.850000] systemd[1]: Starting Load Kernel Module configfs... > [ 9.960000] systemd[1]: Starting Load Kernel Module drm... > [ 10.010000] systemd[1]: Starting Load Kernel Module fuse... > [ 10.070000] systemd[1]: Load Kernel Modules was skipped because no > trigger condition checks were met. > [ 10.120000] systemd[1]: Starting Remount Root and Kernel File Systems... > [ 10.190000] systemd[1]: Repartition Root Disk was skipped because no > trigger condition checks were met. > [ 10.250000] systemd[1]: Starting Apply Kernel Variables... > [ 10.310000] systemd[1]: Starting Coldplug All udev Devices... > [ 10.390000] systemd[1]: Mounted Kernel Debug File System. > [ 10.410000] systemd[1]: Mounted Kernel Trace File System. > [ 10.450000] systemd[1]: Mounted Temporary Directory /tmp. > [ 10.490000] systemd[1]: modprobe@configfs.service: Deactivated > successfully. > [ 10.520000] systemd[1]: Finished Load Kernel Module configfs. > [ 10.550000] systemd[1]: modprobe@drm.service: Deactivated successfully. > [ 10.550000] systemd[1]: Finished Load Kernel Module drm. > [ 10.600000] systemd[1]: modprobe@fuse.service: Deactivated successfully. > [ 10.610000] systemd[1]: Finished Load Kernel Module fuse. > [ 10.650000] systemd[1]: Finished Remount Root and Kernel File Systems. > [ 10.670000] systemd[1]: Finished Apply Kernel Variables. > [ 10.890000] systemd[1]: Reached target Host and Network Name Lookups. > [ 10.940000] systemd[1]: Listening on RPCbind Server Activation Socket. > [ 10.990000] systemd[1]: Reached target RPC Port Mapper. > [ 11.030000] systemd[1]: FUSE Control File System was skipped because of > an unmet condition check (ConditionPathExists=/sys/fs/fuse/connections). > [ 11.090000] systemd[1]: Mounting Kernel Configuration File System... > [ 11.130000] systemd[1]: Starting NFS status monitor for NFSv2/3 > locking.... > [ 11.180000] systemd[1]: First Boot Wizard was skipped because of an unmet > condition check (ConditionFirstBoot=yes). > [ 11.210000] systemd[1]: Rebuild Hardware Database was skipped because of > an unmet condition check (ConditionNeedsUpdate=/etc). > [ 11.290000] systemd[1]: Starting Load/Save Random Seed... > [ 11.330000] systemd[1]: Create System Users was skipped because no > trigger condition checks were met. > [ 11.380000] systemd[1]: Starting Create Static Device Nodes in /dev... > [ 11.500000] systemd[1]: Finished Coldplug All udev Devices. > [ 11.540000] systemd[1]: Mounted Kernel Configuration File System. > [ 11.620000] systemd[1]: Starting RPC Bind... > [ 12.160000] systemd[1]: Finished Create Static Device Nodes in /dev. > [ 12.200000] systemd[1]: Started RPC Bind. > [ 12.240000] systemd[1]: Reached target Preparation for Local File > Systems. > [ 12.290000] systemd[1]: Virtual Machine and Container Storage > (Compatibility) was skipped because of an unmet condition check > (ConditionPathExists=/var/lib/machines.raw). > [ 12.310000] systemd[1]: Reached target Local File Systems. > [ 12.350000] systemd[1]: Entropy Daemon based on the HAVEGE algorithm was > skipped because of an unmet condition check (ConditionKernelVersion=<5.6). > [ 12.360000] systemd[1]: Rebuild Dynamic Linker Cache was skipped because > no trigger condition checks were met. > [ 12.420000] systemd[1]: Starting Notify NFS peers of a restart... > [ 12.460000] systemd[1]: Set Up Additional Binary Formats was skipped > because no trigger condition checks were met. > [ 12.480000] systemd[1]: systemd-journald.service: unit configures an IP > firewall, but the local system does not support BPF/cgroup firewalling. > [ 12.490000] systemd[1]: (This warning is only shown for the first unit > using IP firewalling.) > [ 12.570000] systemd[1]: Starting Journal Service... > [ 12.620000] systemd[1]: Starting Rule-based Manager for Device Events and > Files... > [ 12.700000] systemd[1]: Started NFS status monitor for NFSv2/3 locking.. > [ 12.740000] systemd[1]: Started Notify NFS peers of a restart. > [ 12.990000] systemd[1]: Started Journal Service. > [ 16.860000] systemd-journald[87]: Received client request to flush > runtime journal. > [ 21.360000] random: dbus-daemon: uninitialized urandom read (12 bytes > read) > [ 22.190000] random: dbus-daemon: uninitialized urandom read (12 bytes > read) > [ 39.150000] random: crng init done > > -- > Kind Regards, > Niklas Söderlund