Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Building dtb from src/sys/arch/arm/dts



I'm working on writing a dts for the Olimex Teres laptop, but I'm
having trouble compiling it with dtc by hand. I'm very new to
NetBSD, so what is the recommended way to build a dtb?
Here is what I have so far, but I can't provide a dmesg as I haven't
tested it yet (though I took most of it from the pinebook and linux
dts):

/* $NetBSD: sun50i-a64-pinebook.dts,v 1.16 2019/06/06 23:19:45 jmcneill Exp $ */

/*-
 * Copyright (c) 2017-2019 Jared McNeill <jmcneill%invisible.ca@localhost>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 */

#include "../../../external/gpl2/dts/dist/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts"
#include "sun50i-a64.dtsi"

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/linux-event-codes.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/pwm/pwm.h>

/ {
	chosen {
		framebuffer@0 {
			allwinner,pipeline = "mixer0-lcd0";
		};
	};
};

&cpu0 {
	cpu-supply = <&reg_dcdc2>;
	operating-points = <
		/* kHz    uV */
		1152000 1300000
		1104000 1260000
		1008000 1200000
		816000  1080000
		648000	1040000
		408000	1000000
		>;
};

&spdif_out {
	status = "disabled";
};

&de {
	status = "okay";
};

&mixer0 {
	status = "okay";
};

&pio {
	lcd_rgb666_pins: lcd-rgb666 {
		pins = "PD0", "PD1", "PD2", "PD3", "PD4",
		       "PD5", "PD6", "PD7", "PD8", "PD9",
		       "PD10", "PD11", "PD12", "PD13",
		       "PD14", "PD15", "PD16", "PD17",
		       "PD18", "PD19", "PD20", "PD21";
		function = "lcd0";
	};
};

&tcon0 {
	pinctrl-names = "default";
	pinctrl-0 = <&lcd_rgb666_pins>;

	status = "okay";
};

&tcon0_out {
	tcon0_out_anx6345: endpoint@0 {
		reg = <0>;
		remote-endpoint = <&anx6345_in>;
	};
};

&i2c0 {
        clock-frequency = <100000>;
        status = "okay";

        anx6345: anx6345@38 {
                compatible = "analogix,anx6345";
                reg = <0x38>;
                reset-gpios = <&pio 3 24 GPIO_ACTIVE_LOW>; /* PD24 */
                dvdd25-supply = <&reg_dldo2>;
                dvdd12-supply = <&reg_dldo3>;

                ports {
                        #address-cells = <1>;
                        #size-cells = <0>;

                        port@0 {
                                anx6345_in: endpoint {
					remote-endpoint = <&tcon0_out_anx6345>;
                                };
                        };
                };
        };
};

-- 
ioh


Home | Main Index | Thread Index | Old Index