<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>nRF54L15 UART20 on non-standard pins results in garbage data</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/122758/nrf54l15-uart20-on-non-standard-pins-results-in-garbage-data</link><description>Background - We are laying out a new board, upgrading to the nRF54, and wanted to use p2.02 and p2.03 as serial UART lines because p1.04 and p1.05 were planned to be used as analog inputs. We could do another board spin to swap these ADCs with the UART</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 07 Jul 2025 19:14:36 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/122758/nrf54l15-uart20-on-non-standard-pins-results-in-garbage-data" /><item><title>RE: nRF54L15 UART20 on non-standard pins results in garbage data</title><link>https://devzone.nordicsemi.com/thread/541693?ContentTypeID=1</link><pubDate>Mon, 07 Jul 2025 19:14:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c221ff8b-fa61-4e93-8ed6-674ab7d70111</guid><dc:creator>amovitz</dc:creator><description>&lt;p&gt;Found a mistake in my last follow up - For my setup I need to rearrange a few things. The pins above are the new mapping.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;"&gt;UART20-&amp;gt;UART00&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;"&gt;SPI00-&amp;gt;SPI20&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;This allows me to use UART and SPI without making too many hardware changes. The following is my working overlay. I still may try to use a logging thread but I&amp;#39;m going to stick with immediate mode for now. UART is not necessarily critical to the final product, but it is very important for development.&lt;br /&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;/*
 * Copyright (c) 2025 Alex Movitz
 *
 * SPDX-License-Identifier: N/A
 */

/ {
	model = &amp;quot;Smart Dental Probe&amp;quot;;
	compatible = &amp;quot;nordic,nrf54l15dk_nrf54l15-cpuapp&amp;quot;;

	zephyr,user {
		io-channels = &amp;lt;&amp;amp;adc 0&amp;gt;, &amp;lt;&amp;amp;adc 1&amp;gt;;
	};

	// Remove nodes added in dev kit dtsi
    /delete-node/ aliases;
    /delete-node/ chosen;
	/delete-node/ leds;
    /delete-node/ pwmleds;

    aliases {
		watchdog0 = &amp;amp;wdt31;
        vibrator = &amp;amp;vibrator;
        buzzer = &amp;amp;buzzer;
		sw0 = &amp;amp;button0;
		sw1 = &amp;amp;button1;
		sw2 = &amp;amp;button2;
		sw3 = &amp;amp;button3;
		sw4 = &amp;amp;button4;
		joystick = &amp;amp;adc;
    };

	chosen {
		zephyr,bt-hci = &amp;amp;bt_hci_controller;
		zephyr,entropy = &amp;amp;rng;
		zephyr,console = &amp;amp;uart00;
		zephyr,shell-uart = &amp;amp;uart00;
		zephyr,uart-mcumgr = &amp;amp;uart00;
		zephyr,flash-controller = &amp;amp;rram_controller;
		zephyr,flash = &amp;amp;cpuapp_rram;
		zephyr,code-partition = &amp;amp;slot0_partition;
		zephyr,sram = &amp;amp;cpuapp_sram;
	};

	output: out0 {
		compatible = &amp;quot;gpio-leds&amp;quot;;
		status = &amp;quot;okay&amp;quot;;
	
		vibrator: vibrator {
			gpios = &amp;lt;&amp;amp;gpio1 10 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)&amp;gt;;
			label = &amp;quot;VIBRATOR&amp;quot;;
		};
	
		buzzer: buzzer {
			gpios = &amp;lt;&amp;amp;gpio1 9 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)&amp;gt;;
			label = &amp;quot;BUZZER&amp;quot;;
		};
	};

    buttons: buttons {
        compatible = &amp;quot;gpio-keys&amp;quot;;
        status = &amp;quot;okay&amp;quot;;
		button_t_f: button_0 {
			gpios = &amp;lt;&amp;amp;gpio0 0 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)&amp;gt;;
			label = &amp;quot;Top Front Button&amp;quot;;
			zephyr,code = &amp;lt;INPUT_KEY_0&amp;gt;;
		};
		button_t_r: button_1 {
			gpios = &amp;lt;&amp;amp;gpio0 1 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)&amp;gt;;
			label = &amp;quot;Top Rear Button&amp;quot;;
			zephyr,code = &amp;lt;INPUT_KEY_1&amp;gt;;
		};
		button_b_f: button_2 {
			gpios = &amp;lt;&amp;amp;gpio0 2 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)&amp;gt;;
			label = &amp;quot;Bottom Front Button&amp;quot;;
			zephyr,code = &amp;lt;INPUT_KEY_0&amp;gt;;
		};
		button_b_r: button_3 {
			gpios = &amp;lt;&amp;amp;gpio0 3 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)&amp;gt;;
			label = &amp;quot;Bottom Rear Button&amp;quot;;
			zephyr,code = &amp;lt;INPUT_KEY_1&amp;gt;;
		};
		button4: button_c: button_4 {
			gpios = &amp;lt;&amp;amp;gpio0 4 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)&amp;gt;;
			label = &amp;quot;Center Button&amp;quot;;
			zephyr,code = &amp;lt;INPUT_KEY_2&amp;gt;;
		};
    };
};

