Re: LX2160A devices not detected?
- In reply to: Mark Millard : "Re: LX2160A devices not detected?"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 16 Jan 2024 21:55:38 UTC
Hi, thank you for all the information. Yes it is really fan control that I am after, the whining is really bothering me. I came across this dmesg output: https://gist.github.com/agrajag9/bbb49048447510a128cb3304546e174b/revisions . It seems that they are using both FDT and ACPI at the same time? I have also found this patch to split the I2C controller driver to add ACPI support, but it does not seem to quite work, due to clock issues: https://reviews.freebsd.org/D24917 Also there is this thread where there is mention of using ACPI _TZ methods to control the fan, which is supported by Linux but not FreeBSD: https://community.solid-run.com/t/fan-control/205 Based on these three avenues I am not sure what could be the most straightforward way to get it working? Ideally I would like to program the fan controller to do some automatic fan control based on temperature. Thanks! On Tuesday, January 16th, 2024 at 12:25, Mark Millard <marklmi@yahoo.com> wrote: > > > On Jan 16, 2024, at 07:33, Pierre-Luc Drouin pldrouin@pldrouin.net wrote: > > > I have seen that there is some support for the LX2160A SOC in FreeBSD: https://github.com/freebsd/freebsd-src/commit/36362eb0a0a1862a0898a6e17844a54f3f28f114#diff-00274f2856d4a354783db33e78b20c78092e2e29bf86f4c3e4022982ec64620b > > > Standard ACPI does not present fdt. This is EDK2 based for this context. > Standard fdt does not present ACPI. This is U-Boot based for this context. > > As for what FreeBSD does: > > If a fdt is presented, ACPI is not used at all by default. > If no fdt is presented, ACPI is used instead (if present). > (I happened to ask that question recently.) > > So, as I understand it, FreeBSD does not, by default, ever use > a mix of fdt and ACPI as things are. (I'm not claiming such > can not be forced somehow, not that I'd know how.) > > Your diff is for fdt. So it appears that you need to be using > U-Boot to involve that code (by default). Note the lack of the > network processor for U-Boot: "All peripherals but the network > processor are supported." This might mean needing a network > dongle or some such in order to have Ethernet working. > > ACPI booting supports basic use of the 1Gbit/sec Ethernet port. > (I do not know the status of anything fancier for the networking > processor.) > > I've always booted ACPI style. There is no port for U-Boot as I > remember. So you would have to deal with building something > appropriate. > > The system that I've access to has a quieter fan and better > heatsink but am also not bothered as much by such noises as some > folks are. (Fan control seems to be the missing thing for ACPI > relative to i2c.) > > > From what I understand this is all done through device tree probing. > > > For U-Boot and UEFI/fdt yes; for EDK2 and UEFI/ACPI no, at least > by default. > > > However when I dump the ACPI table on my system, I don't have these device tree entries. I am using lx2160a_uefi. > > > So am I. > > > What type of bootloader is FreeBSD expecting instead of what I am currently using? > > > U-Boot provides UEFI+fdt instead of UEFI+ACPI. FreeBSD supports both forms > of UEFI with its normal boot loader. > > Since I use UEFI/ACPI I know the kernel supports what I use. > > I do not know if the kernel well supports fdt. I'm not aware of > anyone reporting using the HoneyComb via FreeBSD with fdt. The > one clear point is the lack of network processor support. > > > Otherwise should it be possible to get device detection working by adding device tree entries into my DSDT, recompiling the AML with iasl and loading the table in /boot/loader.conf? > > > If you want EDK2 (UEFI/ACPI) + fdt use mixed by FreeBSD, you > likely have more work to do. I do not know any details. > > > Thanks! > > On Saturday, January 6th, 2024 at 23:43, Pierre-Luc Drouin pldrouin@pldrouin.net wrote: > > > > > Hi, > > > > > > I would like to get access to the AMC6821 I2C fan controller on my SolidRun HoneyComb LX2 board. Currently I only see it here: > > > > > > devinfo -v | grep I2C > > > unknown pnpinfo _HID=NXP0001 _UID=0 _CID=none at handle=\SB.I2C0 > > > unknown pnpinfo _HID=NXP0002 _UID=0 _CID=none at handle=\SB.I2C0.MUX0 > > > unknown pnpinfo _HID=PRP0001 _UID=0 _CID=none at handle=\SB.I2C0.MUX0.CH01.FAN1 > > > unknown pnpinfo _HID=PRP0001 _UID=1 _CID=none at handle=\SB.I2C0.MUX0.CH03.THE1 > > > unknown pnpinfo _HID=NXP0001 _UID=1 _CID=none at handle=\SB.I2C1 > > > > > > There is no iic device in /dev > > > > > > There is info regarding fan control on this board here: https://community.solid-run.com/t/fan-control/205 > > > > > > Am I correct that the only way to get access to the controller from the OS side is to write an ACPI driver for it? What is involved exactly? > > > > === > Mark Millard > marklmi at yahoo.com