ramips/mt7621: create common DTSI for Mikrotik devices
This moves some common definitions for Mikrotik devices, mainly routerboot partitions and reset key, to a common DTSI file. While at it, remove unused hard_config DT label. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This commit is contained in:
		
							
								
								
									
										72
									
								
								target/linux/ramips/dts/mt7621_mikrotik.dtsi
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								target/linux/ramips/dts/mt7621_mikrotik.dtsi
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,72 @@
 | 
				
			|||||||
 | 
					// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "mt7621.dtsi"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <dt-bindings/input/input.h>
 | 
				
			||||||
 | 
					#include <dt-bindings/gpio/gpio.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/ {
 | 
				
			||||||
 | 
						chosen {
 | 
				
			||||||
 | 
							bootargs = "console=ttyS0,115200";
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						keys: keys {
 | 
				
			||||||
 | 
							compatible = "gpio-keys";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							reset {
 | 
				
			||||||
 | 
								label = "reset";
 | 
				
			||||||
 | 
								gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
 | 
				
			||||||
 | 
								linux,code = <KEY_RESTART>;
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&spi0 {
 | 
				
			||||||
 | 
						status = "okay";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						flash@0 {
 | 
				
			||||||
 | 
							compatible = "jedec,spi-nor";
 | 
				
			||||||
 | 
							reg = <0>;
 | 
				
			||||||
 | 
							spi-max-frequency = <33000000>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							partitions: partitions {
 | 
				
			||||||
 | 
								compatible = "fixed-partitions";
 | 
				
			||||||
 | 
								#address-cells = <1>;
 | 
				
			||||||
 | 
								#size-cells = <1>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								partition@0 {
 | 
				
			||||||
 | 
									label = "RouterBoot";
 | 
				
			||||||
 | 
									reg = <0x0 0x40000>;
 | 
				
			||||||
 | 
									read-only;
 | 
				
			||||||
 | 
									compatible = "mikrotik,routerboot-partitions";
 | 
				
			||||||
 | 
									#address-cells = <1>;
 | 
				
			||||||
 | 
									#size-cells = <1>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									partition@0 {
 | 
				
			||||||
 | 
										label = "bootloader1";
 | 
				
			||||||
 | 
										reg = <0x0 0x0>;
 | 
				
			||||||
 | 
										read-only;
 | 
				
			||||||
 | 
									};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									hard_config {
 | 
				
			||||||
 | 
										read-only;
 | 
				
			||||||
 | 
									};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									partition@10000 {
 | 
				
			||||||
 | 
										label = "bootloader2";
 | 
				
			||||||
 | 
										reg = <0x10000 0xf000>;
 | 
				
			||||||
 | 
										read-only;
 | 
				
			||||||
 | 
									};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									soft_config {
 | 
				
			||||||
 | 
									};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									partition@30000 {
 | 
				
			||||||
 | 
										label = "bios";
 | 
				
			||||||
 | 
										reg = <0x30000 0x1000>;
 | 
				
			||||||
 | 
										read-only;
 | 
				
			||||||
 | 
									};
 | 
				
			||||||
 | 
								};
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
@@ -1,10 +1,7 @@
 | 
				
			|||||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 | 
					// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 | 
				
			||||||
/dts-v1/;
 | 
					/dts-v1/;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "mt7621.dtsi"
 | 
					#include "mt7621_mikrotik.dtsi"
 | 
				
			||||||
 | 
					 | 
				
			||||||
#include <dt-bindings/input/input.h>
 | 
					 | 
				
			||||||
#include <dt-bindings/gpio/gpio.h>
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/ {
 | 
					/ {
 | 
				
			||||||
	compatible = "mikrotik,routerboard-750gr3", "mediatek,mt7621-soc";
 | 
						compatible = "mikrotik,routerboard-750gr3", "mediatek,mt7621-soc";
 | 
				
			||||||
@@ -17,10 +14,6 @@
 | 
				
			|||||||
		led-upgrade = &led_usr;
 | 
							led-upgrade = &led_usr;
 | 
				
			||||||
	};
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	chosen {
 | 
					 | 
				
			||||||
		bootargs = "console=ttyS0,115200";
 | 
					 | 
				
			||||||
	};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	leds {
 | 
						leds {
 | 
				
			||||||
		compatible = "gpio-leds";
 | 
							compatible = "gpio-leds";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -36,22 +29,6 @@
 | 
				
			|||||||
		};
 | 
							};
 | 
				
			||||||
	};
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	keys {
 | 
					 | 
				
			||||||
		compatible = "gpio-keys";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		mode {
 | 
					 | 
				
			||||||
			label = "mode";
 | 
					 | 
				
			||||||
			gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
 | 
					 | 
				
			||||||
			linux,code = <BTN_0>;
 | 
					 | 
				
			||||||
		};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		reset {
 | 
					 | 
				
			||||||
			label = "reset";
 | 
					 | 
				
			||||||
			gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
 | 
					 | 
				
			||||||
			linux,code = <KEY_RESTART>;
 | 
					 | 
				
			||||||
		};
 | 
					 | 
				
			||||||
	};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	gpio_export {
 | 
						gpio_export {
 | 
				
			||||||
		compatible = "gpio-export";
 | 
							compatible = "gpio-export";
 | 
				
			||||||
		#size-cells = <0>;
 | 
							#size-cells = <0>;
 | 
				
			||||||
@@ -71,59 +48,19 @@
 | 
				
			|||||||
	};
 | 
						};
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
&spi0 {
 | 
					&keys {
 | 
				
			||||||
	status = "okay";
 | 
						mode {
 | 
				
			||||||
 | 
							label = "mode";
 | 
				
			||||||
 | 
							gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
 | 
				
			||||||
 | 
							linux,code = <BTN_0>;
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	flash@0 {
 | 
					&partitions {
 | 
				
			||||||
		compatible = "jedec,spi-nor";
 | 
						partition@40000 {
 | 
				
			||||||
		reg = <0>;
 | 
							compatible = "mikrotik,minor";
 | 
				
			||||||
		spi-max-frequency = <20000000>;
 | 
							label = "firmware";
 | 
				
			||||||
 | 
							reg = <0x040000 0xfc0000>;
 | 
				
			||||||
		partitions {
 | 
					 | 
				
			||||||
			compatible = "fixed-partitions";
 | 
					 | 
				
			||||||
			#address-cells = <1>;
 | 
					 | 
				
			||||||
			#size-cells = <1>;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
			partition@0 {
 | 
					 | 
				
			||||||
				label = "RouterBoot";
 | 
					 | 
				
			||||||
				reg = <0x0 0x40000>;
 | 
					 | 
				
			||||||
				read-only;
 | 
					 | 
				
			||||||
				compatible = "mikrotik,routerboot-partitions";
 | 
					 | 
				
			||||||
				#address-cells = <1>;
 | 
					 | 
				
			||||||
				#size-cells = <1>;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				partition@0 {
 | 
					 | 
				
			||||||
					label = "bootloader1";
 | 
					 | 
				
			||||||
					reg = <0x0 0x0>;
 | 
					 | 
				
			||||||
					read-only;
 | 
					 | 
				
			||||||
				};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				hard_config: hard_config {
 | 
					 | 
				
			||||||
					read-only;
 | 
					 | 
				
			||||||
				};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				partition@10000 {
 | 
					 | 
				
			||||||
					label = "bootloader2";
 | 
					 | 
				
			||||||
					reg = <0x10000 0xf000>;
 | 
					 | 
				
			||||||
					read-only;
 | 
					 | 
				
			||||||
				};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				soft_config {
 | 
					 | 
				
			||||||
				};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				partition@30000 {
 | 
					 | 
				
			||||||
					label = "bios";
 | 
					 | 
				
			||||||
					reg = <0x30000 0x1000>;
 | 
					 | 
				
			||||||
					read-only;
 | 
					 | 
				
			||||||
				};
 | 
					 | 
				
			||||||
			};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
			partition@40000 {
 | 
					 | 
				
			||||||
				compatible = "mikrotik,minor";
 | 
					 | 
				
			||||||
				label = "firmware";
 | 
					 | 
				
			||||||
				reg = <0x040000 0xfc0000>;
 | 
					 | 
				
			||||||
			};
 | 
					 | 
				
			||||||
		};
 | 
					 | 
				
			||||||
	};
 | 
						};
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,9 +1,6 @@
 | 
				
			|||||||
/dts-v1/;
 | 
					/dts-v1/;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "mt7621.dtsi"
 | 
					#include "mt7621_mikrotik.dtsi"
 | 
				
			||||||
 | 
					 | 
				
			||||||
#include <dt-bindings/input/input.h>
 | 
					 | 
				
			||||||
#include <dt-bindings/gpio/gpio.h>
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/ {
 | 
					/ {
 | 
				
			||||||
	compatible = "mikrotik,routerboard-m11g", "mediatek,mt7621-soc";
 | 
						compatible = "mikrotik,routerboard-m11g", "mediatek,mt7621-soc";
 | 
				
			||||||
@@ -16,10 +13,6 @@
 | 
				
			|||||||
		led-upgrade = &led_usr;
 | 
							led-upgrade = &led_usr;
 | 
				
			||||||
	};
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	chosen {
 | 
					 | 
				
			||||||
		bootargs = "console=ttyS0,115200";
 | 
					 | 
				
			||||||
	};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	leds {
 | 
						leds {
 | 
				
			||||||
		compatible = "gpio-leds";
 | 
							compatible = "gpio-leds";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -54,16 +47,6 @@
 | 
				
			|||||||
		};
 | 
							};
 | 
				
			||||||
	};
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	keys {
 | 
					 | 
				
			||||||
		compatible = "gpio-keys";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		res {
 | 
					 | 
				
			||||||
			label = "reset";
 | 
					 | 
				
			||||||
			gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
 | 
					 | 
				
			||||||
			linux,code = <KEY_RESTART>;
 | 
					 | 
				
			||||||
		};
 | 
					 | 
				
			||||||
	};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	pcie0_vcc_reg {
 | 
						pcie0_vcc_reg {
 | 
				
			||||||
		compatible = "regulator-fixed";
 | 
							compatible = "regulator-fixed";
 | 
				
			||||||
		regulator-name = "pcie0_vcc";
 | 
							regulator-name = "pcie0_vcc";
 | 
				
			||||||
@@ -77,59 +60,11 @@
 | 
				
			|||||||
	};
 | 
						};
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
&spi0 {
 | 
					&partitions {
 | 
				
			||||||
	status = "okay";
 | 
						partition@40000 {
 | 
				
			||||||
 | 
							compatible = "mikrotik,minor";
 | 
				
			||||||
	flash@0 {
 | 
							label = "firmware";
 | 
				
			||||||
		compatible = "jedec,spi-nor";
 | 
							reg = <0x040000 0xfc0000>;
 | 
				
			||||||
		reg = <0>;
 | 
					 | 
				
			||||||
		spi-max-frequency = <33000000>;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		partitions {
 | 
					 | 
				
			||||||
			compatible = "fixed-partitions";
 | 
					 | 
				
			||||||
			#address-cells = <1>;
 | 
					 | 
				
			||||||
			#size-cells = <1>;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
			partition@0 {
 | 
					 | 
				
			||||||
				label = "RouterBoot";
 | 
					 | 
				
			||||||
				reg = <0x0 0x40000>;
 | 
					 | 
				
			||||||
				read-only;
 | 
					 | 
				
			||||||
				compatible = "mikrotik,routerboot-partitions";
 | 
					 | 
				
			||||||
				#address-cells = <1>;
 | 
					 | 
				
			||||||
				#size-cells = <1>;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				partition@0 {
 | 
					 | 
				
			||||||
					label = "bootloader1";
 | 
					 | 
				
			||||||
					reg = <0x0 0x0>;
 | 
					 | 
				
			||||||
					read-only;
 | 
					 | 
				
			||||||
				};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				hard_config: hard_config {
 | 
					 | 
				
			||||||
					read-only;
 | 
					 | 
				
			||||||
				};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				partition@10000 {
 | 
					 | 
				
			||||||
					label = "bootloader2";
 | 
					 | 
				
			||||||
					reg = <0x10000 0xf000>;
 | 
					 | 
				
			||||||
					read-only;
 | 
					 | 
				
			||||||
				};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				soft_config {
 | 
					 | 
				
			||||||
				};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				partition@30000 {
 | 
					 | 
				
			||||||
					label = "bios";
 | 
					 | 
				
			||||||
					reg = <0x30000 0x1000>;
 | 
					 | 
				
			||||||
					read-only;
 | 
					 | 
				
			||||||
				};
 | 
					 | 
				
			||||||
			};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
			partition@40000 {
 | 
					 | 
				
			||||||
				compatible = "mikrotik,minor";
 | 
					 | 
				
			||||||
				label = "firmware";
 | 
					 | 
				
			||||||
				reg = <0x040000 0xFC0000>;
 | 
					 | 
				
			||||||
			};
 | 
					 | 
				
			||||||
		};
 | 
					 | 
				
			||||||
	};
 | 
						};
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,9 +1,6 @@
 | 
				
			|||||||
/dts-v1/;
 | 
					/dts-v1/;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "mt7621.dtsi"
 | 
					#include "mt7621_mikrotik.dtsi"
 | 
				
			||||||
 | 
					 | 
				
			||||||
#include <dt-bindings/input/input.h>
 | 
					 | 
				
			||||||
#include <dt-bindings/gpio/gpio.h>
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/ {
 | 
					/ {
 | 
				
			||||||
	compatible = "mikrotik,routerboard-m33g", "mediatek,mt7621-soc";
 | 
						compatible = "mikrotik,routerboard-m33g", "mediatek,mt7621-soc";
 | 
				
			||||||
@@ -16,10 +13,6 @@
 | 
				
			|||||||
		led-upgrade = &led_usr;
 | 
							led-upgrade = &led_usr;
 | 
				
			||||||
	};
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	chosen {
 | 
					 | 
				
			||||||
		bootargs = "console=ttyS0,115200";
 | 
					 | 
				
			||||||
	};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	leds {
 | 
						leds {
 | 
				
			||||||
		compatible = "gpio-leds";
 | 
							compatible = "gpio-leds";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -29,16 +22,6 @@
 | 
				
			|||||||
		};
 | 
							};
 | 
				
			||||||
	};
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	keys {
 | 
					 | 
				
			||||||
		compatible = "gpio-keys";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		res {
 | 
					 | 
				
			||||||
			label = "res";
 | 
					 | 
				
			||||||
			gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
 | 
					 | 
				
			||||||
			linux,code = <KEY_RESTART>;
 | 
					 | 
				
			||||||
		};
 | 
					 | 
				
			||||||
	};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	pcie0_vcc_reg {
 | 
						pcie0_vcc_reg {
 | 
				
			||||||
		compatible = "regulator-fixed";
 | 
							compatible = "regulator-fixed";
 | 
				
			||||||
		regulator-name = "pcie0_vcc";
 | 
							regulator-name = "pcie0_vcc";
 | 
				
			||||||
@@ -88,54 +71,6 @@
 | 
				
			|||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
&spi0 {
 | 
					&spi0 {
 | 
				
			||||||
	status = "okay";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	flash@0 {
 | 
					 | 
				
			||||||
		compatible = "jedec,spi-nor";
 | 
					 | 
				
			||||||
		reg = <0>;
 | 
					 | 
				
			||||||
		spi-max-frequency = <33000000>;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		partitions {
 | 
					 | 
				
			||||||
			compatible = "fixed-partitions";
 | 
					 | 
				
			||||||
			#address-cells = <1>;
 | 
					 | 
				
			||||||
			#size-cells = <1>;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
			partition@0 {
 | 
					 | 
				
			||||||
				label = "RouterBoot";
 | 
					 | 
				
			||||||
				reg = <0x0 0x40000>;
 | 
					 | 
				
			||||||
				read-only;
 | 
					 | 
				
			||||||
				compatible = "mikrotik,routerboot-partitions";
 | 
					 | 
				
			||||||
				#address-cells = <1>;
 | 
					 | 
				
			||||||
				#size-cells = <1>;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				partition@0 {
 | 
					 | 
				
			||||||
					label = "bootloader1";
 | 
					 | 
				
			||||||
					reg = <0x0 0x0>;
 | 
					 | 
				
			||||||
					read-only;
 | 
					 | 
				
			||||||
				};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				hard_config: hard_config {
 | 
					 | 
				
			||||||
					read-only;
 | 
					 | 
				
			||||||
				};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				partition@10000 {
 | 
					 | 
				
			||||||
					label = "bootloader2";
 | 
					 | 
				
			||||||
					reg = <0x10000 0xf000>;
 | 
					 | 
				
			||||||
					read-only;
 | 
					 | 
				
			||||||
				};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				soft_config {
 | 
					 | 
				
			||||||
				};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				partition@30000 {
 | 
					 | 
				
			||||||
					label = "bios";
 | 
					 | 
				
			||||||
					reg = <0x30000 0x1000>;
 | 
					 | 
				
			||||||
					read-only;
 | 
					 | 
				
			||||||
				};
 | 
					 | 
				
			||||||
			};
 | 
					 | 
				
			||||||
		};
 | 
					 | 
				
			||||||
	};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	flash@1 {
 | 
						flash@1 {
 | 
				
			||||||
		compatible = "jedec,spi-nor";
 | 
							compatible = "jedec,spi-nor";
 | 
				
			||||||
		reg = <1>;
 | 
							reg = <1>;
 | 
				
			||||||
@@ -151,7 +86,7 @@
 | 
				
			|||||||
			partition@40000 {
 | 
								partition@40000 {
 | 
				
			||||||
				compatible = "mikrotik,minor";
 | 
									compatible = "mikrotik,minor";
 | 
				
			||||||
				label = "firmware";
 | 
									label = "firmware";
 | 
				
			||||||
				reg = <0x040000 0xFC0000>;
 | 
									reg = <0x040000 0xfc0000>;
 | 
				
			||||||
			};
 | 
								};
 | 
				
			||||||
		};
 | 
							};
 | 
				
			||||||
	};
 | 
						};
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user