&amp;amp;adc {
	#address-cells = &amp;lt;1&amp;gt;;
	#size-cells = &amp;lt;0&amp;gt;;
	label = &amp;quot;Joystick ADC&amp;quot;;

	channel@0 {
		reg = &amp;lt;0&amp;gt;;
		zephyr,gain = &amp;quot;ADC_GAIN_1&amp;quot;;
		zephyr,reference = &amp;quot;ADC_REF_INTERNAL&amp;quot;;
		zephyr,acquisition-time = &amp;lt;ADC_ACQ_TIME_DEFAULT&amp;gt;;
		zephyr,input-positive = &amp;lt;NRF_SAADC_AIN0&amp;gt;; /* P1.04 */
		zephyr,resolution = &amp;lt;12&amp;gt;;
		zephyr,oversampling = &amp;lt;8&amp;gt;;
	};

	channel@1 {
		reg = &amp;lt;1&amp;gt;;
		zephyr,gain = &amp;quot;ADC_GAIN_1&amp;quot;;
		zephyr,reference = &amp;quot;ADC_REF_INTERNAL&amp;quot;;
		zephyr,acquisition-time = &amp;lt;ADC_ACQ_TIME_DEFAULT&amp;gt;;
		zephyr,input-positive = &amp;lt;NRF_SAADC_AIN1&amp;gt;; /* P1.05 */
		zephyr,resolution = &amp;lt;12&amp;gt;;
		zephyr,oversampling = &amp;lt;8&amp;gt;;
	};
};

&amp;amp;i2c21 {
	compatible = &amp;quot;nordic,nrf-twim&amp;quot;;
	status = &amp;quot;okay&amp;quot;;
	pinctrl-0 = &amp;lt;&amp;amp;i2c21_default&amp;gt;;
	pinctrl-1 = &amp;lt;&amp;amp;i2c21_sleep&amp;gt;;
	pinctrl-names = &amp;quot;default&amp;quot;, &amp;quot;sleep&amp;quot;;
	clock-frequency = &amp;lt;I2C_BITRATE_FAST&amp;gt;;

	lsm6ds3tr_c: lsm6ds3tr-c@6a {
		compatible = &amp;quot;st,lsm6dsl&amp;quot;;
		reg = &amp;lt;0x6a&amp;gt;;
		irq-gpios = &amp;lt;&amp;amp;gpio1 6 GPIO_ACTIVE_HIGH&amp;gt;;
		status = &amp;quot;okay&amp;quot;;
	};

    ssd1306@3c {
        compatible = &amp;quot;solomon,ssd1306fb&amp;quot;;
        reg = &amp;lt;0x3c&amp;gt;;
        label = &amp;quot;SSD1306&amp;quot;;
        height = &amp;lt;64&amp;gt;;
        width  = &amp;lt;128&amp;gt;;
        segment-offset  = &amp;lt;0&amp;gt;;
        page-offset     = &amp;lt;0&amp;gt;;
        display-offset  = &amp;lt;0&amp;gt;;
        multiplex-ratio = &amp;lt;63&amp;gt;;
        prechargep      = &amp;lt;0x22&amp;gt;;
        segment-remap;
        com-invdir;
        com-sequential;
		reset-gpios = &amp;lt;&amp;amp;gpio1 3 GPIO_ACTIVE_HIGH&amp;gt;;
		status = &amp;quot;okay&amp;quot;;
    };
};

