Welcome to the Rockbox Technical Forums!
Board: R3II (Ingenic XBurst X1000 SoC)
[ 1.552872] gpio_request GPIO 46 , name JTAG_GPIO_PORT_TDI[ 1.558788] gpio_request GPIO 44 , name JTAG_GPIO_PORT_TDO[ 1.564622] gpio_request GPIO 45 , name JTAG_GPIO_PORT_TMS[ 1.570476] gpio_request GPIO 47 , name JTAG_GPIO_PORT_TCK[ 1.576330] gpio_request GPIO 41 , name GPIO_HBC3000_JTAG_SEL[ 1.582433] gpio_request GPIO 43 , name HBC2500_PWR[ 1.610174] sa_spdif sa_spdif.0: spdif dump dai <-> jz-asoc-aic-spdif mapping ok[ 1.618970] gpio_request GPIO 37 , name headphone[ 1.624108] gpio_request GPIO 38 , name balance[ 1.629218] gpio_request GPIO 53 , name digital_dt2[ 1.634501] SWITCH: init OK[ 1.647178] ingenic-v3_analog ingenic-v3_analog: ak4493-hifi <-> jz-asoc-aic-i2s mapping ok[ 1.656325] dma dma0chan2: Channel 2 have been requested.(phy id 5,type 0x20 desc a211a000)[ 1.673895] ingenic-v3_analog ingenic-v3_analog: ak4493-hifi <-> jz-asoc-pcm mapping ok[ 1.683344] gpio_request GPIO 18 , name DCDC_EN[ 1.688272] gpio_request GPIO 39 , name DAC_PDN[ 1.693122] gpio_request GPIO 40 , name DAC_MUTE[ 1.698080] gpio_request GPIO 59 , name PO_MUTE
bootloader={ name=uboot file_path=autoupdate/uboot.bin md5=e1b0c012da7094b8a9686f15c9132ce1}
mount -t debugfs debugfs /sys/kernel/debug
# cat /sys/kernel/debug/gpioGPIOs 0-31, GPIO A: gpio-16 (lcd rst ) out lo gpio-17 (usb-insert-detect ) in lo gpio-18 (DCDC_EN ) out loGPIOs 32-63, GPIO B: gpio-32 (volume down key ) in hi gpio-35 (volume up key ) in hi gpio-37 (headphone ) in lo gpio-38 (balance ) in lo gpio-39 (DAC_PDN ) out lo gpio-40 (DAC_MUTE ) out lo gpio-41 (GPIO_HBC3000_JTAG_SE) out lo gpio-42 (GTP_RST_PORT ) in hi gpio-43 (HBC2500_PWR ) out lo gpio-44 (JTAG_GPIO_PORT_TDO ) in lo gpio-45 (JTAG_GPIO_PORT_TMS ) out lo gpio-46 (JTAG_GPIO_PORT_TDI ) out lo gpio-47 (JTAG_GPIO_PORT_TCK ) out lo gpio-48 (lcd rd ) out lo gpio-51 (lcd vsync ) in lo gpio-53 (digital_dt2 ) in lo gpio-57 (drvvbus_pin ) out lo gpio-58 (rtc32k ) in lo gpio-59 (PO_MUTE ) out lo gpio-60 (previous song key ) in hi gpio-61 (USB_TCS1421_CFG0 ) out hi gpio-62 (USB_TCS1421_CFG1 ) out hi gpio-63 (power key ) in hiGPIOs 64-95, GPIO C: gpio-72 (GPIO_EARPODS_KEY_POW) out hi gpio-80 (oob irq ) in lo gpio-81 (wifi_reset ) out lo gpio-82 (bt_reg_on ) out hi gpio-83 (host_wake_bt ) out hi gpio-84 (bt_wake_host ) in lo gpio-85 (axp_irq ) in hi gpio-86 (mmc_detect ) in lo gpio-87 (GTP_INT_IRQ ) in lo gpio-88 (next song key ) in hi gpio-89 (BL PWR ) in loGPIOs 96-101, GPIO D: gpio-98 (otg-id-detect ) in hi gpio-99 (play key ) in hi gpio-100 (sgm31324_enable ) out hi#
# cat /sys/kernel/debug/mmc0/iosclock: 48000000 Hzvdd: 20 (3.2 ~ 3.3 V)bus mode: 2 (push-pull)chip select: 0 (don't care)power mode: 2 (on)bus width: 2 (4 bits)timing spec: 2 (sd high-speed)signal voltage: 0 (3.30 V)
# cat /sys/kernel/debug/usb/devicesT: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 1B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1P: Vendor=1d6b ProdID=0002 Rev= 3.10S: Manufacturer=Linux 3.10.14 dwc2-hcdS: Product=DesignWare USB2.0 High-Speed Host ControllerS: SerialNumber=dwc2C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mAI:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hubE: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms
# cat /sys/class/i2c-adapter/i2c-0/0-005d/nameGT9XX-TS# cat /sys/class/i2c-adapter/i2c-1/1-0010/nameak4493# cat /sys/class/i2c-adapter/i2c-1/1-003d/namesau# cat /sys/class/i2c-adapter/i2c-2/2-0030/namesgm31324# cat /sys/class/i2c-adapter/i2c-2/2-0034/nameaxp2101_mfd# cat /sys/class/i2c-adapter/i2c-2/2-0062/namecw201x
# cat /sys/kernel/debug/regulator/supply_mapLDO11 -> (null).axp_cpusldoLDO10 -> (null).axp_dldo2LDO9 -> (null).axp_dldo1LDO8 -> (null).axp_bldo2LDO7 -> (null).axp_bldo1LDO6 -> (null).axp_aldo4LDO5 -> (null).axp_aldo3LDO4 -> (null).axp_aldo2LDO3 -> (null).axp_aldo1LDO2 -> (null).axp_rtcldo1LDO1 -> (null).axp_rtcldoDCDC5 -> (null).axp_dcdc5DCDC4 -> (null).axp_dcdc4DCDC3 -> (null).axp_dcdc3DCDC2 -> (null).axp_dcdc2DCDC1 -> (null).axp_dcdc1
# cat /sys/class/power_supply/axp_battery/voltage_max_design4350000# cat /sys/class/power_supply/axp_battery/voltage_min_design3400000# cat /sys/class/power_supply/axp_battery/ueventPOWER_SUPPLY_NAME=axp_batteryPOWER_SUPPLY_MODEL_NAME=axp_batteryPOWER_SUPPLY_STATUS=DischargingPOWER_SUPPLY_PRESENT=1POWER_SUPPLY_HEALTH=GoodPOWER_SUPPLY_TECHNOLOGY=Li-ionPOWER_SUPPLY_VOLTAGE_MAX_DESIGN=4350000POWER_SUPPLY_VOLTAGE_MIN_DESIGN=3400000POWER_SUPPLY_VOLTAGE_NOW=3888000POWER_SUPPLY_CURRENT_NOW=200000POWER_SUPPLY_ENERGY_FULL_DESIGN=1600POWER_SUPPLY_CAPACITY=0POWER_SUPPLY_TEMP=0POWER_SUPPLY_CAPACITY_ALERT_MIN=160POWER_SUPPLY_TEMP_ALERT_MIN=85POWER_SUPPLY_TIME_TO_EMPTY_NOW=3540POWER_SUPPLY_TIME_TO_FULL_NOW=1500POWER_SUPPLY_MANUFACTURER=X-POWERSPOWER_SUPPLY_CAPACITY_LEVEL=Low
# cat /sys/kernel/debug/regmap/2-0034/access cache_dirty name rbtreecache_bypass cache_only range registers# cat /sys/kernel/debug/regmap/2-0034/nameaxp20x-i2c# cat /sys/kernel/debug/regmap/2-0034/range0-ff# cat /sys/kernel/debug/regmap/2-0034/registers00: 1801: 5502: 0003: 4a04: 0005: 0006: 0007: 0008: 0c09: 000a: 000b: 000c: 000d: 000e: 000f: 0010: 3411: 0012: 0013: 0314: 6515: 0616: 0117: 0018: 0a19: 061a: a01b: 001c: 001d: 001e: 091f: 0020: 0121: 0122: 0623: 3f24: 0025: 1826: 0827: 0728: 0029: 002a: 002b: 002c: 002d: 002e: 002f: 0030: 0331: 0032: 0033: 0034: 0f35: 3436: bf37: f338: 0039: 003a: 003b: 003c: 003d: 003e: 003f: 0040: 0041: 0042: 0043: 0044: 0045: 0046: 0047: 0048: 5049: 6f4a: 284b: 004c: 004d: 004e: 004f: 0050: 1051: 0052: 0253: 0154: 2955: 5856: 3e57: 4c58: 0059: 145a: 375b: 1e5c: 025d: 585e: 005f: 0060: 0261: 0462: 0d63: 1264: 0465: 0266: 0167: e668: 0169: 006a: 036b: 006c: 006d: 006e: 006f: 0070: 0071: 0072: 0073: 0074: 0075: 0076: 0077: 0078: 0079: 007a: 007b: 007c: 007d: 007e: 007f: 0080: 0b81: 0082: 1283: 4684: 6485: 6486: 0087: 0088: 0089: 008a: 008b: 008c: 008d: 008e: 008f: 0090: 3f91: 0092: 1493: 1c94: 1c95: 1c96: 1997: 0d98: 0099: 1c9a: 0f9b: 009c: 009d: 009e: 009f: 00a0: 00a1: 58a2: 10a3: eaa4: 00a5: 00a6: 00a7: 3ba8: 00a9: 18aa: 00ab: 03ac: 00ad: 00ae: 00af: 00b0: 00b1: 00b2: 00b3: 00b4: 00b5: 00b6: 00b7: 00b8: 00b9: 00ba: 00bb: 00bc: 00bd: 00be: 00bf: 00c0: 00c1: 00c2: 00c3: 00c4: 00c5: 00c6: 00c7: 00c8: 00c9: 00ca: 00cb: 00cc: 00cd: 00ce: 00cf: 00d0: 00d1: 00d2: 00d3: 00d4: 00d5: 00d6: 00d7: 00d8: 00d9: 00da: 00db: 00dc: 00dd: 00de: 00df: 00e0: 00e1: 00e2: 00e3: 00e4: 00e5: 00e6: 00e7: 00e8: 00e9: 00ea: 00eb: 00ec: 00ed: 00ee: 00ef: 00f0: 00f1: 00f2: 00f3: 00f4: 00f5: 00f6: 00f7: 00f8: 00f9: 00fa: 00fb: 00fc: 00fd: 00fe: 00
cat /proc/bus/input/devicesI: Bus=0019 Vendor=0001 Product=0002 Version=0100N: Name="earpods_wire"P: Phys=earpods-wire/input0S: Sysfs=/devices/platform/earpods_wire/input/input0U: Uniq=H: Handlers=kbd event0B: PROP=0B: EV=3B: KEY=10000 138 0 0 0 0 0I: Bus=0019 Vendor=0001 Product=0001 Version=0100N: Name="gpio-keys"P: Phys=gpio-keys/input0S: Sysfs=/devices/platform/gpio-keys/input/input1U: Uniq=H: Handlers=kbd event1B: PROP=0B: EV=3B: KEY=38 0 1c0000 0 0 0I: Bus=0018 Vendor=dead Product=beef Version=28bbN: Name="GT9XX-TS"P: Phys=(Ze▒0▒▒(Ze▒0▒▒S: Sysfs=/devices/virtual/input/input2U: Uniq=main_tsH: Handlers=kbd event2B: PROP=2B: EV=bB: KEY=400 0 0 0 0 0 40000800 100040 0 0 0B: ABS=2650000 0
Available devices:/dev/input/event0: earpods_wire/dev/input/event1: gpio-keys/dev/input/event2: GT9XX-TSSelect the device event number [0-2]: 1Input driver version is 1.0.1Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100Input device name: "gpio-keys"Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 114 (KEY_VOLUMEDOWN) Event code 115 (KEY_VOLUMEUP) Event code 116 (KEY_POWER) Event code 163 (KEY_NEXTSONG) Event code 164 (KEY_PLAYPAUSE) Event code 165 (KEY_PREVIOUSSONG)Properties:Testing ... (interrupt to exit)Event: time 1717570680.918068, type 1 (EV_KEY), code 163 (KEY_NEXTSONG), value 1 (actually previous song)Event: time 1717570680.918068, -------------- SYN_REPORT ------------Event: time 1717570681.119691, type 1 (EV_KEY), code 163 (KEY_NEXTSONG), value 0Event: time 1717570681.119691, -------------- SYN_REPORT ------------Event: time 1717570695.967716, type 1 (EV_KEY), code 165 (KEY_PREVIOUSSONG), value 1 (actually next song)Event: time 1717570695.967716, -------------- SYN_REPORT ------------Event: time 1717570696.168842, type 1 (EV_KEY), code 165 (KEY_PREVIOUSSONG), value 0Event: time 1717570696.168842, -------------- SYN_REPORT ------------Event: time 1717570699.756916, type 1 (EV_KEY), code 164 (KEY_PLAYPAUSE), value 1Event: time 1717570699.756916, -------------- SYN_REPORT ------------Event: time 1717570699.960686, type 1 (EV_KEY), code 164 (KEY_PLAYPAUSE), value 0Event: time 1717570699.960686, -------------- SYN_REPORT ------------Event: time 1717570844.496105, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 1Event: time 1717570844.496105, -------------- SYN_REPORT ------------Event: time 1717570844.670567, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 0Event: time 1717570844.670567, -------------- SYN_REPORT ------------Event: time 1717570860.589790, type 1 (EV_KEY), code 114 (KEY_VOLUMEDOWN), value 1Event: time 1717570860.589790, -------------- SYN_REPORT ------------Event: time 1717570860.747305, type 1 (EV_KEY), code 114 (KEY_VOLUMEDOWN), value 0Event: time 1717570860.747305, -------------- SYN_REPORT ------------Event: time 1717570877.352349, type 1 (EV_KEY), code 116 (KEY_POWER), value 1Event: time 1717570877.352349, -------------- SYN_REPORT ------------Event: time 1717570877.530388, type 1 (EV_KEY), code 116 (KEY_POWER), value 0Event: time 1717570877.530388, -------------- SYN_REPORT ------------
Select the device event number [0-2]: 2Input driver version is 1.0.1Input device ID: bus 0x18 vendor 0xdead product 0xbeef version 0x28bbInput device name: "GT9XX-TS"Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 102 (KEY_HOME) Event code 116 (KEY_POWER) Event code 139 (KEY_MENU) Event code 158 (KEY_BACK) Event code 330 (BTN_TOUCH) Event type 3 (EV_ABS) Event code 48 (ABS_MT_TOUCH_MAJOR) Value 0 Min 0 Max 255 Event code 50 (ABS_MT_WIDTH_MAJOR) Value 0 Min 0 Max 255 Event code 53 (ABS_MT_POSITION_X) Value 0 Min 0 Max 320 Event code 54 (ABS_MT_POSITION_Y) Value 0 Min 0 Max 480 Event code 57 (ABS_MT_TRACKING_ID) Value 0 Min 0 Max 255Properties: Property type 1 (INPUT_PROP_DIRECT)Testing ... (interrupt to exit)single tap on middle display areaEvent: time 1717570956.659841, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1Event: time 1717570956.659841, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 187Event: time 1717570956.659841, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 143Event: time 1717570956.659841, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 37Event: time 1717570956.659841, type 3 (EV_ABS), code 50 (ABS_MT_WIDTH_MAJOR), value 37Event: time 1717570956.659841, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 0Event: time 1717570956.659841, ++++++++++++++ SYN_MT_REPORT ++++++++++++<same listings repeats by 3 times>Event: time 1717570956.719840, -------------- SYN_REPORT ------------Event: time 1717570956.749832, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0Event: time 1717570956.749832, -------------- SYN_REPORT ------------single tap on top left cornerEvent: time 1717571075.199841, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1Event: time 1717571075.199841, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 25Event: time 1717571075.199841, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 16Event: time 1717571075.199841, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 23Event: time 1717571075.199841, type 3 (EV_ABS), code 50 (ABS_MT_WIDTH_MAJOR), value 23Event: time 1717571075.199841, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 0Event: time 1717571075.199841, ++++++++++++++ SYN_MT_REPORT ++++++++++++<same listings repeats by 3 times>Event: time 1717571075.289862, -------------- SYN_REPORT ------------Event: time 1717571075.319833, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0Event: time 1717571075.319833, -------------- SYN_REPORT ------------single tap on top right cornerEvent: time 1717571177.629918, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1Event: time 1717571177.629918, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 300Event: time 1717571177.629918, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 20Event: time 1717571177.629918, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 28Event: time 1717571177.629918, type 3 (EV_ABS), code 50 (ABS_MT_WIDTH_MAJOR), value 28Event: time 1717571177.629918, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 0Event: time 1717571177.629918, ++++++++++++++ SYN_MT_REPORT ++++++++++++<same listings repeats by 3 times>Event: time 1717571177.689843, -------------- SYN_REPORT ------------Event: time 1717571177.719948, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0Event: time 1717571177.719948, -------------- SYN_REPORT ------------single tap on bottom left cornerEvent: time 1717571224.259862, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1Event: time 1717571224.259862, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 12Event: time 1717571224.259862, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 472Event: time 1717571224.259862, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 15Event: time 1717571224.259862, type 3 (EV_ABS), code 50 (ABS_MT_WIDTH_MAJOR), value 15Event: time 1717571224.259862, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 0Event: time 1717571224.259862, ++++++++++++++ SYN_MT_REPORT ++++++++++++<same listings repeats by 3 times>Event: time 1717571224.289848, -------------- SYN_REPORT ------------Event: time 1717571224.319834, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0Event: time 1717571224.319834, -------------- SYN_REPORT ------------single tap on bottom right cornerEvent: time 1717571269.959849, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1Event: time 1717571269.959849, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 302Event: time 1717571269.959849, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 472Event: time 1717571269.959849, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 12Event: time 1717571269.959849, type 3 (EV_ABS), code 50 (ABS_MT_WIDTH_MAJOR), value 12Event: time 1717571269.959849, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 0Event: time 1717571269.959849, ++++++++++++++ SYN_MT_REPORT ++++++++++++<same listings repeats by 3 times>Event: time 1717571270.079836, -------------- SYN_REPORT ------------Event: time 1717571270.109840, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0Event: time 1717571270.109840, -------------- SYN_REPORT ------------
axp2101.kocodec_ak4493_dual.kocw2015.kocywdhd.kogt9xx_touch.koi2c_gpio_add.kokeyboard_adc.kokeyboard_gpio_add.kolcd_st77903_8bit.koleds_sgm31324_add.kopwm_backlight.kormem_manager.kosa_config_module.kosa_hgl_dma.kosa_sound_hbc3000.kosa_sound_switch.kosoc_adc.kosoc_aic.kosoc_efuse.kosoc_fb.kosoc_gpio.kosoc_i2c.kosoc_msc.kosoc_pwm.kosoc_utils.kotcs1421_add.koutils.kox1600_tempotec_v3a_sound_card.ko
If needed i'm an embedded programmer, tell me where to start and i can give it a try
This post is common https://forums.rockbox.org/index.php/topic,54867.msg255834.html#msg255834
I guess also Surfans F28 https://forums.rockbox.org/index.php/topic,54692.msg256086.html#msg256086 is close to start hosted port.
If you are looking at a hosted port (Rockbox app on top of Linux) the other hosted ports are good for inspiration. Surfans F28 is the most recent.Also, if you are looking at a hosted port, any FPGA stuff might not be relevant as the existing Linux firmware has drivers for all hardware. If you are looking at a native port, it will probably be very relevant.Tempotec v3 Blaze run Linux-4.4.94+, which seems the platform for the X1600E HiBy firmware devices.
But I understand that it is relatively simple, also because I imagine that the sequence of steps to get to the porting is something like:
Quote from: speachy on May 05, 2025, 10:12:58 PM(Audio works but is quite distorted, rotary wheel isn't working yet, very crude keymap, touchscreen hooked up but not being utilized, no plugins enabled, etc etc etc..)The rotary wheel now works, audio quality (and volume control) fixed. Given that I have no desire to use a touchscreen-based player like the F28 myself, I don't have the patience to rework the very crude global keymap to incorporate the touch screen, implement keymaps for the bajillion plugins, and tweak the default theme to be less ... BIG.
(Audio works but is quite distorted, rotary wheel isn't working yet, very crude keymap, touchscreen hooked up but not being utilized, no plugins enabled, etc etc etc..)
All of the non-Android Hiby devices (and many more from other manufacturers) are built on the same underlying software framework ("hibyos"), with the messy details nearly entirely handled by custom, per-device kernel drivers and existing platform daemons+scripts.Rockbox has already been ported to multiple hibyos devices. To port it to another one just needs to handle: * Display properties * Button layout * Audio output switcher and mixer names * Power management properties (battery and charging device names, plus discharge curves)
Quote from: 7o9 on April 09, 2025, 10:34:08 AMThe information in the list you provide would be enough for a hosted port?The AGPTek Rocker was the first port to hibyos, and the X3II, X20, and hosted ErosQ/K ports were relatively minor tweaks from there.You only need to build enough to get the "bootloader" (ie a glorified boot menu) to build, for this you need to have the basic display stuff (eg dimensions, resolution) and how to map the various buttons (ie /dev/input*) into something useful. Next you'll need to figure out power management and how to talk to the audio hardware, and from there you should be able to do a plugin-less build. Getting the plugins building will require creating keymaps for many (if not most) of them. It's still a bit of work, but far, far less than a native port would be.Quote from: 7o9 on April 09, 2025, 10:34:08 AMI am sure I can provide most of that for the R1 based on disassembly of the firmware/driver .ko’s. All drivers are provided as modules and decompile very well.To create a new native port, you need to effectively reverse-engineer the hardware schematic to figure out how things are connected. Disassembly of the original firmware can help with that, and of course it should hopefully be able to tell you how to talk to some of the custom hardware. FWIW it's possible (if not likely) that the FPGA stuff is handled by the bootloader before Linux ever starts.( See https://www.rockbox.org/wiki/NewPort )
The information in the list you provide would be enough for a hosted port?
I am sure I can provide most of that for the R1 based on disassembly of the firmware/driver .ko’s. All drivers are provided as modules and decompile very well.
Page created in 0.093 seconds with 17 queries.