Linux для Mac на Apple Silicon может получить поддержку USB3 в основном ядре
Проект Asahi Linux, занимающийся портированием Linux на компьютеры Apple с процессорами собственной разработки Apple Silicon, достиг нового важного рубежа — реализации поддержки USB 3 на чипах M1 и M2. Хотя эта функциональность уже некоторое время доступна в рамках Asahi Linux, вскоре она может быть включена в основное ядро Linux. Соответствующий патч был отправлен на рассмотрение через публичную почтовую рассылку разработчиков ядра.
Текущая реализация пока не поддерживает альтернативные режимы DisplayPort и Thunderbolt. Разработчик драйвера отмечает:
«Есть также некоторые приготовления для eventual включения DisplayPort AltMode и Thunderbolt, но это требует дальнейшей работы».
Драйвер всё ещё находится в стадии активной разработки. Комментарии разработчиков указывают на то, что им приходится буквально «бороться» с прошивкой USB-контроллера, чтобы заставить некоторые функции работать, и текущая реализация — лучшее, что им пока удалось создать.
На данный момент Asahi Linux поддерживает компьютеры Apple на чипах серий M1 и M2. Из неподдерживаемых функций оборудования остаются дисплеи через USB-C, подключения USB4 и Thunderbolt, а также TouchID.
Полное объяснение к RFC по поддержке USB3 от Asahi содержит технические детали:
Этот набор изменений включает правки в dwc3, tipd и новый драйвер phy для включения USB3 на этих машинах. Вся эта setup — довольно большой беспорядок, мы долго пытались заставить это работать и наконец пришли к этому решению. Контроллер USB3 здесь особенный и «сломанный»: он никогда не видит событий подключения/отключения, которые в норме должны приходить напрямую в dwc3. Кроме того, ему требуется полный hard reset для каждого нового подключения и большинства смен режимов... Вся процедура инициализации оркестрируется вариантом TIPD под названием CD321x, найденным на этих машинах. В отличие от оригинальных чипов, мы не получаем контроля над тем, какой режимnegotiated, и даже не можем видеть PDOs или VDOs. Мы узнаём об этом только после того, как режим согласован, и должны действовать соответственно.
Если общий подход будет одобрен сообществом и никто не предложит лучшего способа поддержки этого SoC, разработчик планирует убрать метку RFC и добавить изменения dts для других машин на M1 и M2.
0 комментариев