&amp;amp;gpio0 {
    status = &amp;quot;okay&amp;quot;;
};

&amp;amp;gpio1 {
    status = &amp;quot;okay&amp;quot;;
};

&amp;amp;gpio2 {
    status = &amp;quot;okay&amp;quot;;
};

&amp;amp;uart20 {
	status = &amp;quot;disabled&amp;quot;;
};

&amp;amp;uart00 {
	status = &amp;quot;okay&amp;quot;;
	pinctrl-0 = &amp;lt; &amp;amp;uart00_default &amp;gt;;
	pinctrl-1 = &amp;lt; &amp;amp;uart00_sleep &amp;gt;;
	pinctrl-names = &amp;quot;default&amp;quot;, &amp;quot;sleep&amp;quot;;
	current-speed = &amp;lt; 115200 &amp;gt;;
	// endtx-stoptx-supported;
	// frame-timeout-supported;
	// /delete-property/ endtx-stoptx-supported;
	// /delete-property/ frame-timeout-supported;
};

&amp;amp;uart30 {
	status = &amp;quot;disabled&amp;quot;;
};


// Disable NFC
&amp;amp;uicr {
	nfct-pins-as-gpios;
};

// SD Card
&amp;amp;spi00 {
	status = &amp;quot;disabled&amp;quot;;

	/delete-node/ mx25r64;
};

&amp;amp;spi20 {
	status = &amp;quot;okay&amp;quot;;
	cs-gpios = &amp;lt;&amp;amp;gpio2 10 GPIO_ACTIVE_LOW&amp;gt;;
	pinctrl-0 = &amp;lt; &amp;amp;spi20_default &amp;gt;;
	pinctrl-1 = &amp;lt; &amp;amp;spi20_sleep &amp;gt;;
	pinctrl-names = &amp;quot;default&amp;quot;, &amp;quot;sleep&amp;quot;;

	// SDHC
	sdhc0: sdhc@0 {
		compatible = &amp;quot;zephyr,sdhc-spi-slot&amp;quot;;
		reg = &amp;lt;0&amp;gt;;
		status = &amp;quot;okay&amp;quot;;
		label = &amp;quot;SDHC0&amp;quot;;
		spi-max-frequency = &amp;lt;8000000&amp;gt;;
	};
};

