- all code references are related to the old LOS kernel for cm-14.1
- code references multiple versions of the tablet with changing hardware
- officially checked in code are 5, 6 and 7 to 9 but there could be others
- version <= 5
- is this the N801x?
- version 6
- confirmed N8000 on own hardware
- version 7
- reserved (see los kernel p4-input.c line 122)
- version 8
- same as 0.7
- version 9+
- LTE model such as N8020 (does this also include the N8015?)
- my N8020 is revision b
- detects the following
- item connected at 30 pin connector
- battery charge
- microphone jack item
- stmpe811-adc.c
- already mainlined but a first test always gave the same results for the readings
- one of the bigger problems, the glue code is quite complex
- maybe we can port this from the newer version of the note?
- charger
- smb347_charger.c
- supported in mainline but no device tree binding yet
- battery
- sec_battery_px.c
- battery charge? via adc channel 6
- this code looks like the glue code for charger, battery and fuel gauge
- fuel gauge
- max17042_fuelgauge_px.c
- can be replaced with max17042_battery from mainline
- max77686 = pmic + rtc
- should be mainly supported
- works out of the box, only the nvram file will be a small problem
- Broadcom BCM4334 wireless
- has multiple versions
- nvram_net.txt_murata -> socitype:0x1 chip:0x4334 rev:0x3 pkg:0x0
- nvram_net.txt -> ?
- nvram_net.txt_murata_b2 -> ?
- nvram_net.txt_semcosh -> ?
- somtimes rev 0x2 can be 0x1 (see dhd_sdio.c @ line 8711)
- there seems to be no connection between system_rev and chip revision
- has multiple versions
- the display is from samsung and doesn't seem to need any driver aside from the gpio-backlight one
- mdnie code is missing, this will probably cause issues with display adjustments like brightness and color adjustments
-
Atmel touchpad
- works out of the box
- will be changed depending on the system_rev (p4-input @ line 512)
- cfg files are in usr/lib/firmware, the one that fits needs to be renamed to maxtouch.cfg
-
Synaptics touchpad
- for system_rev <0x5
- what is this, certain hw versions or countries?
- more info needed
- 30 pin usb connector
- completely missing and quite a huge task but can be split into parts
- old: 30pin_con.c
- cable type via adc channel 7
- at least one of the accessories is chainable (keyboard -> usb connection)
- power goes in both directions
- known accessories
- MHL adapter (does this exist? it's supported in the code)
- USB to pc
- USB to charger (I think this only matters in terms of transferred current)
- keyboard
- there seems to be an overcurrent issue (mach-p4notepq.c @ line 1403)
- OTG adapter
- headphone jack
- sec_jack.c
- device detection via adc channel 4
- Compass: AKM AK8975C
- supported by mainline ("asahi-kasei,ak8975" -> https://github.com/torvalds/linux/blob/master/drivers/iio/magnetometer/ak8975.c)
- i2c10 - reg 0x0C
- Light Sensor #1: ROHM BH1721FVC
- supported by mainline ("rohm,bh1721" -> https://github.com/torvalds/linux/blob/master/drivers/iio/light/bh1750.c)
- i2c9 - reg 0x23
- Light Sensor #2: LIGHTON AL3201
- not yet in mainline
- i2c9 - reg 0x1c
- Acceleration Sensor: STM LSM330DLC
- supported in mainline ("st,lsm330dlc-accel" -> https://github.com/torvalds/linux/blob/master/drivers/iio/accel/st_accel_i2c.c)
- i2c1 - accel: 0x19
- Gyrometer: STM LSM330DLC
- supported in mainline ("st,lsm330dlc-gyro" -> https://github.com/torvalds/linux/blob/master/drivers/iio/gyro/st_gyro_i2c.c)
- i2c1 - gyro: 0x6b