/*
* Copyright (C) 2018, STMicroelectronics - All Rights Reserved
*/
+
+#define LOG_CATEGORY LOGC_BOARD
+
#include <common.h>
#include <adc.h>
#include <bootm.h>
else
mode = "basic";
- printf("Board: stm32mp1 in %s mode", mode);
fdt_compat = fdt_getprop(gd->fdt_blob, 0, "compatible",
&fdt_compat_len);
- if (fdt_compat && fdt_compat_len)
- printf(" (%s)", fdt_compat);
- puts("\n");
+
+ log_info("Board: stm32mp1 in %s mode (%s)\n", mode,
+ fdt_compat && fdt_compat_len ? fdt_compat : "");
/* display the STMicroelectronics board identification */
if (CONFIG_IS_ENABLED(CMD_STBOARD)) {
ret = misc_read(dev, STM32_BSEC_SHADOW(BSEC_OTP_BOARD),
&otp, sizeof(otp));
if (ret > 0 && otp)
- printf("Board: MB%04x Var%d.%d Rev.%c-%02d\n",
- otp >> 16,
- (otp >> 12) & 0xF,
- (otp >> 4) & 0xF,
- ((otp >> 8) & 0xF) - 1 + 'A',
- otp & 0xF);
+ log_info("Board: MB%04x Var%d.%d Rev.%c-%02d\n",
+ otp >> 16,
+ (otp >> 12) & 0xF,
+ (otp >> 4) & 0xF,
+ ((otp >> 8) & 0xF) - 1 + 'A',
+ otp & 0xF);
}
return 0;
node = ofnode_path("/config");
if (!ofnode_valid(node)) {
- debug("%s: no /config node?\n", __func__);
+ log_debug("no /config node?\n");
return;
}
if (IS_ENABLED(CONFIG_FASTBOOT)) {
if (gpio_request_by_name_nodev(node, "st,fastboot-gpios", 0,
&gpio, GPIOD_IS_IN)) {
- debug("%s: could not find a /config/st,fastboot-gpios\n",
- __func__);
+ log_debug("could not find a /config/st,fastboot-gpios\n");
} else {
if (dm_gpio_get_value(&gpio)) {
- puts("Fastboot key pressed, ");
+ log_notice("Fastboot key pressed, ");
boot_mode = BOOT_FASTBOOT;
}
if (IS_ENABLED(CONFIG_CMD_STM32PROG)) {
if (gpio_request_by_name_nodev(node, "st,stm32prog-gpios", 0,
&gpio, GPIOD_IS_IN)) {
- debug("%s: could not find a /config/st,stm32prog-gpios\n",
- __func__);
+ log_debug("could not find a /config/st,stm32prog-gpios\n");
} else {
if (dm_gpio_get_value(&gpio)) {
- puts("STM32Programmer key pressed, ");
+ log_notice("STM32Programmer key pressed, ");
boot_mode = BOOT_STM32PROG;
}
dm_gpio_free(NULL, &gpio);
}
}
if (boot_mode != BOOT_NORMAL) {
- puts("entering download mode...\n");
+ log_notice("entering download mode...\n");
clrsetbits_le32(TAMP_BOOT_CONTEXT,
TAMP_BOOT_FORCED_MASK,
boot_mode);
ret = uclass_get_device_by_driver(UCLASS_USB_GADGET_GENERIC,
DM_DRIVER_GET(dwc2_udc_otg),
&dwc2_udc_otg);
- if (!ret)
- debug("dwc2_udc_otg init failed\n");
+ if (ret) {
+ log_debug("dwc2_udc_otg init failed\n");
+ return ret;
+ }
return dwc2_udc_B_session_valid(dwc2_udc_otg);
}
led_name = fdtdec_get_config_string(gd->fdt_blob, led_string);
if (!led_name) {
- pr_debug("%s: could not find %s config string\n",
- __func__, led_string);
+ log_debug("could not find %s config string\n", led_string);
return -ENOENT;
}
ret = led_get_by_label(led_name, dev);
if (ret) {
- debug("%s: get=%d\n", __func__, ret);
+ log_debug("get=%d\n", ret);
return ret;
}
node = ofnode_path("/config");
if (!ofnode_valid(node)) {
- debug("%s: no /config node?\n", __func__);
+ log_debug("no /config node?\n");
return -ENOENT;
}
if (adc_count == -ENOENT)
return 0;
- pr_err("%s: can't find adc channel (%d)\n", __func__,
- adc_count);
+ log_err("can't find adc channel (%d)\n", adc_count);
return adc_count;
}
if (ofnode_parse_phandle_with_args(node, "st,adc_usb_pd",
"#io-channel-cells", 0, i,
&adc_args)) {
- pr_debug("%s: can't find /config/st,adc_usb_pd\n",
- __func__);
+ log_debug("can't find /config/st,adc_usb_pd\n");
return 0;
}
&adc);
if (ret) {
- pr_err("%s: Can't get adc device(%d)\n", __func__,
- ret);
+ log_err("Can't get adc device(%d)\n", ret);
return ret;
}
ret = adc_channel_single_shot(adc->name, adc_args.args[0],
&raw);
if (ret) {
- pr_err("%s: single shot failed for %s[%d]!\n",
- __func__, adc->name, adc_args.args[0]);
+ log_err("single shot failed for %s[%d]!\n",
+ adc->name, adc_args.args[0]);
return ret;
}
/* Convert to uV */
max_uV = uV;
if (uV < min_uV)
min_uV = uV;
- pr_debug("%s: %s[%02d] = %u, %d uV\n", __func__,
- adc->name, adc_args.args[0], raw, uV);
+ log_debug("%s[%02d] = %u, %d uV\n",
+ adc->name, adc_args.args[0], raw, uV);
} else {
- pr_err("%s: Can't get uV value for %s[%d]\n",
- __func__, adc->name, adc_args.args[0]);
+ log_err("Can't get uV value for %s[%d]\n",
+ adc->name, adc_args.args[0]);
}
}
min_uV <= USB_LOW_THRESHOLD_UV)
return 0;
- pr_err("****************************************************\n");
+ log_notice("****************************************************\n");
/*
* If highest and lowest value are either both below
min_uV > USB_LOW_THRESHOLD_UV) ||
(max_uV <= USB_LOW_THRESHOLD_UV &&
min_uV <= USB_LOW_THRESHOLD_UV)) {
- pr_err("* ERROR USB TYPE-C connection in unattached mode *\n");
- pr_err("* Check that USB TYPE-C cable is correctly plugged *\n");
+ log_notice("* ERROR USB TYPE-C connection in unattached mode *\n");
+ log_notice("* Check that USB TYPE-C cable is correctly plugged *\n");
/* with 125ms interval, led will blink for 17.02 years ....*/
nb_blink = U32_MAX;
}
if (max_uV > USB_LOW_THRESHOLD_UV &&
max_uV <= USB_WARNING_LOW_THRESHOLD_UV &&
min_uV <= USB_LOW_THRESHOLD_UV) {
- pr_err("* WARNING 500mA power supply detected *\n");
+ log_notice("* WARNING 500mA power supply detected *\n");
nb_blink = 2;
}
if (max_uV > USB_WARNING_LOW_THRESHOLD_UV &&
max_uV <= USB_START_LOW_THRESHOLD_UV &&
min_uV <= USB_LOW_THRESHOLD_UV) {
- pr_err("* WARNING 1.5A power supply detected *\n");
+ log_notice("* WARNING 1.5A power supply detected *\n");
nb_blink = 3;
}
* supplies more than 3 Amp, this is not compliant with TypeC specification
*/
if (max_uV > USB_START_HIGH_THRESHOLD_UV) {
- pr_err("* USB TYPE-C charger not compliant with *\n");
- pr_err("* specification *\n");
- pr_err("****************************************************\n\n");
+ log_notice("* USB TYPE-C charger not compliant with *\n");
+ log_notice("* specification *\n");
+ log_notice("****************************************************\n\n");
/* with 125ms interval, led will blink for 17.02 years ....*/
nb_blink = U32_MAX;
} else {
- pr_err("* Current too low, use a 3A power supply! *\n");
- pr_err("****************************************************\n\n");
+ log_notice("* Current too low, use a 3A power supply! *\n");
+ log_notice("****************************************************\n\n");
}
led_error_blink(nb_blink);
DM_DRIVER_GET(stm32mp_bsec),
&dev);
if (ret) {
- pr_err("Can't find stm32mp_bsec driver\n");
+ log_err("Can't find stm32mp_bsec driver\n");
return;
}
syscfg + SYSCFG_IOCTRLSETR);
if (!otp)
- pr_err("product_below_2v5=0: HSLVEN protected by HW\n");
+ log_err("product_below_2v5=0: HSLVEN protected by HW\n");
} else {
if (otp)
- pr_err("product_below_2v5=1: HSLVEN update is destructive, no update as VDD>2.7V\n");
+ log_err("product_below_2v5=1: HSLVEN update is destructive, no update as VDD>2.7V\n");
}
} else {
- debug("VDD unknown");
+ log_debug("VDD unknown");
}
}
val & SYSCFG_CMPCR_READY,
1000000);
if (ret) {
- pr_err("SYSCFG: I/O compensation failed, timeout.\n");
+ log_err("SYSCFG: I/O compensation failed, timeout.\n");
led_error_blink(10);
}
node = ofnode_path("/soc/i2c@40012000/hdmi-transmitter@39");
if (!ofnode_valid(node)) {
- pr_debug("%s: no hdmi-transmitter@39 ?\n", __func__);
+ log_debug("no hdmi-transmitter@39 ?\n");
return -ENOENT;
}
if (gpio_request_by_name_nodev(node, "reset-gpios", 0,
&hdmi, GPIOD_IS_OUT)) {
- pr_debug("%s: could not find reset-gpios\n",
- __func__);
+ log_debug("could not find reset-gpios\n");
return -ENOENT;
}
node = ofnode_path("/soc/i2c@40012000/cs42l51@4a");
if (!ofnode_valid(node)) {
- pr_debug("%s: no cs42l51@4a ?\n", __func__);
+ log_debug("no cs42l51@4a ?\n");
return -ENOENT;
}
if (gpio_request_by_name_nodev(node, "reset-gpios", 0,
&audio, GPIOD_IS_OUT)) {
- pr_debug("%s: could not find reset-gpios\n",
- __func__);
+ log_debug("could not find reset-gpios\n");
return -ENOENT;
}
/* before power up, insure that HDMI and AUDIO IC is under reset */
ret = dm_gpio_set_value(&hdmi, 1);
if (ret) {
- pr_err("%s: can't set_value for hdmi_nrst gpio", __func__);
+ log_err("can't set_value for hdmi_nrst gpio");
goto error;
}
ret = dm_gpio_set_value(&audio, 1);
if (ret) {
- pr_err("%s: can't set_value for audio_nrst gpio", __func__);
+ log_err("can't set_value for audio_nrst gpio");
goto error;
}
case PHY_INTERFACE_MODE_MII:
value = SYSCFG_PMCSETR_ETH_SEL_GMII_MII |
SYSCFG_PMCSETR_ETH_REF_CLK_SEL;
- debug("%s: PHY_INTERFACE_MODE_MII\n", __func__);
+ log_debug("PHY_INTERFACE_MODE_MII\n");
break;
case PHY_INTERFACE_MODE_GMII:
if (eth_clk_sel_reg)
SYSCFG_PMCSETR_ETH_CLK_SEL;
else
value = SYSCFG_PMCSETR_ETH_SEL_GMII_MII;
- debug("%s: PHY_INTERFACE_MODE_GMII\n", __func__);
+ log_debug("PHY_INTERFACE_MODE_GMII\n");
break;
case PHY_INTERFACE_MODE_RMII:
if (eth_ref_clk_sel_reg)
SYSCFG_PMCSETR_ETH_REF_CLK_SEL;
else
value = SYSCFG_PMCSETR_ETH_SEL_RMII;
- debug("%s: PHY_INTERFACE_MODE_RMII\n", __func__);
+ log_debug("PHY_INTERFACE_MODE_RMII\n");
break;
case PHY_INTERFACE_MODE_RGMII:
case PHY_INTERFACE_MODE_RGMII_ID:
SYSCFG_PMCSETR_ETH_CLK_SEL;
else
value = SYSCFG_PMCSETR_ETH_SEL_RGMII;
- debug("%s: PHY_INTERFACE_MODE_RGMII\n", __func__);
+ log_debug("PHY_INTERFACE_MODE_RGMII\n");
break;
default:
- debug("%s: Do not manage %d interface\n",
- __func__, interface_type);
+ log_debug("Do not manage %d interface\n",
+ interface_type);
/* Do not manage others interfaces */
return -EINVAL;
}
if (!rproc_is_initialized())
if (rproc_init()) {
- printf("Remote Processor %d initialization failed\n",
- id);
+ log_err("Remote Processor %d initialization failed\n",
+ id);
return;
}
ret = rproc_load(id, fw_image, fw_size);
- printf("Load Remote Processor %d with data@addr=0x%08lx %u bytes:%s\n",
- id, fw_image, fw_size, ret ? " Failed!" : " Success!");
+ log_err("Load Remote Processor %d with data@addr=0x%08lx %u bytes:%s\n",
+ id, fw_image, fw_size, ret ? " Failed!" : " Success!");
if (!ret)
rproc_start(id);