// Define Pins
&amp;amp;pinctrl {
	i2c21_default: i2c21_default {
		group1 {
			psels = &amp;lt;NRF_PSEL(TWIM_SDA, 2, 0)&amp;gt;,
					&amp;lt;NRF_PSEL(TWIM_SCL, 2, 1)&amp;gt;;
			bias-pull-up;
			nordic,drive-mode = &amp;lt;NRF_DRIVE_S0D1&amp;gt;;				
		};
	};
	i2c21_sleep: i2c21_sleep {
		group1 {
			psels = &amp;lt;NRF_PSEL(TWIM_SDA, 2, 0)&amp;gt;,
				&amp;lt;NRF_PSEL(TWIM_SCL, 2, 1)&amp;gt;;
			low-power-enable;
		};
	};	

	uart00_default: uart00_default {
		group1 {
			psels = &amp;lt;NRF_PSEL(UART_TX, 2, 2)&amp;gt;;
		};
		group2 {
			psels = &amp;lt;NRF_PSEL(UART_RX, 2, 7)&amp;gt;;
			bias-pull-up;
		};
	};
	uart00_sleep: uart00_sleep {
		group1 {
			psels = &amp;lt;NRF_PSEL(UART_TX, 2, 2)&amp;gt;,
					&amp;lt;NRF_PSEL(UART_RX, 2, 7)&amp;gt;;
			low-power-enable;
		};
	};


	spi20_default: spi20_default {
		group1 {
			psels = &amp;lt;NRF_PSEL(SPIM_SCK, 2, 6)&amp;gt;,
					&amp;lt;NRF_PSEL(SPIM_MISO, 2, 9)&amp;gt;,
					&amp;lt;NRF_PSEL(SPIM_MOSI, 2, 8)&amp;gt;;
		};
	};
	spi20_sleep: spi20_sleep {
		group1 {
			psels = &amp;lt;NRF_PSEL(SPIM_SCK, 2, 6)&amp;gt;,
					&amp;lt;NRF_PSEL(SPIM_MISO, 2, 9)&amp;gt;,
					&amp;lt;NRF_PSEL(SPIM_MOSI, 2, 8)&amp;gt;;
			low-power-enable;
		};
	};
};&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L15 UART20 on non-standard pins results in garbage data</title><link>https://devzone.nordicsemi.com/thread/541689?ContentTypeID=1</link><pubDate>Mon, 07 Jul 2025 18:31:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:53b3b1e1-9820-43f8-8a12-8b0b864ad328</guid><dc:creator>amovitz</dc:creator><description>&lt;p&gt;So if I&amp;#39;m reading the pin assignment table correctly, pins on P2 have special dedications. Should I make the following changes to correctly assign with the power domain constraints?&lt;br /&gt;&lt;span style="font-family:courier new, courier;"&gt;UART20&lt;br /&gt;TXD&amp;nbsp; -&amp;gt; P2.02 (no change)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;"&gt;RXD&amp;nbsp; -&amp;gt; P2.07&lt;br /&gt;SPI00/SDHC&lt;/span&gt;&lt;span style="font-family:courier new, courier;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;"&gt;CLK&amp;nbsp; -&amp;gt; P2.06 (no change)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;"&gt;MISO -&amp;gt; P2.08&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;"&gt;MOSI -&amp;gt; P2.09&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new, courier;"&gt;CS&amp;nbsp;&amp;nbsp; -&amp;gt; P2.10&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="max-height:640px;max-width:287px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/574x1280/__key/communityserver-discussions-components-files/4/Screenshot-From-2025_2D00_07_2D00_07-11_2D00_03_2D00_43.png" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I tried these changes and stopped getting clobbered output only when I changed from a logging thread to an immediate log mode, but I still don&amp;#39;t get any feedback on RXD, even on P2.07.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;/*
 * Copyright (c) 2025 Alex Movitz
 *
 * SPDX-License-Identifier: N/A
 */

