Ao compilar o kernel Linux para a Beaglebone ( BeagleBoard.org ), deve-se ficar atento a qual DTB você irá carregar para as diferentes variantes da placa.
Na variante Beaglebone White é necessário carregar o am335x-bone.dtb, compilado a partir do am335x-bone.dts:
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;
#include "am33xx.dtsi"
#include "am335x-bone-common.dtsi"
/ {
model = "TI AM335x BeagleBone";
compatible = "ti,am335x-bone", "ti,am33xx";
chosen {
base_dtb = "am335x-bone.dts";
base_dtb_timestamp = __TIMESTAMP__;
};
};
&ldo3_reg {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
&mmc1 {
vmmc-supply = <&ldo3_reg>;
};
Nota-se que a mmc1 ( mapeada como MMC0 durante o boot ) precisa habilitar a tensão de alimentação. Quando isso não é feito uma mensagem erro será exibida logo após o boot do kernel:
mmc0: error -110 whilst initialising SD card