FreeBSD 12.2: ssc & HSUART ports
Posted: Mon Feb 15, 2021 1:19 am
{from my partner on this project..}
The BIOS configuration to disable the SCC devices is no longer needed once one has a
kernel with the scc device included. You can re-enable the three BIOS options, and the
SD card will appear. I was able to read a card, but I have not tested exhaustively.
To add the scc driver, add the following to your kernel config file, and recompile:
device scc # Serial Communications Controllers (SCC) devices
To enable the kernel to recognize the HSUART based serial ports, add the following to
/usr/src/sys/dev/uart/uart_bus_pci.c, at about line 168, and recompile. I have put in a
FreeBSD PR (number 253494) so perhaps this will be more permanently addressed soon.
{ 0x8086, 0x5abc, 0xffff, 0, "Celeron N3350/Pentium N4200/Atom E3900 Series HSUART#0", 0x10,
24 * DEFAULT_RCLK, 2 },
{ 0x8086, 0x5abe, 0xffff, 0, "Celeron N3350/Pentium N4200/Atom E3900 Series HSUART#1", 0x10,
24 * DEFAULT_RCLK, 2 },
{ 0x8086, 0x5ac0, 0xffff, 0, "Celeron N3350/Pentium N4200/Atom E3900 Series HSUART#2", 0x10,
24 * DEFAULT_RCLK, 2 },
{ 0x8086, 0x5aee, 0xffff, 0, "Celeron N3350/Pentium N4200/Atom E3900 Series HSUART#3", 0x10,
24 * DEFAULT_RCLK, 2 },
The BIOS configuration to disable the SCC devices is no longer needed once one has a
kernel with the scc device included. You can re-enable the three BIOS options, and the
SD card will appear. I was able to read a card, but I have not tested exhaustively.
To add the scc driver, add the following to your kernel config file, and recompile:
device scc # Serial Communications Controllers (SCC) devices
To enable the kernel to recognize the HSUART based serial ports, add the following to
/usr/src/sys/dev/uart/uart_bus_pci.c, at about line 168, and recompile. I have put in a
FreeBSD PR (number 253494) so perhaps this will be more permanently addressed soon.
{ 0x8086, 0x5abc, 0xffff, 0, "Celeron N3350/Pentium N4200/Atom E3900 Series HSUART#0", 0x10,
24 * DEFAULT_RCLK, 2 },
{ 0x8086, 0x5abe, 0xffff, 0, "Celeron N3350/Pentium N4200/Atom E3900 Series HSUART#1", 0x10,
24 * DEFAULT_RCLK, 2 },
{ 0x8086, 0x5ac0, 0xffff, 0, "Celeron N3350/Pentium N4200/Atom E3900 Series HSUART#2", 0x10,
24 * DEFAULT_RCLK, 2 },
{ 0x8086, 0x5aee, 0xffff, 0, "Celeron N3350/Pentium N4200/Atom E3900 Series HSUART#3", 0x10,
24 * DEFAULT_RCLK, 2 },