/ {
	model = &amp;quot;Smart Dental Probe&amp;quot;;
	compatible = &amp;quot;nordic,nrf54l15dk_nrf54l15-cpuapp&amp;quot;;

	zephyr,user {
		io-channels = &amp;lt;&amp;amp;adc 0&amp;gt;, &amp;lt;&amp;amp;adc 1&amp;gt;;
	};

	// Remove nodes added in dev kit dtsi
    /delete-node/ aliases;
    /delete-node/ chosen;
	/delete-node/ leds;
    /delete-node/ pwmleds;

    aliases {
		watchdog0 = &amp;amp;wdt31;
        vibrator = &amp;amp;vibrator;
        buzzer = &amp;amp;buzzer;
		sw0 = &amp;amp;button0;
		sw1 = &amp;amp;button1;
		sw2 = &amp;amp;button2;
		sw3 = &amp;amp;button3;
		sw4 = &amp;amp;button4;
		joystick = &amp;amp;adc;
    };

	chosen {
		zephyr,bt-hci = &amp;amp;bt_hci_controller;
		zephyr,entropy = &amp;amp;rng;
		zephyr,console = &amp;amp;uart20;
		zephyr,shell-uart = &amp;amp;uart20;
		zephyr,uart-mcumgr = &amp;amp;uart20;
		zephyr,flash-controller = &amp;amp;rram_controller;
		zephyr,flash = &amp;amp;cpuapp_rram;
		zephyr,code-partition = &amp;amp;slot0_partition;
		zephyr,sram = &amp;amp;cpuapp_sram;
	};

	output: out0 {
		compatible = &amp;quot;gpio-leds&amp;quot;;
		status = &amp;quot;okay&amp;quot;;
	
		vibrator: vibrator {
			gpios = &amp;lt;&amp;amp;gpio1 10 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)&amp;gt;;
			label = &amp;quot;VIBRATOR&amp;quot;;
		};
	
		buzzer: buzzer {
			gpios = &amp;lt;&amp;amp;gpio1 9 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)&amp;gt;;
			label = &amp;quot;BUZZER&amp;quot;;
		};
	};

    buttons: buttons {
        compatible = &amp;quot;gpio-keys&amp;quot;;
        status = &amp;quot;okay&amp;quot;;
		button_t_f: button_0 {
			gpios = &amp;lt;&amp;amp;gpio0 0 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)&amp;gt;;
			label = &amp;quot;Top Front Button&amp;quot;;
			zephyr,code = &amp;lt;INPUT_KEY_0&amp;gt;;
		};
		button_t_r: button_1 {
			gpios = &amp;lt;&amp;amp;gpio0 1 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)&amp;gt;;
			label = &amp;quot;Top Rear Button&amp;quot;;
			zephyr,code = &amp;lt;INPUT_KEY_1&amp;gt;;
		};
		button_b_f: button_2 {
			gpios = &amp;lt;&amp;amp;gpio0 2 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)&amp;gt;;
			label = &amp;quot;Bottom Front Button&amp;quot;;
			zephyr,code = &amp;lt;INPUT_KEY_0&amp;gt;;
		};
		button_b_r: button_3 {
			gpios = &amp;lt;&amp;amp;gpio0 3 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)&amp;gt;;
			label = &amp;quot;Bottom Rear Button&amp;quot;;
			zephyr,code = &amp;lt;INPUT_KEY_1&amp;gt;;
		};
		button4: button_c: button_4 {
			gpios = &amp;lt;&amp;amp;gpio0 4 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)&amp;gt;;
			label = &amp;quot;Center Button&amp;quot;;
			zephyr,code = &amp;lt;INPUT_KEY_2&amp;gt;;
		};
    };
};

&amp;amp;adc {
	#address-cells = &amp;lt;1&amp;gt;;
	#size-cells = &amp;lt;0&amp;gt;;
	label = &amp;quot;Joystick ADC&amp;quot;;

	channel@0 {
		reg = &amp;lt;0&amp;gt;;
		zephyr,gain = &amp;quot;ADC_GAIN_1&amp;quot;;
		zephyr,reference = &amp;quot;ADC_REF_INTERNAL&amp;quot;;
		zephyr,acquisition-time = &amp;lt;ADC_ACQ_TIME_DEFAULT&amp;gt;;
		zephyr,input-positive = &amp;lt;NRF_SAADC_AIN0&amp;gt;; /* P1.04 */
		zephyr,resolution = &amp;lt;12&amp;gt;;
		zephyr,oversampling = &amp;lt;8&amp;gt;;
	};

	channel@1 {
		reg = &amp;lt;1&amp;gt;;
		zephyr,gain = &amp;quot;ADC_GAIN_1&amp;quot;;
		zephyr,reference = &amp;quot;ADC_REF_INTERNAL&amp;quot;;
		zephyr,acquisition-time = &amp;lt;ADC_ACQ_TIME_DEFAULT&amp;gt;;
		zephyr,input-positive = &amp;lt;NRF_SAADC_AIN1&amp;gt;; /* P1.05 */
		zephyr,resolution = &amp;lt;12&amp;gt;;
		zephyr,oversampling = &amp;lt;8&amp;gt;;
	};
};

