I2C pull-up breaks unrelated USB communication.

I noticing a weird behaviour with my configuration, that I am writing for a NRF52840 USB Dongle. Every time I enable the internal pull-up on my i2c0, the USB cdc_acm_uart0 does not output anything anymore. The USB device still shows up, but there is no output. If I remove the pull-up line from my configuration it works as expected. 

-- Zephyr version: 3.2.99 (/opt/nordic/ncs/v2.2.0/zephyr)
-- Found west (found suitable version "0.14.0", minimum required is "0.7.1")
-- Board: nrf52840dongle_nrf52840
-- Found host-tools: zephyr 0.15.1 (/opt/nordic/ncs/toolchains/v2.2.0/opt/zephyr-sdk)
-- Found toolchain: zephyr 0.15.1 (/opt/nordic/ncs/toolchains/v2.2.0/opt/zephyr-sdk)

Important parts of my overlay file:

&i2c0 {
    status = "okay";
    temp1: tmp116@48 {
        compatible = "ti,tmp116";
        reg = < 0x48 >;
        status = "okay";
    };
};


&i2c0_default {
    group1 {
        psels = <NRF_PSEL(TWIM_SDA, 0, 20)>,
            <NRF_PSEL(TWIM_SCL, 0, 24)>;
        bias-pull-up; // This line breaks it
    };
};

&i2c0_sleep {
    group1 {
        psels = <NRF_PSEL(TWIM_SDA, 0, 20)>,
            <NRF_PSEL(TWIM_SCL, 0, 24)>;
        low-power-enable;
    };
};

&uart0_default {
    group1 {
        psels = <NRF_PSEL(UART_TX, 0, 11)>,
            <NRF_PSEL(UART_RTS, 0, 4)>;
    };
    group2 {
        psels = <NRF_PSEL(UART_RX, 0, 14)>,
            <NRF_PSEL(UART_CTS, 0, 26)>;
        bias-pull-up;
    };
};

&uart0_sleep {
    group1 {
        psels = <NRF_PSEL(UART_TX, 0, 11)>,
            <NRF_PSEL(UART_RX, 0, 14)>,
            <NRF_PSEL(UART_RTS, 0, 4)>,
            <NRF_PSEL(UART_CTS, 0, 26)>;
        low-power-enable;
    };
};

&pinctrl {
    /delete-node/ i2c1_default;
    /delete-node/ i2c1_sleep;
    /delete-node/ spi0_default;
    /delete-node/ spi0_sleep;
    /delete-node/ spi1_default;
    /delete-node/ spi1_sleep;
};


/ {
    chosen {
		zephyr,console = &cdc_acm_uart0;
        zephyr,shell-uart = &cdc_acm_uart0;
		zephyr,uart-mcumgr = &cdc_acm_uart0;
		zephyr,bt-mon-uart = &cdc_acm_uart0;
		zephyr,bt-c2h-uart = &cdc_acm_uart0;
	};
};

&i2c1 {
    /delete-property/ pinctrl-0;
    /delete-property/ pinctrl-1;
    /delete-property/ pinctrl-names;
    status = "disabled";
};


&spi0 {
    /delete-property/ pinctrl-0;
    /delete-property/ pinctrl-1;
    /delete-property/ pinctrl-names;
	status = "disabled";
};

&spi1 {
    /delete-property/ pinctrl-0;
    /delete-property/ pinctrl-1;
    /delete-property/ pinctrl-names;
	status = "disabled";
};

&zephyr_udc0 {
	cdc_acm_uart0: cdc_acm_uart0 {
		compatible = "zephyr,cdc-acm-uart";
        current-speed = < 115200 >;
        status = "okay";
	};
};

Important parts of my prf.conf:

CONFIG_USB_DEVICE_STACK=y
CONFIG_USB_DEVICE_INITIALIZE_AT_BOOT=y

CONFIG_SERIAL=y
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y
CONFIG_UART_INTERRUPT_DRIVEN=y
CONFIG_UART_LINE_CTRL=y
CONFIG_STDOUT_CONSOLE=y
CONFIG_LOG=y
CONFIG_LOG_BACKEND_UART=y

Parents Reply Children
Related