&amp;amp;i2c21 {
	compatible = &amp;quot;nordic,nrf-twim&amp;quot;;
	status = &amp;quot;okay&amp;quot;;
	pinctrl-0 = &amp;lt;&amp;amp;i2c21_default&amp;gt;;
	pinctrl-1 = &amp;lt;&amp;amp;i2c21_sleep&amp;gt;;
	pinctrl-names = &amp;quot;default&amp;quot;, &amp;quot;sleep&amp;quot;;
	clock-frequency = &amp;lt;I2C_BITRATE_FAST&amp;gt;;

	lsm6ds3tr_c: lsm6ds3tr-c@6a {
		compatible = &amp;quot;st,lsm6dsl&amp;quot;;
		reg = &amp;lt;0x6a&amp;gt;;
		irq-gpios = &amp;lt;&amp;amp;gpio1 6 GPIO_ACTIVE_HIGH&amp;gt;;
		status = &amp;quot;okay&amp;quot;;
	};

    ssd1306@3c {
        compatible = &amp;quot;solomon,ssd1306fb&amp;quot;;
        reg = &amp;lt;0x3c&amp;gt;;
        label = &amp;quot;SSD1306&amp;quot;;
        height = &amp;lt;64&amp;gt;;
        width  = &amp;lt;128&amp;gt;;
        segment-offset  = &amp;lt;0&amp;gt;;
        page-offset     = &amp;lt;0&amp;gt;;
        display-offset  = &amp;lt;0&amp;gt;;
        multiplex-ratio = &amp;lt;63&amp;gt;;
        prechargep      = &amp;lt;0x22&amp;gt;;
        segment-remap;
        com-invdir;
        com-sequential;
		reset-gpios = &amp;lt;&amp;amp;gpio1 3 GPIO_ACTIVE_HIGH&amp;gt;;
		status = &amp;quot;okay&amp;quot;;
    };
};

&amp;amp;gpio0 {
    status = &amp;quot;okay&amp;quot;;
};

&amp;amp;gpio1 {
    status = &amp;quot;okay&amp;quot;;
};

&amp;amp;gpio2 {
    status = &amp;quot;okay&amp;quot;;
};

&amp;amp;uart20 {
	status = &amp;quot;okay&amp;quot;;
	pinctrl-0 = &amp;lt; &amp;amp;uart20_default &amp;gt;;
	pinctrl-1 = &amp;lt; &amp;amp;uart20_sleep &amp;gt;;
	pinctrl-names = &amp;quot;default&amp;quot;, &amp;quot;sleep&amp;quot;;
	current-speed = &amp;lt; 115200 &amp;gt;;
	// endtx-stoptx-supported;
	// frame-timeout-supported;
	// /delete-property/ endtx-stoptx-supported;
	// /delete-property/ frame-timeout-supported;
};

&amp;amp;uart30 {
	status = &amp;quot;disabled&amp;quot;;
};


// Disable NFC
&amp;amp;uicr {
	nfct-pins-as-gpios;
};

// SD Card
&amp;amp;spi00 {
	status = &amp;quot;okay&amp;quot;;
	cs-gpios = &amp;lt;&amp;amp;gpio2 10 GPIO_ACTIVE_LOW&amp;gt;;
	pinctrl-0 = &amp;lt; &amp;amp;spi00_default &amp;gt;;
	pinctrl-1 = &amp;lt; &amp;amp;spi00_sleep &amp;gt;;

	// Disable SPI NOR
	mx25r64: mx25r6435f@0 {
		status = &amp;quot;disabled&amp;quot;;
	};

	// SDHC
	sdhc0: sdhc@0 {
		compatible = &amp;quot;zephyr,sdhc-spi-slot&amp;quot;;
		reg = &amp;lt;0&amp;gt;;
		status = &amp;quot;okay&amp;quot;;
		label = &amp;quot;SDHC0&amp;quot;;
		spi-max-frequency = &amp;lt;8000000&amp;gt;;
	};
};

// Define Pins
&amp;amp;pinctrl {
	i2c21_default: i2c21_default {
		group1 {
			psels = &amp;lt;NRF_PSEL(TWIM_SDA, 2, 0)&amp;gt;,
					&amp;lt;NRF_PSEL(TWIM_SCL, 2, 1)&amp;gt;;
			bias-pull-up;
			nordic,drive-mode = &amp;lt;NRF_DRIVE_S0D1&amp;gt;;				
		};
	};
	i2c21_sleep: i2c21_sleep {
		group1 {
			psels = &amp;lt;NRF_PSEL(TWIM_SDA, 2, 0)&amp;gt;,
				&amp;lt;NRF_PSEL(TWIM_SCL, 2, 1)&amp;gt;;
			low-power-enable;
		};
	};	

	uart20_default: uart20_default {
		group1 {
			psels = &amp;lt;NRF_PSEL(UART_TX, 2, 2)&amp;gt;;
		};
		group2 {
			psels = &amp;lt;NRF_PSEL(UART_RX, 2, 7)&amp;gt;;
			bias-pull-up;
		};
	};
	uart20_sleep: uart20_sleep {
		group1 {
			psels = &amp;lt;NRF_PSEL(UART_TX, 2, 2)&amp;gt;,
					&amp;lt;NRF_PSEL(UART_RX, 2, 7)&amp;gt;;
			low-power-enable;
		};
	};


	spi00_default: spi00_default {
		group1 {
			psels = &amp;lt;NRF_PSEL(SPIM_SCK, 2, 6)&amp;gt;,
					&amp;lt;NRF_PSEL(SPIM_MISO, 2, 9)&amp;gt;,
					&amp;lt;NRF_PSEL(SPIM_MOSI, 2, 8)&amp;gt;;
		};
	};
	spi00_sleep: spi00_sleep {
		group1 {
			psels = &amp;lt;NRF_PSEL(SPIM_SCK, 2, 6)&amp;gt;,
					&amp;lt;NRF_PSEL(SPIM_MISO, 2, 9)&amp;gt;,
					&amp;lt;NRF_PSEL(SPIM_MOSI, 2, 8)&amp;gt;;
			low-power-enable;
		};
	};
};&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;CONFIG_LOG_MODE_IMMEDIATE=y
CONFIG_LOG_MODE_OVERFLOW=n
# CONFIG_LOG_PROCESS_TRIGGER_THRESHOLD=10
# CONFIG_LOG_PROCESS_THREAD=y
# CONFIG_LOG_PROCESS_THREAD_SLEEP_MS=1000
# CONFIG_LOG_PROCESS_THREAD_STACK_SIZE=768
# CONFIG_LOG_BUFFER_SIZE=1024&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L15 UART20 on non-standard pins results in garbage data</title><link>https://devzone.nordicsemi.com/thread/541645?ContentTypeID=1</link><pubDate>Mon, 07 Jul 2025 13:55:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f1879ddd-6757-485c-ba62-a9b8572df63d</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Please refer to the documentation on &lt;a href="https://docs.nordicsemi.com/bundle/ps_nrf54L15/page/chapters/pin.html#ariaid-title2"&gt;Dedicated pins&lt;/a&gt; and &lt;a href="https://docs.nordicsemi.com/bundle/ps_nrf54L15/page/chapters/pin.html#d383e188"&gt;Cross power-domain use&lt;/a&gt;&amp;nbsp;and the relevant pin assignment table for your package variant. Sorry that this was so short, I&amp;#39;ll be able to elaborate later if the linked documentation is not enough.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Maria&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>